數(shù)據(jù)庫6版講稿第七章-數(shù)據(jù)庫設(shè)計與E-R模型_第1頁
數(shù)據(jù)庫6版講稿第七章-數(shù)據(jù)庫設(shè)計與E-R模型_第2頁
數(shù)據(jù)庫6版講稿第七章-數(shù)據(jù)庫設(shè)計與E-R模型_第3頁
數(shù)據(jù)庫6版講稿第七章-數(shù)據(jù)庫設(shè)計與E-R模型_第4頁
數(shù)據(jù)庫6版講稿第七章-數(shù)據(jù)庫設(shè)計與E-R模型_第5頁
已閱讀5頁,還剩121頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

DATABASESYSTEMCONCEPTS第7章數(shù)據(jù)庫設(shè)計和E-R模型引子現(xiàn)計劃為某大學(xué)設(shè)計一個教室管理信息系統(tǒng),管理的內(nèi)容包括教室、班級、教師、學(xué)生、課程、教學(xué)設(shè)備、教室管理員。請按你的理解完成以下要求。畫出E-R圖,轉(zhuǎn)換成關(guān)系模式,根據(jù)關(guān)系模式,用關(guān)系代數(shù)寫出以下查詢:引子(1)找出姓名為王平的學(xué)生周一3、4節(jié)上課的教室號、課程名、教師名、班長名(2)找出周四5、6節(jié)能容納150以上、具有投影儀和空調(diào)且使用狀態(tài)正常的空教室,給出教室號、管理員姓名、管理員電話引子P28:圖2-9;P63:圖3-18,圖3-19,圖3-20對應(yīng)的E-R圖是什么?提綱基本概念映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換7.1設(shè)計過程概覽歷史ER模型:Entity-RelationshipModel1976年,P.P.S.Chen提出ER模型,用ER圖來描述概念模型觀點(diǎn)世界是由一組稱作實體的基本對象和這些對象之間的聯(lián)系構(gòu)成的語義模型力圖表達(dá)數(shù)據(jù)的意義概念模型設(shè)計例:學(xué)生選修課程學(xué)生課程選修姓名學(xué)號系別課程名先修課學(xué)分成績用矩形表示實體集,在框內(nèi)寫上實體名用橢圓表示實體的屬性用無向邊把實體與其屬性連接起來用菱形表示實體間的聯(lián)系將參與聯(lián)系的實體用線段連接mn聯(lián)系的數(shù)量邏輯模型設(shè)計學(xué)生=(學(xué)號,姓名,系別)課程=(課程名,先修課,學(xué)分)選修=(學(xué)號,課程名,成績)銀行系統(tǒng)的ER圖邏輯模型設(shè)計customer=(customer-id,…,Employee-id)loan=(loan-number,…,

Branch-number

)account=(

account-number,

,…,

Branch-number)Branch=(Branch-number

,…)Employee=(Employee-id,…,manager-id)Payment=(loan-number,Payment-number…,)Borrower=(customer-id,loan-number,…,)Depositor==(customer-id,account-number,

…,)7.2實體-聯(lián)系模型一、實體集實體(Entity)客觀存在并可相互區(qū)分的事物叫實體實體名標(biāo)識,如學(xué)生,課程如學(xué)生:張三、李四,課程:計算機(jī)原理、數(shù)據(jù)庫概論實體集(EntitySet)同型實體的集合稱為實體集,如全體學(xué)生實體集可相交實體型實體型實體名和屬性名組成實體型。對關(guān)系模型就是關(guān)系模式。例如,學(xué)生(學(xué)號,姓名,性別,年齡,系別,入學(xué)時間),是學(xué)生實體型。(98080221,王平,女,19,計算機(jī),1998)是一個實體。customer-idcustomer-namecustomer-streetcustomer-cityloanamount基本概念--實體基本概念—屬性屬性(Attribute)實體特征,通過其值區(qū)分不同的實體例如,學(xué)生=(學(xué)號,姓名,年齡,系)學(xué)生實體集={(001,李明,年齡,21,中文),…},一般:實體對應(yīng)表中一個元組(記錄)屬性對應(yīng)表中一個字段(數(shù)據(jù)項)實體集對應(yīng)一個表屬性的類型簡單屬性:不可再分的屬性如學(xué)號、年齡、性別復(fù)合屬性:可以劃分為更小的屬性可以把相關(guān)屬性聚集起來,使模型更清晰如電話號碼=區(qū)號+本地號碼出生日期=年、月、日

