實體關系圖

實體關系圖

數據模型
數據模型的最高抽象層次稱為實體關系圖(ERD)。實體關系圖反映了數據在最高層次的有意義的抽象及其相互之間的關系,确定了組織的實體以及這些實體之間的關系[1]。ER模型常用于信息系統設計中;比如它們在概念結構設計階段用來描述信息需求和/或要存儲在數據庫中的信息的類型。但是數據建模技術可以用來描述特定論域(就是感興趣的區域)的任何本體(就是對使用的術語和它們的聯系的概述和分類)。在基于數據庫的信息系統設計的情況下,在後面的階段(通常叫做邏輯設計),概念模型要映射到邏輯模型如關系模型上;它依次要在物理設計期間映射到物理模型上。注意,有時這兩個階段被一起稱為“物理設計”。實體聯系模式圖(ERD)有一些約定。本文的餘下部分描述經典概念,并且主要與概念建模有關。有一些概念更加典型的在邏輯和物理數據庫設計中采用,包括信息工程、IDEF1x(ICAM DEFinition Language)和空間建模。
  • 中文名:實體關系圖
  • 外文名:Entity-relationship model
  • 适用領域:
  • 所屬學科:
  • 又名:ER模型

關系圖含義

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 中在在三個或更多實體之間的聯系也是允許的。

參見

實體

關系模型

統一建模語言

數據結構圖

相關詞條

相關搜索

其它詞條