我有一个表格,其中包含四个通常填写的字段:
`animal`
- id
- type
- name
- weight
- location
如果动物 type
= 'person',则会填写三个附加字段。这种情况发生的概率约为 5%。附加表将是:
`person_additional`
- animal_id (FK)
- IQ
- native_language
- handedness
数据库设计中建议的做法是将其存储在两个表还是一个表中?这对我来说几乎没有什么区别,但我很好奇最佳实践以及为什么一个比另一个更可取。
最佳答案
两个表可能是正确的方法,但我可能建议使用不同的第二个表。我将其定义为:
`animal_additional`
- animal_id (FK)
- Trait (this would enumerate allowable traits)
- value
这会让您更加灵活地为不同类型设置不同特征,甚至为同一类型设置不同特征。
关于mysql - 为通常为空的列建议的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12114982/