如出生日期定義為簡單屬性取1984/8/12屬性的類型屬性的類型單值屬性:每一個特定的實體在該屬性上的取值唯一如學(xué)生的學(xué)號,年齡、性別、系別等多值屬性:屬性上有多于一個的取值如作者(張平,李華,劉寧)NULL屬性null表示“空值”,屬性上沒有值時設(shè)為null,定義數(shù)據(jù)庫時可選,進(jìn)行邏輯、計數(shù)或求和時有規(guī)定。如一個學(xué)生年齡為空時,年齡>20,怎么判

屬性的類型派生屬性從其他相關(guān)的屬性或?qū)嶓w派生出來的屬性值學(xué)生=(學(xué)號,姓名,出生日期,年齡,平均成績)選課=(學(xué)號,課程號,成績)

年齡:由系統(tǒng)時間減出生日期得到平均成績:由選課的成績除以課程總數(shù)來得到。年齡、平均成績稱為派生屬性,出生日期、成績稱為基屬性,或存儲屬性屬性在ER圖中的表示表示要點(diǎn)多值屬性用雙橢圓表示派生屬性用虛橢圓表示學(xué)生姓名選修課程學(xué)生姓名平均成績系別屬性在ER圖中的表示基本概念—域域(Domain)屬性的取值范圍例如,性別的域為(男、女)月份的域為1到12的整數(shù),成績的域取integer域?qū)?yīng)數(shù)據(jù)類型域可取缺省定義,也可以用語句顯式定義CREATEDOMAINAGE_DOMAINSMALLINT基本概念--碼碼(Key)能唯一標(biāo)識實體的屬性或最小屬性集,也稱為實體鍵。具有唯一性的特點(diǎn),即給出碼屬性的一個值,到實體集中或只找出一個實體或一個也找不到如果有多個碼,每個碼都稱為侯選碼,從中指定一個作為主碼。例如職工實體集中,職工號為候選碼,若姓名不重,也是候選碼。超碼:候選碼的超集,比候選碼有多余的屬性,也能唯一標(biāo)識一個實體。任一表都有碼?;荆牛覉D要點(diǎn)碼在ER圖中的表示實體集屬性中作為主碼的一部分的屬性用下劃線來標(biāo)明。學(xué)生課程選修姓名學(xué)號系別課程名先修課學(xué)分基本ER圖要點(diǎn)基本概念--聯(lián)系聯(lián)系集聯(lián)系:實體之間的相互關(guān)聯(lián),用聯(lián)系名標(biāo)識,分為兩(多)實體集之間實體的關(guān)聯(lián),同一實體集內(nèi)部實體之間的關(guān)聯(lián)。如學(xué)生與課程間的選課,學(xué)生與學(xué)生間的領(lǐng)導(dǎo)聯(lián)系的類型兩實體集之間1:1聯(lián)系如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之關(guān)聯(lián),反之亦然。注意:至多一個,意味著可以沒有。映射的基數(shù)如“職工”與“部門”之間的“管理”聯(lián)系(假定每個部門只有一個經(jīng)理,一個職工不能兼任兩個部門經(jīng)理)注:一對一不是一一對應(yīng)職工部門管理基本概念--聯(lián)系

例如,班級實體集與學(xué)生實體集間有1∶1的班長聯(lián)系,聯(lián)系名是班長。兩實體集之間1:n聯(lián)系如果對于實體集A中的每個實體,實體集B中有n個實體(n≥0)與之關(guān)聯(lián),反之,對實體集B中的每個實體,實體集A中至多有一個實體與之關(guān)聯(lián)。例如,院系實體集與學(xué)生實體集有一對多的隸屬聯(lián)系,聯(lián)系名是隸屬。注意,n的取值可以為0,這意味著A中的某個實體在B中并沒有實體與之關(guān)聯(lián)。映射基數(shù)在ER圖中的表示多方實體集單方實體集聯(lián)系R從A到B是多對一ABR表示要點(diǎn)用箭頭或線段來表示聯(lián)系的映射基數(shù)映射的基數(shù)如“教師”和“學(xué)生”之間的“班主任”聯(lián)系教師學(xué)生班主任基本概念--聯(lián)系兩實體集之間m:n聯(lián)系如果對于實體集A中的每個實體,實體集B中有m個實體(m≥0)與之關(guān)聯(lián),反之,對于實體集B的每個實體,實體集A中也有n個實體(n≥0)與之關(guān)聯(lián)。例如,課程實體集與學(xué)生實體集之間有選課聯(lián)系,聯(lián)系名是選課。注意,n和m的值都可以為0。多實體集之間m:n:p聯(lián)系例如,設(shè)備實體集,供貨商實體集,工程實體集之間的供貨聯(lián)系,聯(lián)系名是供應(yīng)。映射的基數(shù)兩個實體間多對多如“學(xué)生”和“課程”之間的“選修”聯(lián)系學(xué)生課程選修聯(lián)系R從A到B是多對多ABR多個實體集間聯(lián)系如“課程”,“教員”,“參考書”之間的“講課”聯(lián)系教員參考書講課課程映射的基數(shù)基本概念--聯(lián)系聯(lián)系集borrower基本概念--聯(lián)系實體集customer與account之間的聯(lián)系集depositor具有屬性access-date基本概念--聯(lián)系同一實體集內(nèi)聯(lián)系

