2013-12-11 60 views
0

我正在设计一个数据库,它包含有关车辆的信息。我有一个名为车辆的主表,其中存储了诸如VehicleType,FuelType等主要信息。但是应该考虑每个车辆的更多细节,例如每个车辆具有像CDplayer,Sunroof等的特征上。问题是我应该将所有的主要和辅助信息都包含在一张表中,考虑到它在近70个领域变得非常混乱,或者最好将它们分成两个表格。由于这两个表格之间存在一对一的关系,是否合理决定?考虑性能因素是否有效? 对不起,如果我不能更简洁。数据库设计方法决定

回答

0

除非您有specific reasons这样做,否则不要垂直分区表。

即使您的表格有许多列,这也适用。然而,许多列可能(但不必)是您的设计中的其他问题的迹象。

+0

我读了你提供的具体原因,我注意到我的情况实际上是一个“1:0或1”的关系。这是否会使拆分采取合理的行动?还是有需要考虑的因素? – Metti

+0

@Metti是的,对于“1:0..1”,你应该分成两个表。另一种可能是在表的“可选”部分有一堆NULL,但这不应该是你的第一选择。您可能对[本文]感兴趣(http://stackoverflow.com/a/12321323/533120)。 –

0

更多的是基于特征及其属性的对象模型的外观。如果您不想将多个属性组合到一个特性/元素,那么您可以继续使用一个表。否则最好把它分成多个。

您是否看到CDPlayer或者天窗将拥有它自己的多个属性?否则,您可以将此单一属性作为同一主表的一部分