扩充实体关系模式.ppt_第1页
扩充实体关系模式.ppt_第2页
扩充实体关系模式.ppt_第3页
扩充实体关系模式.ppt_第4页
扩充实体关系模式.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论