我正在辩论在我的桌子上使用的正常化的数量。
例如,如果我有一个名为players的数据库表,其中包含name, hometown, etc..等列。
其他列是选项bats (右、左或开关)或status (活动,受伤),这些选项显示为单选按钮或下拉列表。
目前,我们的数据库将这些选项存储在自己的表bats和statuses中,我们使用字段bat_id和status_id引用相关的表。
如果bats和statuses表只是存储一个名称和If的列表,并且总是少于10个值,那么我是否应该将数据库扁平化,并直接将值存储在players表中呢?
在为这些字段创建无线电输入时,我可能必须在大型表上执行group by查询。作为app/config/bootstrap.php中的数组或使用配置类,store the possible values globally是否有意义?
发布于 2013-10-15 18:15:54
在我看来,你真的很少会过度使用标准化。我会尽量避免全球性的。
如果您的bats和status表将持有“只”配置或状态键数据,则可以将所有这些数据放在一个表中,通过命名空间访问。
例如:
id | namespace | value
---------------------------
1 | bats | left
2 | bats | right
3 | bats | swing
4 | status | active
5 | status | injured..。等等,你明白了。只需在名称空间上设置一个索引,以帮助数据库--除非实际上只有几行代码行,这样一个体面的DB无论如何都会忽略该索引。
https://stackoverflow.com/questions/19388026
复制相似问题