同一實體集內(nèi)各實體間的聯(lián)系也呈現(xiàn)一對一,一對多,多對多的形式。例如,職工實體集內(nèi)部有一對多的領(lǐng)導(dǎo)聯(lián)系;學(xué)生實體集內(nèi)有一對一的同位聯(lián)系;零部件實體集內(nèi)有組裝的m∶n的聯(lián)系。聯(lián)系的參與度(participation)。每個實體有一個參與聯(lián)系的次數(shù),取最小、最大的參與次數(shù)min和max,定義實體集的參與度。映射的基數(shù)一個實體集內(nèi)的二元聯(lián)系一對一eiE,至多存在一個ejE,與之相聯(lián)系(j≠i)如“職工”之間的“配偶”聯(lián)系一對多如“職工”內(nèi)部的“領(lǐng)導(dǎo)”聯(lián)系多對多如“零件”之間的“構(gòu)成”聯(lián)系職工領(lǐng)導(dǎo)領(lǐng)導(dǎo)屬下職工配偶丈夫妻子構(gòu)成零件母零件子零件基本概念--聯(lián)系聯(lián)系的參與度(participation)。每個實體有一個參與聯(lián)系的次數(shù),取最小、最大的參與次數(shù)min和max,定義實體集的參與度。min=0,稱聯(lián)系為部分參與;如果min>0,稱聯(lián)系為全參與。Max限制每個實體的參與次數(shù)。參與在ER圖中的表示customer部分參與聯(lián)系borrowerLoan完全參與聯(lián)系borrower用雙線連接聯(lián)系與完全參與的實體基本概念--聯(lián)系

