2015-02-05 67 views
0

使用弱實體的,我有兩個實體需要和ER圖

textbook(ISBN primary key, name, auhor etc...) is published by publisher(name, number_of_books_published etc...)

我的發佈者是一個弱實體。

  1. 爲什麼我需要這個實體保持弱而不強?它的意義是什麼?
  2. 如果我將BookISBN主鍵添加到發佈者,它將成爲一個強大的實體。那麼兩種設計之間會有什麼不同呢?

回答

0

1)沒有項目的要求,沒有辦法回答這個問題。弱意味着實體不能單獨通過其屬性來識別。我同意發行人可能很弱,因爲無論是姓名還是書號或其組合都不能保證是唯一的。

2)將BookISBN添加到發佈者將不正確。一對多的關係發生在另一個方向;即發佈者發佈許多書 - 這由發佈者的number_of_books_published屬性證實(由於您始終可以計算該值,因此可以說這不是必需的)。在理論上(我不知道這是否真的發生了(我從來沒有見過)),一本教科書可能被多個發佈者發佈(印刷更有可能),所以發行人的主鍵在教科書將使教科書成爲一個強大的實體。我認爲這不太可能,所以更好的解決方案是關係表 - 即PublisherBook包含出版商和教科書的主鍵,這樣出版商可以出版許多書籍,並且書籍可以由許多出版商出版(這可能在許多出版商中發揮更重要的作用)有時候說一個發佈商倒閉了,這本書不是由另一個發佈商發佈的)。在這個模型中,你可以在沒有更新教科書表上PublisherId的情況下維護「歷史」,並且可以放棄以前的發佈者。