我有两个实体
textbook(ISBN primary key, name, auhor etc...)
is published by
publisher(name, number_of_books_published etc...)
我的发布商是一个弱势实体。
答案 0 :(得分:0)
1)没有项目要求,没有办法回答这个问题。弱意味着实体不能仅通过其属性来识别。我同意发布者可能很弱,因为名称或number_of_books_published或其任何组合都不保证是唯一的。
2)将BookISBN添加到发布者是不正确的。一对多的关系发生在另一个方向;即出版商出版了许多书籍 - 这是由出版商的number_of_books_published属性确认的(可以说这是不必要的,因为你总能计算出这个值)。
理论上(我不知道这是否真的发生过(我从未见过)),一本教科书可能会被多个出版商出版(更有可能),因此拥有主要密钥教科书中的出版商会使教科书成为一个强大的实体。我发现这不太可能,所以一个更好的解决方案是关系表 - 即PublisherBook,它保存出版商和教科书的主键,这样出版商可以出版许多书籍,许多出版商可以出版一本书(可能会发挥更重要的作用)时间说一个出版商破产,这本书不是由另一个出版商出版的)。在这个模型中,你有可能保持"历史"没有说更新教科书表上的PublisherId并且丢失了之前的发布者。