聯(lián)系的屬性。實體有屬性,聯(lián)系也可以有屬性。例如,選課聯(lián)系中可以有成績屬性。聯(lián)系集參與聯(lián)系的實體組成的集合。聯(lián)系一般也用表來表示,取各實體的主碼和聯(lián)系的屬性組成表結(jié)構(gòu)基本概念--聯(lián)系例如學(xué)生實體集與課程實體集有選課聯(lián)系,聯(lián)系集屬性是學(xué)號、課程號以及成績。選課的學(xué)生和被選的課程參加聯(lián)系集。注意:聯(lián)系一般用表來表示,是否建立表與聯(lián)系的類型有關(guān)。聯(lián)系集的碼聯(lián)系一般也用表來表示,其碼由各實體的主碼組成。如選課表的碼是學(xué)號和課程號?;靖拍?-角色角色(Role)實體在聯(lián)系中的作用稱為實體的角色當(dāng)同一個實體集不止一次參與一個聯(lián)系集時,為區(qū)別各實體的參與聯(lián)系的方式,需要顯式指明其角色如學(xué)生與學(xué)生間的班長關(guān)系,職工與職工之間的經(jīng)理關(guān)系,課程之間的先修關(guān)系角色在ER圖中的表示角色表示當(dāng)需要顯式區(qū)分角色時,在連接菱形和矩形的線上加上說明性標(biāo)注以區(qū)別不同的角色職員雇傭管理工作角色在ER圖中的表示映射的基數(shù)映射的基數(shù)會影響到ER設(shè)計,例如customer與account之間是1:n聯(lián)系,則可將access-date作為account的屬性映射的基數(shù)若customer與account之間是m:n聯(lián)系,access-date則必須作為聯(lián)系集depositor的屬性映射的基數(shù)One-To-ManyOne-To-One映射的基數(shù)Many-To-ManyMany-To-One存在依賴存在依賴(ExistenceDependency)如果實體x的存在依賴于實體y的存在,則稱x存在依賴于yy稱作支配實體,x稱作從屬實體如果y被刪除,則x也要被刪除考慮分期付款的例子,對每一個“貸款”實體,有若干個“還款”實體與之關(guān)聯(lián),“還款”實體存在依賴于“貸款”實體全部參與與存在依賴設(shè)ARB,若A存在依賴于B,則A全部參與聯(lián)系R提綱基本概念及對應(yīng)的ER模型映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換弱實體集弱實體集(WeakEntitySet)如果一個實體集的所有屬性都不足以形成主碼,則稱這樣的實體集為弱實體集貸款(貸款號,金額),還款(還款號,還款日期,金額),每個“貸款”的各個“還款”不同,但不同“貸款”之間的“還款”卻可能相同,因此“還款”是一個弱實體集產(chǎn)品(名稱,價格),公司(名稱,地址,聯(lián)系電話),“產(chǎn)品”與“公司”之間有“制造”聯(lián)系,“產(chǎn)品”是一個弱實體集。弱實體集弱實體集與其擁有者之間的聯(lián)系稱作標(biāo)識性聯(lián)系(identifyingrelationship)弱實體集與強(qiáng)實體集之間是一對多的聯(lián)系弱實體集與存在依賴弱實體集必然存在依賴于強(qiáng)實體集(StrongEntitySet)存在依賴并不總會導(dǎo)致一個弱實體集,從屬實體集可以有自己的主碼 如實體集信用卡(信用卡號,客戶帳號,金額),它存在依賴于客戶帳號實體集,但信用卡有自己的主碼信用卡號。弱實體集分辨符(Discriminator)弱實體集中用于區(qū)別依賴于某個特定強(qiáng)實體集的屬性集合。也稱作部分碼(partialkey)如“還款”中的還款號弱實體集的主碼由該弱實體集所存在依賴的強(qiáng)實體集的主碼和該弱實體集的分辨符組成如“還款”主碼=貸款號+還款號“產(chǎn)品”主碼=公司名稱+產(chǎn)品名稱。弱實體集為什么使用弱實體集?通過為弱實體集加上合適的屬性,可轉(zhuǎn)變?yōu)閺?qiáng)實體集,為什么還要使用弱實體集?避免數(shù)據(jù)冗余(強(qiáng)實體集碼重復(fù)),以及因此帶來的數(shù)據(jù)的不一致性弱實體集反映了一個實體對其它實體依賴的邏輯結(jié)構(gòu)弱實體集可以隨它們的強(qiáng)實體集的刪除而自動刪除弱實體集可以物理地隨它們的強(qiáng)實體集存儲弱實體集弱實體集的引入作為層次結(jié)構(gòu)的一部分實體集的一些多值、復(fù)合屬性可以抽取出來作為弱實體集如果弱實體集不但參與和強(qiáng)實體集之間的標(biāo)識性聯(lián)系,而且參與和其它實體集的聯(lián)系,或者弱實體集本身含有很多屬性,則將其表述為弱實體集如果弱實體集只參與和強(qiáng)實體集之間的標(biāo)識性聯(lián)系,或者弱實體集本身屬性不多,則將其表述為屬性弱實體集參與其它聯(lián)系消費(fèi)帳戶隸屬消費(fèi)號帳戶號消費(fèi)金額金額利息隸屬順序號利息記息弱實體集弱實體集在E-R圖中的表示弱實體集以雙邊框的矩形表示標(biāo)識性聯(lián)系以雙邊框的菱形表示從聯(lián)系集用雙線(全部參與)連接弱實體集,用箭頭(一對多聯(lián)系)指向強(qiáng)實體集弱實體集的分辨符用下劃虛線標(biāo)明弱實體集還款貸款隸屬還款號貸款號還款金額貸款金額弱實體集產(chǎn)品公司制造產(chǎn)品名地址價格公司名聯(lián)系電話弱實體集提綱基本概念及對應(yīng)的ER模型映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換擴(kuò)展ER特性特殊化(Specialization)概括(Generalization)屬性繼承(AttributeInheritance)設(shè)計約束(DesignConstraints)聚集(Aggregation)特殊化特殊化實體集中某些子集具有區(qū)別于該實體集內(nèi)其它實體的特性,可以根據(jù)這些差異特性對實體集進(jìn)行分組,這一分組的過程稱作特殊化自頂向下、逐步求精父類子類子類=特例=更小的實體集=更多的屬性一個銀行帳號可以有存款帳號、貸款帳號學(xué)生可以有研究生、本科生特殊化特殊化在E-R圖中的表示特殊化用標(biāo)記為ISA的三角形來表示ISA=“isa”,表示高層實體和低層實體之間的“父類-子類”聯(lián)系本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號DissertationPapers軍訓(xùn)特殊化概括概括各個實體集根據(jù)共有的性質(zhì),合成一個較高層的實體集。概括是一個高層實體集與若干個低層實體集之間的包含關(guān)系自底向上、逐步合成概括Vs特殊化概括與特殊化是個互逆的過程,在E-R圖中的表示方法是相同的特殊化強(qiáng)調(diào)同一實體集內(nèi)不同實體之間的差異,概括強(qiáng)調(diào)不同實體集之間的相似性反映了數(shù)據(jù)庫設(shè)計的不同方法屬性繼承屬性繼承高層實體集的屬性被低層實體集自動繼承低層實體集特有的性質(zhì)僅適用于某個特定的低層實體集如“Dissertation”屬性只適用于“研究生”實體集層次結(jié)構(gòu)(Hierarchy)實體集作為低層實體集只能參與到一個ISA聯(lián)系中格結(jié)構(gòu)(Lattice)低層實體集可以參與到多個ISA聯(lián)系中如“博士”算參加工作,會繼承“職工”實體集的一些屬性

