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

下載本文檔

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

文檔簡(jiǎn)介

DATABASESYSTEMCONCEPTS第7章數(shù)據(jù)庫設(shè)計(jì)和E-R模型引子現(xiàn)計(jì)劃為某大學(xué)設(shè)計(jì)一個(gè)教室管理信息系統(tǒng),管理的內(nèi)容包括教室、班級(jí)、教師、學(xué)生、課程、教學(xué)設(shè)備、教室管理員。請(qǐng)按你的理解完成以下要求。畫出E-R圖,轉(zhuǎn)換成關(guān)系模式,根據(jù)關(guān)系模式,用關(guān)系代數(shù)寫出以下查詢:引子(1)找出姓名為王平的學(xué)生周一3、4節(jié)上課的教室號(hào)、課程名、教師名、班長名(2)找出周四5、6節(jié)能容納150以上、具有投影儀和空調(diào)且使用狀態(tài)正常的空教室,給出教室號(hào)、管理員姓名、管理員電話引子P28:圖2-9;P63:圖3-18,圖3-19,圖3-20對(duì)應(yīng)的E-R圖是什么?提綱基本概念映射約束弱實(shí)體集擴(kuò)展ER特性ER模型設(shè)計(jì)要點(diǎn)概念數(shù)據(jù)庫設(shè)計(jì)過程ER模型向關(guān)系模式的轉(zhuǎn)換7.1設(shè)計(jì)過程概覽歷史ER模型:Entity-RelationshipModel1976年,P.P.S.Chen提出ER模型,用ER圖來描述概念模型觀點(diǎn)世界是由一組稱作實(shí)體的基本對(duì)象和這些對(duì)象之間的聯(lián)系構(gòu)成的語義模型力圖表達(dá)數(shù)據(jù)的意義概念模型設(shè)計(jì)例:學(xué)生選修課程學(xué)生課程選修姓名學(xué)號(hào)系別課程名先修課學(xué)分成績用矩形表示實(shí)體集,在框內(nèi)寫上實(shí)體名用橢圓表示實(shí)體的屬性用無向邊把實(shí)體與其屬性連接起來用菱形表示實(shí)體間的聯(lián)系將參與聯(lián)系的實(shí)體用線段連接mn聯(lián)系的數(shù)量邏輯模型設(shè)計(jì)學(xué)生=(學(xué)號(hào),姓名,系別)課程=(課程名,先修課,學(xué)分)選修=(學(xué)號(hào),課程名,成績)銀行系統(tǒng)的ER圖邏輯模型設(shè)計(jì)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實(shí)體-聯(lián)系模型一、實(shí)體集實(shí)體(Entity)客觀存在并可相互區(qū)分的事物叫實(shí)體實(shí)體名標(biāo)識(shí),如學(xué)生,課程如學(xué)生:張三、李四,課程:計(jì)算機(jī)原理、數(shù)據(jù)庫概論實(shí)體集(EntitySet)同型實(shí)體的集合稱為實(shí)體集,如全體學(xué)生實(shí)體集可相交實(shí)體型實(shí)體型實(shí)體名和屬性名組成實(shí)體型。對(duì)關(guān)系模型就是關(guān)系模式。例如,學(xué)生(學(xué)號(hào),姓名,性別,年齡,系別,入學(xué)時(shí)間),是學(xué)生實(shí)體型。(98080221,王平,女,19,計(jì)算機(jī),1998)是一個(gè)實(shí)體。customer-idcustomer-namecustomer-streetcustomer-cityloanamount基本概念--實(shí)體基本概念—屬性屬性(Attribute)實(shí)體特征,通過其值區(qū)分不同的實(shí)體例如,學(xué)生=(學(xué)號(hào),姓名,年齡,系)學(xué)生實(shí)體集={(001,李明,年齡,21,中文),…},一般:實(shí)體對(duì)應(yīng)表中一個(gè)元組(記錄)屬性對(duì)應(yīng)表中一個(gè)字段(數(shù)據(jù)項(xiàng))實(shí)體集對(duì)應(yīng)一個(gè)表屬性的類型簡(jiǎn)單屬性:不可再分的屬性如學(xué)號(hào)、年齡、性別復(fù)合屬性:可以劃分為更小的屬性可以把相關(guān)屬性聚集起來,使模型更清晰如電話號(hào)碼=區(qū)號(hào)+本地號(hào)碼出生日期=年、月、日

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

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

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

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

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

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

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

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

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

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

高層實(shí)體集和低層實(shí)體集分別轉(zhuǎn)為表低層實(shí)體集所對(duì)應(yīng)的關(guān)系包括高層實(shí)體集的碼本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號(hào)DissertationPapers軍訓(xùn)學(xué)生(姓名,學(xué)號(hào))本科生(學(xué)號(hào),軍訓(xùn))研究生(學(xué)號(hào),論文)ER模型向關(guān)系模式的轉(zhuǎn)換如果概括是不相交并且是全部的,即一個(gè)高層實(shí)體最多并且只能屬于一個(gè)低層實(shí)體集,則可以不為高層實(shí)體集建立關(guān)系碼,低層實(shí)體集所對(duì)應(yīng)的關(guān)系包括上層實(shí)體集的的所有屬性本科生(學(xué)號(hào),姓名,軍訓(xùn))研究生(學(xué)號(hào),姓名,論文)本科生研究生學(xué)生ISA碩士ISA博士姓名學(xué)號(hào)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的地址需要訪問兩個(gè)表方案2person(name,street,city)customer(name,street,city,credit-rating)employee(name,street,city,salary)如果概括是全部的,無須創(chuàng)建person表缺點(diǎn):地址信息對(duì)同時(shí)是customer和employee的人存儲(chǔ)兩次ER模型向關(guān)系模式的轉(zhuǎn)換聚集:

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論