十三章扩充实体关模式

上传人:沈*** 文档编号:152665649 上传时间:2022-09-16 格式:PPT 页数:41 大小:1.33MB
返回 下载 相关 举报
十三章扩充实体关模式_第1页
第1页 / 共41页
十三章扩充实体关模式_第2页
第2页 / 共41页
十三章扩充实体关模式_第3页
第3页 / 共41页
点击查看更多>>
资源描述
黃三益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(繼承)PersonTA is-a(繼承)Teacher is-a(繼承)Person黃三益2007資料庫的核心理論與實務第三版12-4物件導向基本觀念(Cont.)實體改稱物件(Object)實體型態改稱類別(Class)上例中有四個類別:Person,Teacher,Student,TA,有繼承關係 PersonmajortIddeptStudentsIdTeacherTApIdnamesexleveldegreecourse黃三益2007資料庫的核心理論與實務第三版12-5物件導向基本觀念(Cont.)一個繼承關係是由一個父類別(Superclass)和一個子類別(Subclass)所構成,有以下特點:每一個子類別的物件,也必然是父類別的成員 父類別的成員不一定要屬於子類別 子類別的物件繼承了父類別的所有屬性和其所參與的所有關係型態 黃三益2007資料庫的核心理論與實務第三版12-6練習12-1以圖13-1為例,分別列出Student和Teacher的所有屬性Ans:Student屬性:pId,name,sex,level,tId,deptTeacher屬性: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-25UML的類別圖表示法 UML裡定義了許多圖 絕大部分的圖都跟程式功能流程相關,其中只有類別圖(Class diagram)主要與資料面相關 類別圖的基本組成份子包括類別和關連類別的描述包括三個部分:類別名稱屬性(Attribute)運算方法(Operation)TransactiontNopayment bankId bankName cardType cardId dueDatetransTimemethod屬性:類別名稱:運算方法:get-method()get-transTime()set-method().黃三益2007資料庫的核心理論與實務第三版12-26UML的類別圖表示法(Cont.)類別圖裡的關連是用來描述類別與類別間的關係 關連上也可以設定角色(role),也有結構上的限制,採用類似(min,max)的方式一個表示0.,一個1表示1.1,表示沒上限 C1C2(min1.max1)(min2.max2)每一個每一個C1(C2)物件至少有)物件至少有min1(min2)至多有至多有max1(max2)個)個C2(C1)物件與它關連)物件與它關連 黃三益2007資料庫的核心理論與實務第三版12-27練習12-7:考慮公司和員工的關係,其中一個公司可以有1到多個員工,但每一位員工只能屬於一家公司。用UML類別圖的關連來表示用第二章M:N的關係型態來表示用第二章(min,max)的關係型態來表Ans:UMLM:N(min,max)黃三益2007資料庫的核心理論與實務第三版12-28UML的類別圖表示法(Cont.)類似關連的概念:彙總(Aggregation)和組合(Composition)彙總:引擎是汽車的組成部分,員工是公司的組成部分 用空心菱形表示與關連間的區別不清楚組合:類似彙總但隱含組成類別的物件不可單獨存在 用實心凌形表示常用來表示弱實體型態或多值屬性公司員工1*汽車零件1*黃三益2007資料庫的核心理論與實務第三版12-29mId pIdnamebirthdayphoneaddressemailintroducerIdMemberget mIdget pId.cartTimeCartget cartTimetNotransTimemethodpayment bankId bankName cardType cardId dueDateTransaction*11*1.*0.1ProductpNopNam ecat al oguni t Pri ceHasCorresponds0.1ConfirmsOrderamountBorwsebrowseTimeRecordsalePriceamountAuthorname*1黃三益2007資料庫的核心理論與實務第三版12-30UML的特殊化分類表示法UML的類別圖用一個三角形來表示特殊化分類。對於特殊化分類的限制,其表示法如下所述:分類標準:將特殊化分類名稱書寫於三角形旁。重複限制(Disjoint constraints):若是父類別的物件不可重複出現在子類別裡,則用空心三角形表示(擴充實體關係模式用d來表示);若是可重複出現,則用實心三角形表示(擴充實體關係模式用o來表示)。完全參與限制(Completeness constraints):若是完全特殊化(即一個父類別的物件一定要屬於至少一個子類別),則在三角形旁註解complete。黃三益2007資料庫的核心理論與實務第三版12-31ProductpNopNam ecat al oguni t Pri cecatalog(complete)DVDBookCDminutesisbnCDpi ecessongNam el engt h*SalesProductdiscount1KaohsiungStockProductTaipeiStockProductwarehouseDVDCDBook黃三益2007資料庫的核心理論與實務第三版12-32特殊化分類轉成關聯模式 愈來愈多的系統分析師採用物件導向方法論來設計系統,但物件導向資料庫管理系統的使用很不普遍 雖以物件導向的的方式來做資料塑模,最後還是需轉換成關聯模式特殊化分類的轉換,三種方式子類別和父類別分別產生關聯綱目 只有子類別產生關聯綱目 只有父類別產生關聯綱目 黃三益2007資料庫的核心理論與實務第三版12-33特殊化分類轉成關聯模式方式一(每個類別產生一個關聯綱目)替C產生一個關聯綱目,有C的所有屬性並以k為主鍵替每個子類別Si產生一個關聯綱目,有Si的所有屬性再加上k,並以k為主鍵。黃三益2007資料庫的核心理論與實務第三版12-34特殊化分類轉成關聯模式(Cont.)範例:圖13-2ProductpNonamecatalogunitPriceDVDpNominutesBookpNoisbnCDpiecespNosongNamelengthSalesProductpNodiscountKaohsiungStockProduct pNoTaipeiStockProductpNowarehouse黃三益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 ProductpNonamecatalogunitPriceminutesisbnsalesflagdiscountCDPiecespNosongNamelengthProductpNonamecatalogunitPriceKaohsiungFlagTaipeiFlagwarehouse黃三益2007資料庫的核心理論與實務第三版12-39群類轉成關聯綱目 替C產生一個關聯綱目,每個類別Si也個別產生一個關聯綱目C:群類C的屬性,再加上一個新的主鍵kc。若C本身已有關聯主鍵則不須另外附加。Si:類別Si上的屬性,再加上一個外部鍵,參考到C的關聯主鍵kc。CS1SnUS2k1k2kn.黃三益2007資料庫的核心理論與實務第三版12-40群類轉成關聯綱目(Cont.)範例:圖13-6 accountNo startDate AccountOwnerPersonCompanypId pName personAccount cId cName companyAccount 黃三益2007資料庫的核心理論與實務第三版12-41轉成關聯綱目的問題不管使用哪一種方式來將特殊化分類轉成關聯綱目都有可能喪失一些限制的資訊 考慮圖13-17的第一種轉換方式所得到的關聯綱目,該關聯綱目並無法確保每一個Book、DVD和CD的pNo值都存在於Product裡Book、DVD和CD的pNo值必然不同 這些喪失的限制必須靠SQL的Trigger來設定或使用應用程式來確保
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!