在数据库书架中创建表,其中一本书可以有多个类别

时间:2015-03-03 10:10:46

标签: mysql sql database foreign-keys primary-key

我正在创建一个书架数据库。

我有一个名为BookInfo的表,其中包含有关书名,类别以及与之相关的许多其他属性的信息。

我有不同的表名为category,其中包含categoryID和categoryName。

问题:我想为单本书信息插入多个类别。这是可行的解决方案。

3 个答案:

答案 0 :(得分:2)

解决方案是规范化您的数据库。

如果您有更多类别表,则不正确。您必须使用一个Category表,然后将其链接到BookInfo表,您必须创建一个中间表,例如,名为CategoryBook,您的中间表必须是这些字段:

ID (your PK table)
field PK BookInfo (as FK)
field PK Category (as FK)

或者,您的中间表可以构建如下:

PK BookInfo (as FK)
PK Category (as FK)

其中两个上方字段是表格的PK

答案 1 :(得分:2)

您可以创建一个映射表作为" Book_Category"哪个会有 BookID,CategoryID以及如果要为" Book_Category"创建复合主键。通过组合两列来表。

答案 2 :(得分:2)

您还必须有一个表来处理它。 要么 您只需要添加到BookInfo表中。 要么 类别列应该包含不同的categoryID' s