【发布时间】:2014-06-30 09:39:20
【问题描述】:
我正在阅读 Teorey、Simison 等人的《数据库设计》一书。在某一点上,它解释了如何将具有多值属性的实体映射到关系表中。示例如下,其中多值属性为 hobby。
Employee(Employee_ID(PK),name,surname,hobby)
导致两个表
Employee(Employee_ID(PK),name,surname)
Hobby(Employee_ID(PK),hobby(PK))
这本书或多或少说“给定一个具有主键 p 的实体 E,附加到 ER 图的多值属性 E 被映射到一个它自己的表,其主键由 p 和属性值组成( s) 一个"。这是一般规则吗? 考虑与多值属性书的以下关系。
Author(Author_ID(PK),name,book)
创建以下两个表还不够吗,其中书的 PK 只是 Book_ID 和 Author_ID 是一个 FK 而不会成为书的 PK 的一部分?
Author(Author_ID(PK),name)
Book(Book_ID,book,Author_id(FK))
【问题讨论】:
标签: database-design entity-relationship