“博士”繼承了“研究生”與“職工”的所有屬性。如果“研究生”與“職工”有相同名稱的屬性,如“姓名”,則在“博士”中用“研究生.姓名”,“職工.姓名”區(qū)別開來。本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號DissertationPapers軍訓(xùn)職工姓名工齡ISA屬性繼承成員資格確定哪些實體能成為給定低層實體集的成員條件定義的(Condition-Defined)一個實體成員資格的確定基于該實體是否滿足一個顯式的條件或謂詞假定“學(xué)生”實體集具有屬性“學(xué)生類型”,則所有的學(xué)生實體根據(jù)“學(xué)生類型”進(jìn)行成員資格認(rèn)定,如一個學(xué)生的“學(xué)生類型”=“本科生”,則他就可以歸入低層“本科生”實體集中系統(tǒng)可以自動檢查條件定義的約束用戶定義的(User-Defined)由數(shù)據(jù)庫用戶來指定一個實體歸入哪個低層實體集如一個學(xué)生被老師分配到某個項目組設(shè)計約束成員身份同一個概括中,一個實體是否可以屬于多個不同低層實體集不相交的(Disjoint)一個實體至多屬于一個低層實體集如一個學(xué)生只能參加一個項目組有重疊的(Overlapping)同一實體可以同時屬于同一概括的多個低層實體集如一個老師可以參加多個項目組設(shè)計約束全部性約束確定高層實體集中的一個實體是否必須屬于某個概括的至少一個低層實體集全部的(Total)每個高層實體必須屬于一個低層實體集如學(xué)生必須屬于“本科生”或“研究生”的一種部分的(Partial)允許一些高層實體不屬于任何低層實體集如學(xué)生可以不屬于任何項目組。、設(shè)計約束聚集聯(lián)系之間存在重疊,如何表達(dá)聯(lián)系之間的聯(lián)系?實例:職工參加項目,并在此過程中可能使用機(jī)器職工項目參加姓名工種名稱類型機(jī)器名型號方案2工時使用機(jī)器聚集職工項目參加并使用姓名工種名稱類型機(jī)器名型號方案1工時機(jī)器聚集姓名名稱機(jī)器名e1j1m1e1j1m2e1j2m3e2j1m1姓名名稱工時e1j13e1j24e2j15e3j24e4j24e5j26e6j25姓名名稱機(jī)器名工時e1j1m13e1j1m23e1j2m34e2j1m15e3j2null4e4j2null4e5j2null6e6j2null5方案1方案2聚集是一種抽象,通過它聯(lián)系被作為高層實體集。實體集A與B以及它們的聯(lián)系可被看成另一實體集C使用聚集來消除冗余將聯(lián)系作為抽象實體允許聯(lián)系之間存在聯(lián)系將聯(lián)系抽象進(jìn)新的實體中聚集ABR1R2D聚集職工項目參加姓名工種名稱類型機(jī)器名型號工時使用機(jī)器制造商批發(fā)商聯(lián)營名稱地址名稱地址產(chǎn)品名價格時間分送產(chǎn)品聚集ER圖表示匯總ER圖表示匯總提綱基本概念及對應(yīng)的ER模型映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換對于一個數(shù)據(jù)對象究竟作為實體還是屬性或聯(lián)系是相對的,決定于應(yīng)用背景和設(shè)計者的偏愛。一般說來,按數(shù)據(jù)粒度確定實體與屬性,能形成元組的設(shè)計成實體,只是單一數(shù)據(jù)項的設(shè)計成屬性。設(shè)計E-R圖時一定與將來轉(zhuǎn)化成關(guān)系模式結(jié)合起來,要考慮表的多少,查找數(shù)據(jù)的方便。ER模型設(shè)計要點(diǎn)實體集Vs屬性職工姓名電話適于一個員工只有一部電話的情況職工電話聯(lián)系電話姓名號碼地址適于多個員工共有一部電話,一個員工多個電話,電話本身具有多個屬性的情況ER模型設(shè)計要點(diǎn)員工抽象為一個實體電話若只是一個數(shù)據(jù)項則作為員工的屬性,電話若需多個屬性描述設(shè)計成實體。例:員工有多部電話,一個電話屬多個員工,電話在不同的地方

