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

标签 mysql sql database foreign-keys primary-key

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

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

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

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

最佳答案

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

如果您有更多类别表,则不正确。您必须使用一个类别表,然后要将它链接到您的 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

关于mysql - 在数据库书架中创建表,其中一本书可以有多个类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829056/

相关文章:

python sqlalchemy 联合查询 ,'Query' 对象没有属性 'spends'

mysql - 删除一个表中存在于另一个 MYSQL 中的行

mysql - 如何复制MySQL数据库+包含存储过程(例程)

mysql - 如何在输入时从数据库获取结果并匹配所有数据?

mysql - 在 docker swarm 中将 mysql 容器扩展到 1 个以上时出现 mysql 连接问题

java - 使用 Criteria 优化 hibernate 中的查询(避免不必要的连接)

mysql - 如何选择sql中除一列以外的所有列?

sql - Rails 使用 dependent destroy 和 dependent nullify 时

php - 将 MySQL 结构导入实时 SQL 数据库

php - 数据库结构 : Finding and marking similar entries