【发布时间】:2015-12-31 19:32:23
【问题描述】:
我正在建立一个关于汽车的爱好网站。如果用户点击汽车,我想显示所选汽车的类似汽车列表。
我有一个主表,用于存储有关每辆车的基本信息 CarDataMain,表中的两列是 CarID (Pk) 和 SimilarCarsID (Fk)。
我有另一个名为“SimilarCars”的表,它有三列; SimilarCarsID (Pk)、CarGroupID 和 CarID。
所以 SimilarCars 表中的 SimilarCarsID 列与 CarDataMain 表中的 SimilarCarsID 列有关系。
这是正确的方法,还是“最佳实践”?
每辆车只能属于一个 CarGroup (CarGroupID)。
另一种解决方案是创建第三个表,女巫持有 CarDataMain 和 SimilarCars-data 之间的关系,但由于存在一对多的关系,我想这是过度杀戮?但是,这样我可以在 CarDataMain 中为所有属于同一个 CarGroup 的汽车放置相同的外键值,女巫在某种程度上感觉很吸引人……
如果您理解我的意思,第三种解决方案是跳过 CarDataMain 中的 SimilarCarsID 列,并将 CarID 设置为 SimilarCars 表中的外键。但我想这种解决方案有一些缺点……
抱歉新手问题(如果这个问题之前已经提出过),但我想在开始之前把它弄好:)
路德
【问题讨论】:
标签: sql database-design database-schema