1

我有一个问题,我正在设计一个存储不同产品的数据库,每个产品可能有不同的细节。例如,它将需要存储具有多个作者的书籍并存储具有不同类型描述的软件。这是我目前的设计:

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|

所以产品表将只存储主要产品 id、它所属的公司和产品类型。然后我会有一个属性表,其中列出了产品可能具有的每个属性,这将使添加新类型的产品变得更加容易。详细信息表将保存所有值,例如不同的作者,标题是bn10s 等。然后连接器表将连接产品表和详细信息表。

我主要担心的是详细信息表会变得非常大,并且会存储许多不同的数据类型。我想要将所有不同类型的表拆分为 ISBN 表和作者表等表。

如果是这种情况,我如何将这些表链接到 attr_table

任何帮助将不胜感激。

4

1 回答 1

0

不要打扰。你不说你用的是什么数据库,但是任何合理的数据库都可以处理明细表。数据库旨在有效地处理大表。

如果它真的很大,您可能需要考虑按某种主题对表进行分区。

否则,只需确保您在表中的 id 上有一个索引,也可能在 attr_id 上有一个索引。该结构应该可以正常工作。

于 2013-01-17T22:55:49.613 回答