我有一个问题,我正在设计一个数据库,将存储不同的产品,每个产品可能有不同的细节。例如,它将需要存储具有多个作者的书籍,并存储具有不同类型描述的软件。这是我目前的设计:
Product_table
|ID|TYPE|COMPANY|
|1|1|1|
attr_table
|ID|NAME|
|1|ISBN10|
|2|ISBN13|
|3|Title|
|4|Author|
details_table
|ID|attr_id|value
|1|3|Book of adventures|
Connector_table
|id|pro_id|detail_id|
|1|1|1|
因此,product表将只存储主产品id、它所属的公司和它所属的产品类型。然后我将有一个属性表,其中列出了产品可能具有的每个属性,这将使添加新类型的产品变得更容易。details表将保存所有的值,例如不同的作者,标题isbn10s等,然后连接器表将连接产品表和详细信息表。
我主要担心的是,details表将变得非常大,并且将存储大量不同的数据类型。我想要的是将所有不同的类型划分为表,如ISBN表和作者表。
如果是这种情况,我如何将这些表链接到attr_table
任何帮助都将不胜感激。
发布于 2013-01-18 06:55:50
别费神。您没有说明您使用的是什么数据库,但是任何合理的数据库都能够处理details表。数据库旨在高效地处理大表。
如果它真的很大,您可能想要考虑按某种主题对表进行分区。
否则,只需确保您在表中的id上有一个索引,可能在attr_id上也有一个索引。结构应该工作得很好。
https://stackoverflow.com/questions/14389588
复制相似问题