基礎知識
為什麼要學習ER(Entity-Relation)圖?ER的優點
- 進行資料庫設計的有力工具
- 資料庫人員與使用者進行互動的工具
- 較強的表達能力,能友善、直接地表達各種語義知識
- 簡單、清晰、易于使用者了解
實體-聯系模型基于對現實世界的一種認識:是由一組稱作實體的基本對象及這些對象間的聯系組成。ER模型是一種語義模型,其語義主要展現在模型圖去表達資料的意義。
ER圖中有什麼
- 矩形:表示實體集
- 橢圓:表示屬性,加下劃線表示是主碼屬性
- 菱形:表示聯系集
- 線段:将屬性連接配接到實體集或實體集連接配接到聯系集
- 雙橢圓:表示多值屬性
- 虛橢圓:表示派生屬性
- 雙線:表示一個實體全部參與到聯系中
常見的資料模型
- 資料模型有好多種,從邏輯上來講,即使用者眼中看到的資料範圍。同時可以用某種語言描述,是計算機系統能夠了解,又能被資料庫管理系統支援的。
- 層次模型(最早出現):
- 網狀模型:
- 面向對象模型(對象、類、對象辨別)
- 關系模型(20世紀80年代以來,關系資料庫一統天下):
為什麼由ER圖轉換到關系模型
- 建立在嚴格的數學概念的基礎上
- 概念簡單——資料結構簡單、清晰、使用者易懂易用
- 存取路徑對使用者透明,使用者不用擔心
- ER模型離現實世界近
- 關系模型離機器世界近
- 不嚴格的情況下,可以将關系看作是某些值形成的一個表
ER圖轉換為表(二進制聯系)
ER圖中的主要成分是實體類型和聯系類型,轉換算法就是如何把實體類型、聯系類型轉換成關系模式。
- 實體類型的轉換
- 将每個實體類型轉換成一個關系模式,實體的屬性即為關系模式的屬性,實體辨別符即為關系模式的鍵
-
- 聯系類型的轉換
- 若實體間的關系是1:1,可以在兩個實體類型轉換成的兩個關系模式中任意一個關系模式的屬性中加入另一個關系模式的鍵(作外鍵)和此聯系的屬性。
- 若實體間的關系是1:N,則在N端實體類型轉換成的關系模式中加入1端實體類型的鍵(作外鍵)和此聯系的屬性。
- 若實體間聯系是M:N,則将聯系類型也轉換成關系模式,其屬性為兩端實體類型的鍵(作外鍵)加上此聯系的屬性,而主鍵為兩端實體鍵的組合。
一進制和三元聯系類型的轉換和二進制類似,不再贅述。