實體關係圖

實體關係圖

ER模型,全稱為實體聯繫模型、實體關係模型或實體聯繫模式圖(ERD)(英語:Entity-relationship model)由美籍華裔計算機科學家陳品山發明,是概念數據模型的高層描述所使用的數據模型或模式圖。

ER模型常用於信息系統設計中;比如它們在概念結構設計階段用來描述信息需求和/或要存儲在資料庫中的信息的類型。但是數據建模技術可以用來描述特定論域(就是感興趣的區域)的任何本體(就是對使用的術語和它們的聯繫的概述和分類)。在基於資料庫的信息系統設計的情況下,在後面的階段(通常叫做邏輯設計),概念模型要映射到邏輯模型如關係模型上;它依次要在物理設計期間映射到物理模型上。注意,有時這兩個階段被一起稱為“物理設計”。

實體聯繫模式圖(ERD)有一些約定。本文的餘下部分描述經典概念,並且主要與概念建模有關。有一些概念更加典型的在邏輯和物理資料庫設計中採用,包括信息工程、IDEF1x(ICAM DEFinition Language)和空間建模。

關係圖含義


E-R圖為實體-聯繫圖,提供了表示實體型、屬性和聯繫的方法,用來描述現實世界的概念模型。實體關係圖表示在信息系統中概念模型的數據存儲。

構成


實體型(Entity)
用矩形表示,矩形框內寫明實體名;比如學生張三丰、學生李尋歡都是實體。
屬性(Attribute)
用橢圓形表示,並用無向邊將其與相應的實體連接起來;比如學生的姓名、學號、性別、都是屬性。
聯繫(Relationship)
用菱形表示,菱形框內寫明聯繫名,並用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯繫的類型(1 : 1,1 : n或m : n)就是指存在的三種關係(一對一,一對多,多對多)。比如老師給學生授課存在授課關係,學生選課存在選課關係。

轉換原則


轉換為關係模式的原則
1、一個實體轉化為一個關係模式。實體屬性就是關係的屬性,實體的碼就是關係的碼。
2、一個1:1聯繫可以轉化為一個獨立的關係模式,也可以與任意一端所對應的關係合併。
3、一個1:n聯繫可以轉化為一個獨立的關係模式,也可以與任意n端所對應的關係合併。
4、一個m:n聯繫轉化為一個獨立的關係模式。
5、三個或三個以上實體間的多元聯繫可以轉換為一個關係模式。
6、具有相同碼的關係模式可以合併。

常用符號


實體(Entity)表示一個離散對象。實體可以被(粗略地)認為是名詞,如計算機、僱員、歌曲、數學定理。關係描述了兩個或更多實體相互如何關聯。聯繫可以被(粗略地)認為是動詞,如:在公司和計算機之間的擁有關聯,在僱員和部門之間的管理關聯,在演員和歌曲之間的表演關聯,在數學家和定理之間的證明關聯。實體繪製為矩形,聯繫繪製為菱形。
實體和聯繫都可以有屬性,如僱員實體可以有一個社會保障號碼屬性(在美國);證明關聯可以有一個日期屬性。屬性繪製為橢圓形並通過一條線與所屬的實體相連。
每個實體(除非是弱實體)都必須有一個唯一標識屬性的最小化集合。這個集合叫做實體的主鍵。
實體聯繫圖不展示單一的實體或聯繫的單一的實例。它們展示實體集合和聯繫集合(分別顯示為矩形和菱形),如特定的歌曲是實體。在資料庫中所有歌曲的搜集是一個實體集合。在安德魯·懷爾斯費馬最後定理之間的證明聯繫是一個單一聯繫。所有這種數學家-定理聯繫的集合是一個聯繫集合。
線條繪製於實體集合和它們所參與的聯繫集合之間。如果在實體集合中所有實體都必須在聯繫集合中參與一個聯繫,則繪製粗線。這叫做參與約束。如果實體集合的每個實體可以在聯繫集合中參與最多一個聯繫,則繪製從這個實體集合到聯繫集合的一個箭頭。這叫做鍵約束。要指示在實體集合中每個實體都必須精確的參與一個聯繫,則繪製粗箭頭。
使用關聯實體來解決有多對多聯繫的兩個實體的問題。
一元聯繫是在一個單一的表格的行之間的聯繫。
這是個很方便的程序。

不常用符號


弱實體是不能用它自己的屬性唯一標識的實體,所以必須用它自己的屬性和與之有關的實體的主鍵二者作為它的主鍵。弱實體集合指示為粗矩形(實體),通過一個粗箭頭把它連接到一個粗菱形(聯繫)上。
有時兩個實體是一個更一般的實體類型的更特殊化的子類型。例如,程序員和營銷員都是軟體公司的僱員的類型。要指示這種關聯,繪製其中帶有 "ISA" 的三角形。超類是連接到頂點上而兩個(或更多)子類連接到底邊上。
最後,通過聚集,一個聯繫和所有它的參與實體集合可以被當作一個單一的實體集合,目的是讓它可以參與另一個關聯。這可以指示為在所有聚集的實體和聯繫之外繪製一個虛矩形。

分類


實體聯繫的模型可以依據是否只允許二元聯繫而分類為 BERM(二元實體關聯模型)和 GERM(一般實體聯繫模型)。二元聯繫是在兩個實體之間的聯繫。所以,在 GERM 中在在三個或更多實體之間的聯繫也是允許的。

參見


● 實體
● 關係模型
● 數據結構圖