延伸式实体关系(EER)模型PPT课件.ppt
- 文档编号:18802447
- 上传时间:2023-11-22
- 格式:PPT
- 页数:48
- 大小:1.79MB
延伸式实体关系(EER)模型PPT课件.ppt
《延伸式实体关系(EER)模型PPT课件.ppt》由会员分享,可在线阅读,更多相关《延伸式实体关系(EER)模型PPT课件.ppt(48页珍藏版)》请在冰点文库上搜索。
1,延伸式實體關係(EER)模型,第4章,-,2,學習重點,延伸式ER(EER)模型概念子類別與超類別特殊化一般化特殊化與一般化的限制特殊化與一般化的插入和刪除規則特殊化與一般化階層和格狀結構分類(UNION型態)UML類別圖,-,3,延伸式ER(EER)模型概念,EER模型(Enhanced-ER或Extended-ER)包含了下列幾種概念:
所有基本ER模型的概念子類別(subclass)超類別(superclass)特殊化(specialization)一般化(generalization)分類(category)聯集型態(uniontype)屬性和關係繼承(inheritance),-,4,子類別與超類別(1/5),一個實體型態可能是由其它實體集合所組成的,例如:
EMPLOYEE可以更進一步分組為SECRETARY、ENGINEER、TECHNICIAN根據員工的工作性質MANAGER根據員工是否為主管SALARIED_EMPLOYEE、HOURLY_EMPLOYEE根據員工支領薪水的方式這些子集合的實體成員,都是屬於EMPLOYEE實體型態的子集合這些子集合的所有實體都是公司的員工,-,5,子類別與超類別(2/5),上述EMPLOYEE實體型態與它的子集合之間的關係,被稱之為超類別子類別(superclass/subclass)關係每個子集合被稱作是EMPLOYEE的子類別(subclass)EMPLOYEE則是這些子類別的超類別(superclass)在圖4.1中,有多個超類別子類別關係EMPLOYEE/SECRETARYEMPLOYEE/TECHNICIANEMPLOYEE/MANAGER,-,6,子類別與超類別(3/5),-,7,子類別與超類別(4/5),超類別子類別關係也稱作IS-A關係,例如SECRETARYIS-AEMPLOYEETECHNICIANIS-AEMPLOYEE注意:
屬於子類別成員的實體,所代表的真實世界實體,和超類別是一樣的。
也就是說,屬於子類別的實體,同時也必定屬於超類別例如,SECRETARY實體中的王小妹和EMPLOYEE中的王小妹是同一個超類別中的實體不一定會屬於子類別“貨車司機”在工作性質的分類中,不屬於任何一個子類別,-,8,子類別與超類別(5/5),範例:
一個領月薪(全職)的工程師會同時屬於ENGINEER子類別SALARIED_EMPLOYEE子類別一個領月薪(全職)的工程師主管會同時屬於ENGINEER子類別SALARIED_EMPLOYEE子類別MANAGER子類別屬性和關係的繼承子類別的實體會繼承(inherit)超類別中相同實體之全部屬性,及超類別所參與的關係子類別可能具有自己的屬性和關係,-,9,特殊化(1/4),特殊化(Specification):
定義超類別實體型態中一組子類別的程序每組子類別是根據超類別實體中不同的特性定義而成。
在圖4.1中SECRETARY,ENGINEER,TECHNICIAN是根據其超類別EMPLOYEE實體的工作性質特殊化而來SALARIED_EMPLOYEE,HOURLY_EMPLOYEE是依照付薪方式將EMPLOYEE特殊化而來同一個超類別可能會有數種特殊化方式,-,10,特殊化(2/4),表示法與討論:
連結子類別和超類別的實線就代表特殊化只套用在特定子類別實體上的屬性被稱作特殊屬性(specificattribute)或區域屬性(localattribute)如圖4.1中,SECRETARY的TypingSpeed子類別也可以參與特殊的關係型態如圖4.1中,HOURLY_EMPLOYEE會參與BELONGS_TO關係特殊化可能只包含一個子類別如圖4.1中,MANAGER子類別此情況下,不採用圓形符號來表示,-,11,特殊化(3/4),資料模型包含超類別子類別的兩個理由屬性:
某些特別的屬性是應用到實體型態中部份但並非全部的實體在圖4.1中,SECRETARY類別才有Typing_speed這個屬性在圖4.1中,ENGINEER類別則有Eng_type這個屬性在圖4.1中,SECRETARY和ENGINEER類別的其他屬性則繼承自EMPLOYEE類別關係:
某些關係型態只存在於某個子類別成員的實體在圖4.1中,只有HOURLY_EMPLOYEE可加入工會(tradeunion),所以透過BELONGS_TO關係去產生關聯,-,12,特殊化(4/4),總而言之,特殊化的過程會進行下列動作定義實體型態的一組子類別在每個子類別中增加額外的特殊化屬性在不同子類別之間,或是與其它實體型態或子類別之間,建立額外的特殊化關係型態,-,13,一般化(1/2),一般化(Generalization):
特殊化的反向程序將數個具有共同功能的類別一般化成為一個超類別,而原始的類別則變成它的子類別以圖4.3為例:
圖4.3(a)中有CAR和TRUCK兩個實體型態這兩個實體型態可被一般化成為VEHICLE實體型態,如圖4.3(b)所示。
此時CAR和TRUCK兩者都成為超類別VEHICLE的子類別我們可以將CAR,TRUCK視為VEHICLE的特殊化結果從另一方面來看,也可以將VEHICLE視為將CAR與TRUCK一般化之後的結果,-,14,一般化(2/2),-,15,特殊化與一般化的限制(1/6),假如可以藉由限定超類別的某些屬性值,即可決定出子類別的成員實體,這些子類別就稱為述詞定義(predicate-defined)子類別,或稱條件定義(condition-defined)子類別所謂的條件,是決定子類別成員的限制述詞定義子類別的表達方式是在子類別與其超類別圓形連結的線段旁對應的述詞如圖4.4中,Job_type=Secretary這個述詞用來設定SECRETARY子類別的成員條件,-,16,特殊化與一般化的限制(2/6),-,17,特殊化與一般化的限制(3/6),假如在特殊化的過程中,所有子類別與超類別屬性有相同的成員條件,則此特殊化稱為屬性定義特殊化(attributedefined-specialization)此屬性被稱作特殊化的定義屬性(definingattribute)範例:
JobType是從EMPLOYEE形成SECRETARY,TECHNICIAN,ENGINEER這個特殊化過程的定義屬性假如沒有這種定義成員的條件,此時這子類別就稱為使用者定義(user-defined)的子類別這種子類別的成員,是由資料庫使用者執行新增動作所決定每一個子類別中的成員是由使用者個別加入到子類別中,而不是依特定條件組成的,-,18,特殊化與一般化的限制(4/6),特殊化另外有二種限制:
分離性限制(disjointnessconstraint)完全性限制(completenessconstraint)分離性限制(disjointnessconstraint):
分離的(disjoint)指定特殊化的子類別必須是分離的一個實體最多只能屬於一個特殊化的子類別在EER圖中用d來表示重疊的(overlapping)子類別不是分離的,它們的實體可能重疊(overlap)相同實體可能屬於多個子類別在EER圖中用o來表示,-,19,特殊化與一般化的限制(5/6),完全性限制(completenessconstraint):
全部(total)全部特殊化是限定超類別中的每個實體都必須屬於特殊化的子類別在EER圖中是以雙實線來表示部份(partial)部份特殊化則是允許實體可以不屬於任何一個子類別在EER圖中是以單實線來表示,-,20,特殊化與一般化的限制(6/6),分離性限制與完全性限制是互相獨立的因此可得到以下4種可能的特殊化限制:
分離且全部特殊化(disjoint,total)分離且部份特殊化(disjoint,partial)重疊且全部特殊化(overlapping,total)重疊且部份特殊化(overlapping,partial)注意:
一般化的超類別通常是全部的,因為這個超類別是由子類別導出的,-,21,分離且部份特殊化範例,-,22,重疊且全部特殊化範例,-,23,特殊化與一般化的插入和刪除規則,一些適用於特殊化與一般化的插入和刪除規則假如刪除超類別中的某個實體,則自動從所有子類別中刪除同一實體假如在超類別中插入一個實體,則在所有述詞定義(或屬性定義)子類別中,也會自動強制加入符定定義述詞的實體如果在全部特殊化的超類別中加入一個實體,則該實體也會被強制加入到至少一個特殊化的子類別中,-,24,特殊化與一般化階層和格狀結構(1/3),子類別之下可能有自己的子類別,而形成一個特殊化的階層(hierarchy)或特殊化的格狀結構(lattice),如圖4.6階層:
限制每個子類別只能有一個超類別稱作單一繼承格狀結構:
一個子類別可以是多個超類別的子類別稱作多重繼承無論是在階層或格狀結構中,子類別不只是會從它的直接超類別繼承屬性,而是所有的上層超類別都繼承,-,25,特殊化與一般化階層和格狀結構(2/3),-,26,特殊化與一般化階層和格狀結構(3/3),共用子類別(sharedsubclass):
一個具有多個超類別的子類別,則稱之。
如圖4.6中的ENGINEERING_MANAGER有特殊化階層和格狀結構,同樣也有一般化階層和一般化格狀結構特殊化程序:
首先從某個實體型態開始,一直往下定義它的子類別由上而下概念精化的過程一般化程序:
首先從多個實體型態開始,找出它們的共同特性由下而上概念合成的過程在實務上也可以將這兩種程序合併使用,-,27,特殊化與一般化格狀結構範例(1/4),-,28,特殊化與一般化格狀結構範例(2/4),圖4.7中,UNIVERSITY資料庫部份需求如下:
資料庫儲存三種人的資料:
員工(EMPLOYEE)、校友(ALUMNUS)和學生(STUDENT)每個人可隸屬其中幾種類型每個人都有記錄姓名、SSN、性別、地址和生日員工(employee):
分成教員(faculty)、職員(staff)和學生助理(studentassistant)三類每個員工都有薪水(Salary)每個員工只能隸屬於其中一類校友(alumnus):
會記錄他/她所取得的一或多個學位(Degrees),它包括學位名稱(Degree)、哪一年取得(Year),以及主修科系(Major),-,29,特殊化與一般化格狀結構範例(3/4),教員(faculty):
記錄他/她的職等(rank)職員(staff);記錄他/她的職位(position)學生助理(student_assistant):
又分成研究助理(research_assistant)及教學助理(teaching_assistant)記錄每位學生助理的工作時間比例(percent_time)記錄研究助理所進行的研究計劃(project)記錄教學助理所負責協助的課程(course)學生(student):
又分成大學部(undergraduate_student)及研究生(graduate_student)每個學生都有一個主修科系(Major_dept)記錄大學部學生的年級(class)記錄研究生攻讀的學位(degree_program),-,30,特殊化與一般化格狀結構範例(4/4),圖4.7UNIVERSITY資料庫需求的進一步修訂補充PERSON可特殊化成EMPLOYEE,ALUMNUS,STUDENT這三個子類別校友(alumnus)可能是員工(employee),也可能是從大學部畢業正在攻讀碩士的研究生所以選擇使用重疊性限制(符號:
o)STUDENT子類別是GRADUDATE_STUDENT,UNDERGRADUATE_STUDENT特殊化的超類別EMPLOYEE是STUDENT_ASSISTANT,FACULTY,STAFF特殊化的超類別STUDENT_ASSISTANT也是STUDENT的子類別STUDENT_ASSISTANTD是RESEARCH_ASSISTANT,TEACHING_ASSISTANT的超類別,-,31,分類(UNION型態):
(1/6),前面內容的子類別類別關係都只有單一超類別共用子類別雖然是具有多個分開的超類別子類別關係的子類別,但它的每個關係都只有一個超類別(多重繼承)如圖4.7中,共用子類別ENGINEERING_MANAGER雖然有三個子類別超類別關係,但這三個關係個別都只有一個超類別聯集實體(uniontype)或分類(category):
在某些情況是需要將單一的超類別子類別關係建構成多個超類別,這些超類別分別代表不同的實體型態在圖4.8中,OWNER即是UNION型態,-,32,分類(UNION型態):
(2/6),-,33,分類(UNION型態):
(3/6),在圖4.8中,記錄汽車登記的資料庫中,車子擁有者可以是人(person)、銀行(bank,有車子抵押權)或公司(company)此時,聯集(union)型態OWNER是PERSON,BANK和COMPANY三個超類別的聯集的子集合聯集型態OWNER的成員必須存在於至少一個它的超類別中聯集型態與共用子類別的不同共用子類別的成員必須存在於所有超類別中共用子類別是其超類別交集的子集合聯集型態可能有兩個或更多個超類別,而這些超類別可能代表不同的實體型態,-,34,分類(UNION型態):
(4/6),圖4.8與圖4.6的比較在圖4.8,聯集型態OWNEROWNER的實體必須至少存在於一個超類別,而且只能一個。
也就是說,OWNER可能是PERSON,BANK或COMPANY的一份子依它隸屬的超類別,決定它要繼承的屬性在圖4.6,共用子類別ENGINEERING_MANAGER它是屬於ENGINEER、MANAGER和SALARIED_EMPLOYEE三個超類別的子類別一個屬於ENGINEERING_MANAGER的實體,必須同時存在於ENGINEER、MANAGER和SALARIED_EMPLOYEE三者之中繼承所有超類別的全部屬性,-,35,分類(UNION型態):
(5/6),圖4.8與圖4.3(b)的差異比較在圖4.8REGISTERED_VEHICLE分類不一定包括全部的CAR和TRUCK因為,可能有部份車子(CAR)或卡車(TRUCK)並沒有登記(register)在圖4.3(b)每一個CAR和TRUCK都是VEHICLE分類聯集型態的討論分類可以是全部(total)或部份(partial)全部的分類:
包含所有超類別中所有實體的聯集,以雙線連接分類與圓圈部份的分類:
則是聯集某一部份的子集合,以單線表示分類的超類別可能會有相同或不同鍵值屬性OWNER分類的超類別是不同鍵值REGISTERED_VEHICLE分類的超類別是相同鍵值,-,36,分類(UNION型態):
(6/6),圖4.3(b):
將CAR和TRUCK一般化產生超類別VEHICLE,-,37,University的EER綱要範例(1/5),-,38,University的EER綱要範例(2/5),每個人(PERSON)的個人資料:
姓名(name)、社會安全號碼(Ssn)、地址(Address)、性別(Sex)和生日(Bdate)PERSON實體型態有兩個子類別教職員(FACULTY):
職等(Rank)、辦公室(Foffice)、辦公室電話(Fphone)和薪資(Salary)學生(STUDENT):
年級(Class)大一=1,大二=2,大三=3,大四=4,研究生=5學生必須記錄他/她的主修系所(MAJOR)輔修系所(MINOR)目前所選修的課程(REGISTERED)成績(TRANSCRIPT):
包含學生的分數(Grade)系所(DEPARTMENT):
名稱(Dname)、電話(Dphone)、辦公室號碼(Office),-,39,University的EER綱要範例(3/5),教職員vs.所屬系所:
以BELONGS建立其關聯性一個教職員可同時屬於數個系所,關係為M:
N研究生(GRAD_STUDENT):
學位(Degrees,多值屬性)Degrees為複合屬性,包含College,Degree,Year三個屬性研究生vs.指導教授:
以ADVISOR建立其關聯性研究生vs.論文委員:
以COMMITTEE建立其關聯性學院(COLLEGE):
學院名稱(Cname)、辦公室號碼(Coffice)和院長姓名(Dean)系所vs.系主任:
以CHAIRS建立其關聯性系所vs.學院:
以CD建立其關聯性課程(COURSE):
課程代號(C#)、課程名稱(Cname)和課程簡介(Cdesc),-,40,University的EER綱要範例(4/5),課程vs.系所:
以DC建立其關聯性一個系所可以開多門課程課程班級(SECTION):
班別編號(Sec#)、開課的學期(Qtr)和開課的年份(Year)目前課程班級(CURRENT_SECTION):
代表這學期所開的班,因此是SECTION的子類別定義述詞為Qtr=Current_qtrandYear=Current_year課程vs.課程班級:
以CS建立其關聯性一門課可開授多個課程班級授課教師(INSTRUCTOR_RESEARCHER):
是教職員(FACULTY)和研究生(GRAD_STUDENT)聯集的子集合課程班級vs.授課教師:
以TEACH建立其關聯性,-,41,University的EER綱要範例(5/5),補助計劃(GRANT):
名稱(Title)、補助編號(No)、提供單位(Agency)和開始日期(St_date)補助計劃vs.教職員:
以PI建立其關聯性教職員可能擔任多個補助計劃的主持人補助計劃vs.授課教師:
以SUPPORT建立其關聯性記錄所有參與的人員必須記錄補助開始日期(Start)、結束日期(End)和人員執行計劃的時間(Time)每個計劃可能有多個參與人員每個人員可能參與多個計劃,-,42,UML類別圖(1/2),特殊化一般化與繼承的UML表示法以水平線與垂直線連接子類別,並用一個三角形以垂直線連到其超類別空白三角形:
代表特殊化/一般化的分離性限制填滿三角性:
代表特殊化/一般化的重疊性限制基底類別(baseclass):
指最上面的超類別如圖4.10中的PERSON類別末端類別(leftclass):
指末端的節點類別允許單一或多重繼承關係,-,43,UML類別圖(2/2),-,44,不同表示法的符號比較,-,45,小型機場的EER綱要範例(1/4),-,46,EachAIRPLANEhasattributeReg#,isofaparticularplanetypeOF_TYPE,andisstoredinaparticularhangarSTORE_IN.EachPLANE_TYPEhasattributes:
Model,Capacity,Weight.EachHANGERhasattributes:
Number,Capacity,Location.ThedatabasealsokeepstrackoftheOWNERsofeachplaneOWNSandtheEMPLOYEEswhohavemaintainedtheplaneMAINTAIN.EachrelationshipinstanceinOWNSrelatesanAIRPLANEtoanOWNERandincludesthepurchasedatePdate.EachrelationshipinstanceinMAINTAINrelatesanEMPLOYEEtoaservicerecordSERVICE.,小型機場的EER綱要範例(2/4),-,47,Eachplaneundergoesservicemanytimes,hence,itisrelatedbyPLANE_SERVICEtoanumberofSERVICErecords.ASERVICErecordsincludesattributes:
Date,Hours,Work_code.WeuseaweakentitytypeSERVICEtorepresentairplaneservice,becausetheairplaneregistrationnumberisusedtoidentifyaservicerecord.AOWNERiseitherapersonorcorporation.Auniontype(category)OWNERthatisasubsetoftheunionofcorporationCORPORATIONandpersonPERSONentitytypes.,小型機場的EER綱要範例(3/4),-,48,BothpilotsPILOTandemployeesEMPLOYEEaresubclassesofPERSON.EachPILOThasspecificattributes:
Lic_numandRestr.Eachemployeehasattributes:
SalaryandShift.AllPERSONentitieshaveattributes:
Ssn,Name,Address,andPhone.AllCORPORATIONentitieshaveattributes:
Name,Address,Phone.ThedatabasealsokeepstrackofthetypesofplaneseachpilotisauthorizedtoflyFLIES.thetypesofplaneseachemployeecandomaintenanceworkonWORKS_ON.,小型機場的EER綱要範例(4/4),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 延伸 实体 关系 EER 模型 PPT 课件
![提示](https://static.bingdoc.com/images/bang_tan.gif)