1.設(shè)計成屬性,表結(jié)構(gòu)是:員工=(姓名,性別,職務(wù),號碼,地點(diǎn))這樣,查找員工的電話號方便,查找地點(diǎn)也方便,但數(shù)據(jù)冗余大,姓名,性別,職務(wù)隨電話增加而冗余。ER模型設(shè)計要點(diǎn)2.若設(shè)計成實體,表結(jié)構(gòu)是:員工=(姓名,性別,職務(wù))電話=(號碼,地址)聯(lián)系電話=(姓名,號碼)這樣,冗余小了,但查找某員工的電話地點(diǎn)要查兩個表。ER模型設(shè)計要點(diǎn)ER模型設(shè)計要點(diǎn)實體有多方面性質(zhì),屬性沒有,如城市為屬性,只一個,為實體,可以多個屬性項目名稱城市項目城市位于名稱名稱面積人口ER模型設(shè)計要點(diǎn)實體中,多值屬性,還要其它若干屬性,則將該多值屬性定義為另一實體供應(yīng)商可以供應(yīng)多種零件供應(yīng)商姓名零件零件供應(yīng)名稱供應(yīng)商姓名地址電話ER模型設(shè)計要點(diǎn)實體集Vs聯(lián)系集教師課程開課姓名名稱單純表示“教師”實體與“課程”實體之間的行為聯(lián)系實體與聯(lián)系:靜態(tài)與動態(tài),若多個老師開同一門課,則每個老師與該課程的聯(lián)系都需重復(fù)記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點(diǎn)班級教師課程開課姓名名稱時間地點(diǎn)班級ER模型設(shè)計要點(diǎn)實體與聯(lián)系:靜態(tài)與動態(tài),若多個老師開同一門課,則每個老師與該課程的聯(lián)系都需重復(fù)記錄很多相同的信息,開課改為實體,與課程是1:N,與教師是N:M開課時間地點(diǎn)班級教師課程開課姓名名稱時間地點(diǎn)班級ER模型設(shè)計要點(diǎn)例如,病人,醫(yī)生,病歷,病歷作為實體,是四個表,作為聯(lián)系是三個表ER模型設(shè)計要點(diǎn)提綱基本概念及對應(yīng)的ER模型映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換概念數(shù)據(jù)庫設(shè)計過程ER方案選擇對現(xiàn)實世界概念要作出準(zhǔn)確而有效的表達(dá)用實體集還是屬性用實體集還是聯(lián)系集用二元聯(lián)系還是多元聯(lián)系用強(qiáng)實體集還是弱實體集是否要用概括是否要用聚集概念數(shù)據(jù)庫設(shè)計過程需求分析結(jié)果確定局部結(jié)構(gòu)范圍實體定義聯(lián)系定義屬性分配局部ER模式設(shè)計全局ER模式設(shè)計概念數(shù)據(jù)庫設(shè)計過程局部ER模式確定公共實體類型合并兩個局部ER模式檢查并消除沖突全局ER模式設(shè)計還有未合并的局部模式?全局ER模式優(yōu)化無有概念數(shù)據(jù)庫設(shè)計過程-消除沖突屬性沖突屬性域的沖突:屬性的類型、取值范圍不同如不同學(xué)校的學(xué)號編碼方式不同屬性取值單位沖突如重量分別采用磅、千克結(jié)構(gòu)沖突同一對象在不同應(yīng)用中的抽象不同如職工在某應(yīng)用中是實體,在另一應(yīng)用中則抽象為屬性同一實體在不同E-R圖中屬性組成不同實體之間的聯(lián)系在不同E-R圖中呈現(xiàn)不同的類型命名沖突同名異義:不同意義的對象具有相同的名字異名同義:同一意義的對象具有不同的名字概念數(shù)據(jù)庫設(shè)計過程合并實體類型消除冗余屬性消除冗余聯(lián)系全局ER模式優(yōu)化全局ER模式邏輯數(shù)據(jù)庫設(shè)計銀行系統(tǒng)的ER圖概念數(shù)據(jù)庫設(shè)計過程例:在教學(xué)管理系統(tǒng)中,要處理的數(shù)據(jù)有學(xué)生,班級,課程,教師,參考書五部分,

