E-R模型

E-R模型

實體-聯繫模型(簡稱E-R模型)它提供不受任何DBMS約束的面向用戶的表達方法,在資料庫設計中被廣泛用作數據建模的工具。

簡介


ER模型,全稱為實體聯繫模型、實體關係模型或實體聯繫模式圖(ERD)(英語:Entity-relationship model)由美籍華裔計算機科學家陳品山發明,是概念數據模型的高層描述所使用的數據模型或模式圖。
ER模型常用於信息系統設計中;比如它們在概念結構設計階段用來描述信息需求和/或要存儲在資料庫中的信息的類型。但是數據建模技術可以用來描述特定論域(就是感興趣的區域)的任何本體(就是對使用的術語和它們的聯繫的概述和分類)。在基於資料庫的信息系統設計的情況下,在後面的階段(通常叫做邏輯設計),概念模型要映射到邏輯模型如關係模型上;它依次要在物理設計期間映射到物理模型上。注意,有時這兩個階段被一起稱為“物理設計”。
實體聯繫模式圖(ERD)有一些約定。本文的餘下部分描述經典概念,並且主要與概念建模有關。有一些概念更加典型的在邏輯和物理資料庫設計中採用,包括信息工程、IDEF1x(ICAM DEFinition Language)和空間建模。

模型結構


分類

E-R模型的構成成分是實體集、屬性和聯繫集
其表示方法如下:
(1)實體集用矩形框表示,矩形框內寫上實體名。
(2)實體的屬性用橢圓框表示,框內寫上屬性名,並用無向邊與其實體集相連。
(3)實體間的聯繫用菱形框表示,聯繫以適當的含義命名,名字寫在菱形框中,用無向連線將參加聯繫的實體矩形框分別與菱形框相連,並在連線上標明聯繫的類型,即1—1、1—N或M—N。
因此,E-R模型也稱為E-R圖。

組成

E-R圖模型的組成是由實體,屬性和聯繫。其中實體是一個數據的使用者,其代表軟體系統中客觀存在的生活中的實物,如人、動物,物體、列表、部門、項目等。而同一類實體就構成了一個實體集。實體的內涵用實體類型來表示。實體類型是對實體集中實體的定義。實體中的所有特性稱為屬性。如用戶有姓名、性別、住址、電話等. "實體標識符"是在一個實體中,能夠唯一表示實體的屬性和屬性集的標示符。但針對於一個實體只能使用一個"實體標識符"來標明。實體標識符也就是實體的主鍵。在ER圖中,實體所對應的屬性用橢圓型的符號現況表示出來,添加了下劃線的名字就是我們所說的標識符。在我們生活的世界中,實體不會是單獨存在的,實體和其他的實體之間是有著千絲萬縷的聯繫的。舉例某一個人在公司的某個部門工作,其中的實體有"某個人"和"公司的某個部門",他們之間的有著很多的聯繫聯繫。

原則

從數據需求分析中分析出系統的實體屬性圖,需要遵循三範式原則,對實體之間的依賴關係進行了整合,得出系統E-R圖。
說明:菱形表示實體之間的關係,用矩形表示實體,用無向直線把菱形與有關實體連接,在直線上標明聯繫的類型。用橢圓表示實體的屬性,並用無向直線把實體與屬性聯繫起來。

常用符號


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

不常用符號


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