Download presentation
Presentation is loading. Please wait.
Published by῾Ερμιόνη Ελευθερόπουλος Modified 5年之前
1
第十三章 擴充實體關係模式 目的 物件導向基本觀念 特殊化和一般化 特殊化的多階層架構 群類 UML的類別圖 轉成關聯綱目 多重繼承
黃三益2008 資料庫的核心理論與實務第四版
2
目的 本章所探討的是加上物件導向功能的實體關係模式 擴充後的實體關係圖稱為擴充實體關係圖﹝簡稱EERD﹞ 物件導向的概念結合了資料和運算方法
我們著重的是資料面 黃三益2008 資料庫的核心理論與實務第四版
3
物件導向基本觀念 最重要的物件導向概念是繼承 實體關係模式的組成元件包括實體(Entity)和關係(Relationship) 範例
Student(pId, name, sex, sId, major, degree) Teacher((pId, name, sex, tId, dept, level) 有的實體(比如助教TA)可以同時是老師和學生 老師和學生都是學校成員 共有以下四個實體型態: Person(pId, name, sex) Student(sId, major, degree) Teacher((tId, dept, level) TA(course) TA is-a (繼承)Student is-a (繼承) Person TA is-a (繼承) Teacher is-a (繼承) Person 黃三益2008 資料庫的核心理論與實務第四版
4
物件導向基本觀念(Cont.) 「實體」改稱「物件」(Object) 「實體型態」改稱「類別」(Class)
上例中有四個類別:Person, Teacher, Student, TA,有繼承關係 黃三益2008 資料庫的核心理論與實務第四版
5
物件導向基本觀念(Cont.) 一個繼承關係是由一個父類別(Superclass)和一個子類別(Subclass)所構成 ,有以下特點:
每一個子類別的物件,也必然是父類別的成員 父類別的成員不一定要屬於子類別 子類別的物件繼承了父類別的所有屬性和其所參與的所有關係型態 黃三益2008 資料庫的核心理論與實務第四版
6
練習13-1 以圖13-1為例,分別列出Student和Teacher的所有屬性 Ans:
Student屬性:pId, name, sex, level, tId, dept Teacher屬性:pId, name, sex, sId, major, degree 黃三益2008 資料庫的核心理論與實務第四版
7
特殊化和一般化 給定一個父類別,按照某個標準分化出數個子類別的過程就稱為「特殊化」(Specialization)
給定數個子類別,並具以歸納出其父類別的過程就稱為「一般化」 範例:商品有三個特殊化分類 按商品種類來分 按商品是否為促銷品來分 按商品庫存地來分 黃三益2008 資料庫的核心理論與實務第四版
8
特殊化和一般化(Cont.) 黃三益2008 資料庫的核心理論與實務第四版
9
特殊化和一般化(Cont.) 一個特殊化分類,可以設定它的限制 參考上頁圖13-2 條件分類或使用者分類 重複或非重複限制
第一個特殊化分類(按商品種類來分類)是條件分類,其他為使用者分類 重複或非重複限制 重複限制用o來圖示,非重複限制用d來圖示 完全或部分參與限制 完全參與用雙線來圖示,部分參與用單線來圖示 參考上頁圖13-2 黃三益2008 資料庫的核心理論與實務第四版
10
練習13-2 假設該網路書店還兼賣文具(SchoolSupply),且還可能賣一些無法歸類的商品,請重劃第一個特殊化(依商品種類來分)
黃三益2008 資料庫的核心理論與實務第四版
11
特殊化的過程 有四個步驟: 範例:將Product的創作者抽離成一獨立的類別,並進行特殊化 決定該特殊化分類的子類別 設定該特殊化分類的限制
決定每一個子類別的特有屬性 檢視EERD的其他實體型態(或類別),以決定是否要為某一個子類別建立新的關係型態 範例:將Product的創作者抽離成一獨立的類別,並進行特殊化 黃三益2008 資料庫的核心理論與實務第四版
12
黃三益2008 資料庫的核心理論與實務第四版
13
練習13-3 在上頁圖13-3裡,創作者的特殊化的重複限制是用(o),請問其含意為何? Ans:
表示一位創作者可同時是artist、author, 或 actor 黃三益2008 資料庫的核心理論與實務第四版
14
特殊化的多階層架構 一個子類別,我們可以再將其特殊化。如此繼承關係將這些類別串連成一個樹狀結構,稱之為特殊化階層 範例:銀行客戶
可特殊化成子類別貸款戶和存款戶 貸款戶可特殊化成子類別信貸戶、動產貸款戶 ,和不動產貸款戶 存款戶可特殊化成子類別儲蓄戶、支票戶,和定存戶 黃三益2008 資料庫的核心理論與實務第四版
15
黃三益2008 資料庫的核心理論與實務第四版
16
多重繼承 當一子類別有兩個或以上的父類別時,稱為多重繼承 有多重繼承關係的類別會形成晶格
比如某些同時擁有定存和不動產貸款的客戶可以成為「貴賓專戶」,如下圖所示 有多重繼承關係的類別會形成晶格 圖13-1所顯示的Person, Student, Teacher, 和TA的繼承關係也是一個晶格,這是因為TA擁有兩個父類別 黃三益2008 資料庫的核心理論與實務第四版
17
黃三益2008 資料庫的核心理論與實務第四版
18
練習13-4 請解釋圖13-4中,各特殊化(存款戶,貸款戶,不動產貸款戶)重複限制的意義 Ans:
表示一位存款戶可同時有定存、支票和儲蓄帳戶。一位貸款戶可同時有動產和不動產貸款。一位不動產貸款戶可同時有土地和建物貸款 黃三益2008 資料庫的核心理論與實務第四版
19
練習13-6 圖13-5中,貴賓專戶共有哪些屬性? Ans:
VIPAccount, cdDate, cdAmount, cdRate, history, eYear, eDate, eRate, eHist, guarantor, loanHist, loanNo, cId, name, account, startDate 黃三益2008 資料庫的核心理論與實務第四版
20
群類 某些本質上完全不同的類別有時候可以群聚起來合成一個類別,這樣的類別我們就稱為群類(Category)
範例:銀行的帳戶可以屬於個人或公司,此時帳戶(AccountOwner)為個人(Person)和公司(Company)所組成的群類 黃三益2008 資料庫的核心理論與實務第四版
21
群類(Cont.) 群類不同於繼承 黃三益2008 資料庫的核心理論與實務第四版
22
群類(Cont.) CA∪B (b) C A∩B (c) CA∪B 黃三益2008 資料庫的核心理論與實務第四版
23
群類(Cont.) 群類裡也可設定完全參與限制 具備完全參與限制的群類等同於繼承 黃三益2008 資料庫的核心理論與實務第四版
24
黃三益2008 資料庫的核心理論與實務第四版
25
UML的類別圖表示法 UML裡定義了許多圖 類別圖的基本組成份子包括類別和關連 類別的描述包括三個部分:
絕大部分的圖都跟程式功能流程相關,其中只有類別圖(Class diagram)主要與資料面相關 類別圖的基本組成份子包括類別和關連 類別的描述包括三個部分: 類別名稱 屬性(Attribute) 運算方法(Operation) 黃三益2008 資料庫的核心理論與實務第四版
26
UML的類別圖表示法(Cont.) 類別圖裡的關連是用來描述類別與類別間的關係 “0” 表示無, “1” 表示1個, "*"表示沒上限
關連上也可以設定角色(role),也有結構上的限制,採用類似(min, max)的方式:min..max “0” 表示無, “1” 表示1個, "*"表示沒上限 一個"*"表示"0..*",一個"1"表示"1..1” 每一個C1(C2)物件至少有min1(min2) 至多有max1(max2)個C2(C1)物件與它關連 黃三益2008 資料庫的核心理論與實務第四版
27
練習13-8: 考慮公司和員工的關係,其中一個公司可以有1到多個員工,但每一位員工只能屬於一家公司。 Ans: 用UML類別圖的關連來表示
用第二章M:N的關係型態來表示 用第二章(min, max) 的關係型態來表 Ans: M:N UML (min, max) 黃三益2008 資料庫的核心理論與實務第四版
28
UML的類別圖表示法(Cont.) 類似關連的概念:彙總(Aggregation)和組合(Composition)
彙總:引擎是汽車的組成部分,員工是公司的組成部分 用空心菱形表示 與關連間的區別不清楚 組合:類似彙總但隱含組成類別的物件不可單獨存在 用實心凌形表示 常用來表示弱實體型態或多值屬性 黃三益2008 資料庫的核心理論與實務第四版
29
黃三益2008 資料庫的核心理論與實務第四版
30
UML的特殊化分類表示法 UML的類別圖用一個三角形來表示特殊化分類。對於特殊化分類的限制,其表示法如下所述:
分類標準:將特殊化分類名稱書寫於三角形旁。 重複限制(Disjoint constraints):若是父類別的物件不可重複出現在子類別裡,則用空心三角形表示(擴充實體關係模式用「d」來表示);若是可重複出現,則用實心三角形表示(擴充實體關係模式用「o」來表示)。 完全參與限制(Completeness constraints):若是完全特殊化(即一個父類別的物件一定要屬於至少一個子類別),則在三角形旁註解{complete}。 黃三益2008 資料庫的核心理論與實務第四版
31
黃三益2008 資料庫的核心理論與實務第四版
Similar presentations