聯(lián)系根據(jù)語義說明,本例的語義說明是,每個學(xué)生隸屬一個班級;每個學(xué)生要選修多門課程;每門課程可由多個學(xué)生選修,每個學(xué)生選修的課程有一個成績;一門課程可由多個教師開設(shè),并指定多本參考書,而一個教師只能講授一門課程,一本參考書只用于一門課程,學(xué)生中有班級領(lǐng)導(dǎo)。概念數(shù)據(jù)庫設(shè)計過程例:在工廠管理系統(tǒng)中,需要管理的數(shù)據(jù)由五部分組成,職工,部門,產(chǎn)品,零件,供應(yīng)商其屬性如下:職工:職工號,姓名,性別,年齡,工種,級別部門:部門號,部門名,負(fù)責(zé)人,電話產(chǎn)品:產(chǎn)品號,產(chǎn)品名,型號概念數(shù)據(jù)庫設(shè)計過程零件:零件代號,零件名稱,規(guī)格,價格供應(yīng)商:供應(yīng)商名,地址,聯(lián)系人,電話語義說明如下:職工隸屬一個部門,每個職工有一個直屬領(lǐng)導(dǎo);一個產(chǎn)品由多個職工生產(chǎn),由一個職工負(fù)責(zé)檢驗;一個產(chǎn)品由多零件組裝,一種零件可以組裝多種產(chǎn)品;產(chǎn)品和零件既可以由供應(yīng)商供應(yīng),也可以由職工加工。提綱基本概念及對應(yīng)的ER模型映射約束弱實體集擴(kuò)展ER特性ER模型設(shè)計要點(diǎn)概念數(shù)據(jù)庫設(shè)計過程ER模型向關(guān)系模式的轉(zhuǎn)換7.6轉(zhuǎn)換為關(guān)系模式實體關(guān)系屬性關(guān)系的屬性S(SNO,SNAME,DEPT)學(xué)生姓名學(xué)號系別屬性的轉(zhuǎn)換多值屬性新的關(guān)系+所在實體的碼選課(學(xué)號,所選課程號)學(xué)生姓名學(xué)號所選課程復(fù)合屬性將每個組合屬性作為復(fù)合屬性所在實體的屬性學(xué)生姓名學(xué)號年月出生日期日學(xué)生(學(xué)號,姓名,年,月,日)關(guān)系模式的轉(zhuǎn)換弱實體集:所對應(yīng)的關(guān)系的碼由弱實體集本身的分辯符再加上所依賴的強(qiáng)實體集的碼產(chǎn)品(產(chǎn)品名,價格,公司名)

產(chǎn)品公司制造產(chǎn)品名地址價格公司名聯(lián)系電話弱實體集與強(qiáng)實體集之間的聯(lián)系已經(jīng)在弱實體集所對應(yīng)的關(guān)系中表示出來了ER模型向關(guān)系模式的轉(zhuǎn)換ER模型向關(guān)系模式的轉(zhuǎn)換概括:

高層實體集和低層實體集分別轉(zhuǎn)為表低層實體集所對應(yīng)的關(guān)系包括高層實體集的碼本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號DissertationPapers軍訓(xùn)學(xué)生(姓名,學(xué)號)本科生(學(xué)號,軍訓(xùn))研究生(學(xué)號,論文)ER模型向關(guān)系模式的轉(zhuǎn)換如果概括是不相交并且是全部的,即一個高層實體最多并且只能屬于一個低層實體集,則可以不為高層實體集建立關(guān)系碼,低層實體集所對應(yīng)的關(guān)系包括上層實體集的的所有屬性本科生(學(xué)號,姓名,軍訓(xùn))研究生(學(xué)號,姓名,論文)本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號DissertationPapers軍訓(xùn)ER模型向關(guān)系模式的轉(zhuǎn)換ER模型向關(guān)系模式的轉(zhuǎn)換方案1

person(name,street,city)customer(name,credit-rating)employee(name,salary)缺點(diǎn):查詢employee的地址需要訪問兩個表方案2person(name,street,city)customer(name,street,city,credit-rating)employee(name,street,city,salary)如果概括是全部的,無須創(chuàng)建person表缺點(diǎn):地址信息對同時是customer和employee的人存儲兩次ER模型向關(guān)系模式的轉(zhuǎn)換聚集:

實體集A與B以及它們的聯(lián)系R被看成實體集C,C與另一實體集D構(gòu)成聯(lián)系S,則S所對應(yīng)的關(guān)系的碼由R和D的碼構(gòu)成。使用(職工姓名,項目名稱,機(jī)器名)職工項目參加姓名工種項目名稱類型機(jī)器名型號工時使用機(jī)器ER模型向關(guān)系模式的轉(zhuǎn)換一.實體轉(zhuǎn)換強(qiáng)實體集,將每個強(qiáng)實體集直接轉(zhuǎn)換為一個關(guān)系,實體的碼作為關(guān)系的碼,實體的屬性作為關(guān)系的屬性。弱實體集,將每個弱實體集直接轉(zhuǎn)換為一個關(guān)系,關(guān)系中增加強(qiáng)實體集的碼。多值屬性單獨(dú)建表超類實體建表,屬性包括所有共有屬性。ER模型向關(guān)系模式的轉(zhuǎn)換子類實體建表,屬性包括超類的碼和子類所獨(dú)有的屬性。如果概括是不相交的且全部的,不為超類建表,只為子類建表。聚集可以單獨(dú)建表,也可以不建表,用聯(lián)系對聯(lián)系表達(dá)。二.實體間聯(lián)系的轉(zhuǎn)換總原則:N:M聯(lián)系單獨(dú)建表,其他,增加屬性。ER模型向關(guān)系模式的轉(zhuǎn)換兩實體間1:N的聯(lián)系。將1方實體的碼納入N方實體對應(yīng)的關(guān)系中,作為N方實體關(guān)系的外碼。如果聯(lián)系本身有屬性,則將屬性也納入N方實體對應(yīng)的關(guān)系中。例:倉庫實體與產(chǎn)品實體為1:N的聯(lián)系,其中倉號、產(chǎn)品號分別為兩實體的碼,E-R圖如下:轉(zhuǎn)換步驟:(1)實體轉(zhuǎn)換為關(guān)系:倉庫(倉號,地點(diǎn),面積,負(fù)責(zé)人)產(chǎn)品(產(chǎn)品號,名稱,價格)ER模型向關(guān)系模式的轉(zhuǎn)換(2)N方增加屬性:產(chǎn)品(產(chǎn)品號,名稱,價格,倉號,數(shù)量,位置)(3)最終轉(zhuǎn)換結(jié)果:倉庫(倉號,地點(diǎn),面積,負(fù)責(zé)人產(chǎn)品(產(chǎn)品號,名稱,價格,倉號,數(shù)量,位置)ER模型向關(guān)系模式的轉(zhuǎn)換同一實體間1:N的聯(lián)系。在實體對應(yīng)的關(guān)系中增加屬性,屬性包括:與N個體相聯(lián)系的1個體的碼,以及聯(lián)系的屬性。例:職工實體之間有1:N的領(lǐng)導(dǎo)聯(lián)系,其中職工號為碼。E-R圖如下:轉(zhuǎn)換步驟:(1)實體轉(zhuǎn)換為關(guān)系:職工(職工號,姓名,性別,職務(wù)))ER模型向關(guān)系模式的轉(zhuǎn)換(2)增加屬性:職工(職工號,姓名,性別,職務(wù),領(lǐng)導(dǎo)職工號,評價最終轉(zhuǎn)換結(jié)果:職工(職工號,姓名,性別,職務(wù),領(lǐng)導(dǎo)職工號,評價)關(guān)系實例:

ER模型向關(guān)系模式的轉(zhuǎn)換職工職工號姓名性別職務(wù)領(lǐng)導(dǎo)職工號評價1張三男職員2合格2李四女副科3不合格3王五男科長4趙六男職員2優(yōu)秀ER模型向關(guān)系模式的轉(zhuǎn)換3.兩實體間M:N的聯(lián)系。聯(lián)系單獨(dú)轉(zhuǎn)換為一個關(guān)系,屬性包括:兩實體的碼、聯(lián)系的屬性。例:學(xué)生與課程之間有M:N的聯(lián)系,學(xué)號、課號分別是實體的碼,E-R圖如下:轉(zhuǎn)換步驟:(1)實體轉(zhuǎn)換為關(guān)系:學(xué)生(學(xué)號,姓名,系別,系主任)課程(課號,課名,學(xué)分)ER模型向關(guān)系模式的轉(zhuǎn)換(2)聯(lián)系轉(zhuǎn)換為關(guān)系:選課(學(xué)號,課號,成績,時間)(3)最終轉(zhuǎn)換結(jié)果:學(xué)生(學(xué)號,姓名,系別,系主任)課程(課號,課名,學(xué)分)選課(學(xué)號,課號,成績,時間)ER模型向關(guān)系模式的轉(zhuǎn)換同一實體間M:N的聯(lián)系。聯(lián)系單獨(dú)轉(zhuǎn)換為一個關(guān)系,屬性包括:個體的碼、與之有聯(lián)系的另一個體的碼、以及聯(lián)系的屬性。例:零部件實體之間有M:N的組裝聯(lián)系,其中代號為碼。E-R圖如下:轉(zhuǎn)換步驟:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論