二、個體關係模型 (ER model)
Published in
Jul 22, 2021
《每日一句》The beginning is the most important part of the work.
開始階段是工作最重要的部分。
個體關係模型 ER model
主要區分為個體、關聯、屬性,三種類型
個體
- 一般個體 (Entity) : 可獨立存在的事物,ex: 員工、部門、專案
- 弱個體 (Weak Entity) : 本身沒有鍵值屬性,需依附於其他個體,ex: 員工親屬個體必須依附於員工個體,之間的關聯必須用全部參與來表示
關聯
- 關聯 (Relatinship) : 用以表達個體與個體間的關係,ex: 教授個體與學生個體之間有教導的關係
- 二元關聯 : 由兩個個體所產生的關聯,ex: 員工個體和部門個體產生工作於關係
- 三元關聯 : 由三個個體所產生的關聯,ex: 業務員、客戶、產品,三者個體之間的關聯
- 一對一關聯 : 表達個體間數量關係,ex: 一個部門只有一位主管,一位主管也只能管理一個部門
- 一對多關聯 : 表達個體間數量關係,ex: 一個部門可以有多位員工,但一位員工只能工作於一個部門
- 多對多關聯 : 表達個體間數量關係,ex: 一位員工可以參與多個專案,而一個專案也可以由多位員工參與
- 部分參與 : 由參與關係的個體數來看,以 (min,max) 來表示,而最小值min =0,以一條直線表示
- 全部參與 : 由參與關係的個體數來看,以 (min,max) 來表示,而最小值min >=1,以兩條直線表示
屬性
- 屬性 (Attribute) : 描述個體特性,個體可能含有多個屬性,且每個屬性都含有值 (Value),ex: 員工個體擁有員工代號、姓名、電話…等屬性
- 複合屬性 (Composite Attribute) : 某一屬性可再分割為更小單元,ex: 生日可在分為年、月、日
- 多值屬性 (Multi-valued Attribute) : 某些屬性,可能有一個以上的值,ex: 部門個體的地址屬性可能不只一個
- 衍生屬性 (Derived Attributes) : 可以推算出來的屬性,ex: 可藉由生日屬性推算出年齡
藉由題目繪製ER圖
- 決定資料庫之個體 (Entity)
- 決定個體之屬性 (Attribute)
- 決定個體和個體之間的關聯 (Relationship)
- 劃出個體的鍵值屬性 (Key attribute)
範例 :
1、本公司需記錄員工資料,包含員工身分證、姓名、電話、住址、薪資
2、公司擁有多個部門,每個部門需記錄部門代號、部門名稱、地點,每個員工必須屬於公司的某個部門
3、本公司擁有多個專案,專案紀錄專案代碼、專案名稱,每個專案皆由特定部門掌控,但一個部門可以掌控多個專案
藉由ER圖敘述所代表含意
- 找出每個個體,敘述個體之屬性 (一般、鍵值、複合、多值屬性...)
- 找出各個關聯為一對一、一對多、多對多
- 關聯搭配個體和最大最小值一起描述
範例 :
1、客戶有客戶代號、姓名、電話、地址,其中客戶代號不能重複
2、訂單有訂單代號、日期,其中訂單代號不能重複
3、產品有產品代號、名稱、單價,其中產品代號不能重複
4、一位客戶可以下N張訂單也可不下單,而一張訂單只能屬於一位客戶
5、一張訂單可以訂購多樣產品,至少須訂購一樣產品,且紀錄數量,產品也可重複在訂單中被訂購
三元關係 VS 三個二元關係
三元關係不等於三個二元關係
三元關係
- 三元關係的畫法有下列兩種
- 三元關係等同於三個二元一對多
- 個體客戶、業務、產品三者關聯缺一不可
- 銷售紀錄必為弱個體,因為依附於其他三個個體
三個二元關係
- 三個二元關係只能表達兩個個體之間的關聯
- 缺乏三者之間的關聯,無法得知客戶某次購買之產品為哪位業務負責
以上針對資料庫的個體關係模型 (ER model)做個學習筆記
如果你喜歡我的創作,請大力地給我拍拍手 🐊 🐊 🐊
參考資料 : 杰哥數位教室-資料庫系統管理課程
上一章: 一、資料庫系統概論
下一章: