让我们看一个例子-书。一本书可以有1..n位作者。作者可以拥有1..m本书。代表一本书的所有作者的一种好方法是什么?
我想到了一个创建Books表和Authors表的想法。Authors表具有一个主要AuthorID密钥,即作者的姓名。图书表具有主要的图书ID和有关图书的元数据(标题,出版日期等)。但是,需要一种将书籍链接到作者以及将作者链接到书籍的方法。这就是问题所在。
假设我们有三本鲍勃的书。但是,他在一本书中以鲍勃(Bob)博士的身份撰写。他写的另一个是鲍勃博士,第三写的是罗伯特博士。我希望能够确定一个事实,即这些作者实际上是同一个人,但以不同的名字出名。我也想将鲍勃与另一位撰写过不同书籍的鲍勃区分开。
现在,我们还要在应用程序的另一部分中添加一个Person表,该表跟踪有趣的人。假设鲍勃是一个有趣的人。我不仅要说所有三本书的作者都是鲍勃,而且这个有趣的鲍勃与作者鲍勃是同一个人。
那么,在确保书的作者被封面上的名字标识的同时,针对这种潜在的复杂映射存在哪些策略?
问题来源于stack overflow
添加另一个名为BookAuthors的表,其中包含BookID,AuthorID和NameUsed的列。NameUsed的NULL值表示将其从“作者”表中拉出。这称为交集表。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。