0

我想这个问题很基本,但 imo 这些是最难的。

所以假设我想创建一个关于汽车可以拥有的额外物品的表格,假设它们是 5,所以汽车可以有,没有,所有,一个或一些额外的东西。

是否推荐使用set()具有 5 个选项的字段?似乎是这样做的逻辑方式,但我读过该set()字段对大型数据库中的搜索不友好。

我想到的其他选择是:

  1. 拥有一个带有汽车 ID 和每个附加功能的表的外键(如果汽车有所有附加功能,那么这将是 5 行)

  2. 原始表中的每个额外都有 5 个额外的布尔列。

考虑到数据库/表会很大,哪种方法是最好的?

4

2 回答 2

0

对我来说这听起来不合逻辑。SET()将 a用于大洲而不是汽车附加功能可能是有意义的。Extras 会随着时间的推移而改变,您不希望每次发生这种情况时都改变您的应用程序和数据库设计。显而易见的设计是为 extras 创建一个表并通过外键链接它。

于 2012-08-27T11:07:31.033 回答
0

第二个绝对不是一个选择。我强烈建议不要这样做,因为当引入第六个选项时会发生什么?然后是第七,第八等?第一是更传统和明显的方法。高级索引结构可以为您提供良好的结果 1

于 2012-08-28T04:24:24.993 回答