2014-10-19 60 views
0

我們必須區分實體關係。實體關係標識與數據庫基數

我有一個問題明白了一兩件事:

是關係一對多或一對多(1:M)同樣的事情,1:N? 而且,M:N與N:M相同。

爲什麼不叫M:M(多對多)?

回答

0

那麼有很多不同的術語和記號來識別和說明數據庫中的關係。下面是快速摘要:

一對多

這個術語用來表示一個1:n關係(或0:n如果它是可選的)。例如,一位作者(父母實體)寫了很多書(兒童實體)。

這可以被模型化這樣的:

+--------------+ +--------------+ 
| Author  | | Book   | 
+--------------+ +--------------+ 
| PK AuthorId | | PK BookId | 
|  Name  | |  Title | 
|    | |  ISBN  | 
+--------------+ | FK AuthorId | 
        +--------------+ 

多對一

這比1:n(或0:n),但是從子實體點相同。例如,一位作者寫的很多書。

多對多

這是創造在數據庫方面具有n:m。例如,兩個或兩個以上的作者可能是一本書或許多書籍的助手。

一個非常常見的方式來模擬這樣的關係是使用第三個表鏈接兩個實體之間的所有不同關係。在這種情況下,你可能最終的東西是這樣的:

+--------------+ +--------------+ +--------------+ 
| Author  | | AuthorBook | | Book   | 
+--------------+ +--------------+ +--------------+  
| PK AuthorId | | FK AuthorId | | PK BookId | 
|  Name  | | FK BookId | |  Title |  
|    | +--------------+ |  ISBN  | 
+--------------+     +--------------+ 

凡AuthorBook與AuthorIdBookId複合主鍵。

順便說一句,我從來沒有聽說過這個詞多倍於