【发布时间】:2013-06-27 09:32:06
【问题描述】:
这一直困扰着我,也许有人可以帮助澄清。
假设我有书和作者:一本书可以写很多作者,而一个作者可以写很多书。
为什么我不能使用以下架构捕获它?为什么需要连接表?
图书 -------- BookID (PK) 作者 ID (PK) 书名 作者 -------- 作者 ID (PK) 作者姓名【问题讨论】:
标签: database many-to-many junction-table
这一直困扰着我,也许有人可以帮助澄清。
假设我有书和作者:一本书可以写很多作者,而一个作者可以写很多书。
为什么我不能使用以下架构捕获它?为什么需要连接表?
图书 -------- BookID (PK) 作者 ID (PK) 书名 作者 -------- 作者 ID (PK) 作者姓名【问题讨论】:
标签: database many-to-many junction-table
因为要拥有多位作者的图书,您必须在 Books 表中创建一个重复行。在您的示例中,这还不错,但想象一下 Books 表是否有 10 列,或者 20 列或更多列。所有这些数据都将被复制,从而增加了数据完整性随着时间的推移而失控的风险。
【讨论】: