原文鏈接:
如何畫好ER圖——博客園
數據庫ER圖——CSDN
如何處理E-R圖中的“關系的屬性”【關系代數騷操作】——CSDN
設計並生成ER圖
了解ER圖的基本組成,以及如何在viso中畫ER圖。
什么是ER圖
ER圖是實體關系圖,用矩形表示實體,用橢圓形表示屬性,用棱形表示兩實體之間的聯系。相互用直接聯接起來,是一種數據建模工具。用來描述現實世界的概念模型 。
怎么畫,用什么工具畫
最常見是用VISIO來畫,也可以在線網站Processon里畫。
ER圖的組成部分
-
實體(entity):即數據模型中的數據對象,例如人、學生、音樂都可以作為一個數據對象,用矩形表示 ,內寫明實名名。每個實體都有自己的實體成員(entity member)或者說實體對象(entity instance),例如學生實體里包括張三、李四等,實體成員(entity member)不需要出現在ER圖中。
-
屬性(attribute):即數據對象所具有的屬性(所具有的列),例如學生具有姓名、學號、年級等屬性,用橢圓形表示,用直接與實體連接。屬性分為唯一屬性(unique attribute)和非唯一屬性,唯一屬性(主鍵)指的是唯一可用來標識該實體實例或者成員的屬性,一般來講實體都至少有一個唯一屬性。
-
關系/聯系(relationship):用來表現數據對象與數據對象之間的聯系,例如學生的實體和成績表的實體之間有一定的聯系,每個學生都有自己的成績表,這就是一種關系。用菱形表示,里面寫兩個實體之間是如何關聯的。分別與兩邊實體直線相聯,同時在直線上標着聯系類型。如(1:1, 1:n , 或M:N)。
-
關系/聯系本身也可以有屬性:聯系也是一種實體,可以有屬性。
ER圖中的三種關聯關系
- 1對1(1:1):1對1關系是指對於實體集A與實體集B,A中的每一個實體至多與B中一個實體有關系;反之,在實體集B中的每個實體至多與實體集A中一個實體有關系。
- 1對多(1:N):1對多關系是指實體集A與實體集B中至少有N(N>0)個實體有關系;並且實體集B中每一個實體至多與實體集A中一個實體有關系。
- 多對多(M:N):多對多關系是指實體集A中的每一個實體與實體集B中至少有M(M>0)個實體有關系,並且實體集B中的每一個實體與實體集A中的至少N(N>0)個實體有關系。
如何在visio中畫ER圖
在visio2013中可以直接用chen's 數據庫表示法畫。
路徑:更多形狀-》軟件和數據庫-》數據庫-》chens數據庫表示法。
提醒:按ctrl鍵拖動相當於復制同類元素,不用每新都新建,來回調整大小,這樣可以保證大小都一致。
ER圖和關系模型到數據庫表
了解如何通過ER圖定義數據庫表。
ER圖和關系模型
在創建數據庫表之前,首先需要設計數據庫表。設計數據庫表的主要工具是ER圖,數據庫表的ER圖如下:
ER圖給出了數據庫表的圖形化描述,但還缺乏建立數據庫表必要的字段名稱、字段類型等信息,還需要把ER圖歸納為滿足一定約束條件二維表的形式才可以開始創建數據庫表。數據庫二維表見下表:
如何處理E-R圖中的“關系”及“關系的屬性”
參考如何處理E-R圖中的“關系的屬性”【關系代數騷操作】——CSDN的三結論:
- 僅在多對多關系的情況下為關系提供屬性。
- 如果兩個實體之間的關系是多對多,我們將需要一個額外的關系表,新表應該至少有兩個屬性(外鍵)來自每個表(它們各自的主鍵)。
- 如果多對多關系沒有屬性,那么就不用第三張表,可以利用json列表來存放這種關系。