0

我正在讨论在我的表格中使用的标准化量。

例如,如果我有一个名为的数据库表players,其中包含name, hometown, etc...

其他列是显示为单选按钮或下拉菜单的选项bats(右、左或切换)或(活动、受伤)。status

目前,我们的数据库将这些选项存储在它们自己的表中batsstatuses并且我们使用字段bat_id和引用相关表status_id

如果batsandstatuses表只是存储名称和 id 的列表并且总是少于 10 个值,我应该展平数据库并将值直接存储在players表中吗?

在为这些字段创建单选输入时,我可能必须group by在大表上执行查询。将可能的值全局存储为 app/config/bootstrap.php 中的数组或使用配置类是否有意义?

4

1 回答 1

0

在我看来,你真的很少过度使用规范化。我会尽可能避免使用全局变量。

如果您的 bats 和 statuses 表将保存“仅”配置或状态键数据,您可以将它们全部放在一个表中,可通过命名空间访问。

例如:

  id | namespace | value
---------------------------
   1 | bats      | left
   2 | bats      | right
   3 | bats      | swing
   4 | status    | active
   5 | status    | injured

...等等,你明白了。只需在命名空间上有一个索引来帮助数据库 - 除非那里真的只有几行,一个像样的数据库无论如何都会忽略索引。

于 2013-10-15T18:15:54.473 回答