第2章實(shí)體-聯(lián)系數(shù)據(jù)模型課件_第1頁(yè)
第2章實(shí)體-聯(lián)系數(shù)據(jù)模型課件_第2頁(yè)
第2章實(shí)體-聯(lián)系數(shù)據(jù)模型課件_第3頁(yè)
第2章實(shí)體-聯(lián)系數(shù)據(jù)模型課件_第4頁(yè)
第2章實(shí)體-聯(lián)系數(shù)據(jù)模型課件_第5頁(yè)
已閱讀5頁(yè),還剩81頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章實(shí)體-聯(lián)系數(shù)據(jù)模型主講人:喻小光Email:40016076@2數(shù)據(jù)模型數(shù)據(jù)模型是用于描述數(shù)據(jù)或信息的標(biāo)志,有三個(gè)組成部分:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)上的約束一些重要的數(shù)據(jù)模型早期的網(wǎng)狀模型和層次模型關(guān)系數(shù)據(jù)模型半結(jié)構(gòu)化模型對(duì)象關(guān)系模型3數(shù)據(jù)模型數(shù)據(jù)庫(kù)是某個(gè)企業(yè)、組織或部門(mén)所涉及的數(shù)據(jù)的綜合,它不僅要反映數(shù)據(jù)本身的內(nèi)容,而且要反映數(shù)據(jù)之間的聯(lián)系?,F(xiàn)實(shí)世界中的數(shù)據(jù)要進(jìn)入到數(shù)據(jù)庫(kù)中,需要經(jīng)過(guò)人們的認(rèn)識(shí)、理解、整理、規(guī)范和加工??梢园堰@一過(guò)程劃分成三個(gè)主要階段:現(xiàn)實(shí)世界階段信息世界階段機(jī)器世界階段4

三個(gè)階段間的相互關(guān)系不依賴(lài)于具體機(jī)器和DBMS依賴(lài)于具體機(jī)器和DBMS現(xiàn)實(shí)世界信息世界:概念模型機(jī)器世界:某DBMS支持的數(shù)據(jù)模型抽象轉(zhuǎn)換現(xiàn)實(shí)世界事物及其聯(lián)系信息世界機(jī)器世界概念模型實(shí)施模型人腦的抽象DBMS的轉(zhuǎn)換圖數(shù)據(jù)模型的兩個(gè)級(jí)別數(shù)據(jù)庫(kù)模型通常包含概念模型和實(shí)施模型,反映了信息的兩重抽象5實(shí)體-聯(lián)系模型概念模型有多種表示方法,其中最常用的是

“實(shí)體-聯(lián)系方法”(EntityRelationshipApproach),簡(jiǎn)稱(chēng)E-R方法,E-R方法用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型E-R圖提供了表示實(shí)體集、屬性和聯(lián)系的方法(三要素)6主要內(nèi)容2.1E/R模型

2.2設(shè)計(jì)原則2.3E/R模型中的約束2.4弱實(shí)體集7E/R模型的元素E/R模型(Entity-relationshipmodel)實(shí)體集:同類(lèi)實(shí)體的集合實(shí)體是客觀存在并可相互區(qū)別的事件或物體在E/R圖中用矩形表示屬性:實(shí)體集中實(shí)體所具有的性質(zhì)在E/R圖中用與實(shí)體集相連的橢圓表示聯(lián)系:兩個(gè)或多個(gè)實(shí)體集間的連接。

E/R圖中用與相應(yīng)的實(shí)體集相連的菱形表示8ExampleAEntitysetBeershastwoattributes,nameandmanf(manufacturer).EachBeersentityhasvaluesforthesetwoattributes,e.g.(Bud,Anheuser-Busch)Beersnamemanf9ExampleBDrinkersaddrnameBeersmanfnameBarsnamelicenseaddrNote:license=beer,full,noneSellsBarssellsomebeers.LikesDrinkerslikesomebeers.FrequentsDrinkersfrequentsomebars.10一個(gè)貫穿全文的例子暗示每部電影只屬于唯一的電影公司11E-R圖實(shí)例用E/R圖描述的數(shù)據(jù)庫(kù)包含特定的數(shù)據(jù),稱(chēng)為數(shù)據(jù)庫(kù)實(shí)例。在數(shù)據(jù)庫(kù)實(shí)例中:對(duì)每個(gè)實(shí)體集,都有一個(gè)特定的有限實(shí)體集合。實(shí)體集中的每個(gè)實(shí)體對(duì)每個(gè)屬性都有特定的值數(shù)據(jù)庫(kù)實(shí)例也包含聯(lián)系的具體選擇。聯(lián)系n個(gè)實(shí)體集E1,E2,…,En的聯(lián)系R有一個(gè)實(shí)例,由列表(e1,e2,…,en)的有限集構(gòu)成,其中ei是從實(shí)體集Ei的當(dāng)前實(shí)例中選出的。這個(gè)列表集叫做R當(dāng)前實(shí)例的聯(lián)系集。12實(shí)體-聯(lián)系模型的基本概念(續(xù))基本概念

(1)數(shù)據(jù)庫(kù)實(shí)例:E/R圖描述的數(shù)據(jù)庫(kù)包含特定的數(shù)據(jù)稱(chēng)為數(shù)據(jù)庫(kù)實(shí)例。pp.75:4.1.5前兩段。(2)聯(lián)系集:2-3段。例如ExampleB中的聯(lián)系Sells的一個(gè)實(shí)例/聯(lián)系集如下:Bar BeerJoe’sBar BudJoe’sBar MillerSue’sBar BudSue’sBar Pete’sAleSue’sBar BudLite13E-R圖實(shí)例示例14二元E/R聯(lián)系的多樣性(1)多對(duì)一聯(lián)系:如果對(duì)于實(shí)體集E中的每一個(gè)實(shí)體,實(shí)體集F中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集F中的每一個(gè)實(shí)體,實(shí)體集E中至多只有一個(gè)(也可以沒(méi)有)實(shí)體與之聯(lián)系,則稱(chēng)實(shí)體集F與實(shí)體集E有多對(duì)一(many-one)聯(lián)系。實(shí)體集F實(shí)體集E15二元E/R聯(lián)系的多樣性(2)一對(duì)一聯(lián)系:如果對(duì)于實(shí)體集E中的每一個(gè)實(shí)體,實(shí)體集F中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱(chēng)實(shí)體集E與實(shí)體集F具有一對(duì)一聯(lián)系。實(shí)體集F實(shí)體集E16二元E/R聯(lián)系的多樣性(3)多對(duì)多聯(lián)系:如果對(duì)于實(shí)體集E中的每一個(gè)實(shí)體,實(shí)體集F中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集F中的每一個(gè)實(shí)體,實(shí)體集E中也有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱(chēng)實(shí)體集E與實(shí)體集F具有多對(duì)多聯(lián)系。實(shí)體集F實(shí)體集E17用箭頭表示E/R聯(lián)系的多樣性如果從實(shí)體集E到F是多對(duì)一聯(lián)系,就把箭頭指向F。箭頭表明實(shí)體集E中每個(gè)實(shí)體與實(shí)體集F中的最多一個(gè)實(shí)體聯(lián)系。如果實(shí)體集E和F是一對(duì)一聯(lián)系,就把箭頭同時(shí)指向E和F。18兩個(gè)例子RunsPresidents19多路聯(lián)系多路聯(lián)系是兩個(gè)以上實(shí)體集之間的聯(lián)系StarsMoviesContractsStudios一個(gè)制片公司與一位特定的影星簽約來(lái)演一部特定的電影指向Studios的箭頭表明對(duì)于某一影星和電影,只有一家電影公司與這位影星簽訂了出演此電影的合同20多路聯(lián)系中的箭頭符號(hào)在多路聯(lián)系中,指向?qū)嶓w集E的箭頭表示:如果從此聯(lián)系中除E之外的其他每個(gè)實(shí)體集選擇一個(gè)實(shí)體,它們至多與E中的一個(gè)實(shí)體有聯(lián)系。多路聯(lián)系中的關(guān)系是同時(shí)發(fā)生在兩方以上的。n路聯(lián)系中,箭頭指向的實(shí)體集是其他(n-1)個(gè)實(shí)體集的函數(shù)。換句話(huà)說(shuō),這種箭頭關(guān)系表明該實(shí)體集是其他(n-1)個(gè)實(shí)體集共同唯一決定的結(jié)果。21聯(lián)系中的角色角色:如果在一個(gè)聯(lián)系中同一個(gè)實(shí)體集出現(xiàn)兩次或多次,則該實(shí)體集與聯(lián)系間的每一條連線命名稱(chēng)為角色。Sequel-ofMoviesOriginalSequel22一個(gè)較復(fù)雜的例子StarsMoviesContractsStudiosStudioofstarProducingstudio23聯(lián)系的屬性聯(lián)系中可以包含屬性由聯(lián)系而產(chǎn)生的屬性StarsMoviesContractsStudiossalary思考:如果把salary(片酬)作為其他實(shí)體集的屬性,會(huì)有什么后果?24消除聯(lián)系的屬性可以創(chuàng)建一個(gè)實(shí)體集,將聯(lián)系的屬性轉(zhuǎn)嫁給該實(shí)體集,并在該實(shí)體集與聯(lián)系之間增加相應(yīng)的連線。25多路聯(lián)系到二元聯(lián)系的轉(zhuǎn)換有些數(shù)據(jù)模型限制聯(lián)系必須是二元的。而E/R模型不要求聯(lián)系必須是二元的。所以需要看一下聯(lián)接多個(gè)實(shí)體集的聯(lián)系怎樣轉(zhuǎn)化為一組二元的多對(duì)一聯(lián)系。26轉(zhuǎn)換方法在E/R模型中,我們可以引入一個(gè)新的實(shí)體集,并把它的實(shí)體看作是多路聯(lián)系所對(duì)應(yīng)的聯(lián)系集的元組。我們稱(chēng)這個(gè)實(shí)體集為連接實(shí)體集。然后,我們引入從連接實(shí)體集到為最初的多路聯(lián)系提供元組分量的每個(gè)實(shí)體集的多對(duì)一聯(lián)系如果一個(gè)實(shí)體集扮演多個(gè)角色,那么它將是每個(gè)角色所對(duì)應(yīng)的一個(gè)聯(lián)系的目標(biāo)。27示例28E-R模型中的子類(lèi)現(xiàn)實(shí)世界中的很多概念之間具有層次關(guān)系,ER模型可用實(shí)體集間的ISA關(guān)系來(lái)描述這種概念間的層次關(guān)系A(chǔ)isaB表示(A是B的)子類(lèi)聯(lián)系,在E-R圖中表示為一個(gè)三角形,頂角朝向父類(lèi)。isa聯(lián)系是一對(duì)一的。這里的子類(lèi)有三層含義它是原實(shí)體集的特例,具有特殊性;它是原實(shí)體集的子集;它比原實(shí)體集具有更多的屬性。29示例130isa結(jié)構(gòu)isa結(jié)構(gòu)被限制為樹(shù)形結(jié)構(gòu),即只有一個(gè)根的實(shí)體集,它是最具有普遍性的,其他逐漸具體化的實(shí)體集就由樹(shù)形結(jié)構(gòu)的根向下延伸。假設(shè)有一個(gè)由isa聯(lián)系聯(lián)接的樹(shù)形實(shí)體集。如果一個(gè)實(shí)體e在實(shí)體集E中有組成部分c,E在樹(shù)中的父實(shí)體集是F,那么e也有F中的組成部分d。另外,c和d必須在從E到F的isa聯(lián)系集中配對(duì)出現(xiàn)。e的組成部分有什么屬性,實(shí)體e就一定有什么屬性;它們參與什么聯(lián)系,e就一定參與什么聯(lián)系。31示例232課堂小思考請(qǐng)閱讀pp.80倒數(shù)二段話(huà)或P43頁(yè)第一段,理解其含義。如理解困難請(qǐng)進(jìn)一步結(jié)合例4.11或例2.22分析。習(xí)題4.1.1為一家銀行設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),包括客戶(hù)以及他們的賬戶(hù)信息。客戶(hù)信息包括姓名、地址、電話(huà)、社會(huì)保障號(hào),帳號(hào)信息包括號(hào)碼、類(lèi)型和余額。另外還需要記錄有帳號(hào)的客戶(hù)。為該數(shù)據(jù)庫(kù)畫(huà)一幅E/R圖。在適當(dāng)?shù)牡胤疆?huà)上箭號(hào),以表示聯(lián)系的多樣性。

4.1.2按如下要求修改上題的解決方法:a)修改圖使一個(gè)帳戶(hù)只有一個(gè)顧客b)修改圖使一個(gè)顧客只有一個(gè)賬戶(hù)c)修改圖,使顧客可以有多個(gè)地址(街道,城市,州組成的三元組)和多個(gè)電話(huà)號(hào)碼,記住E/R模型不允許屬性有非原子類(lèi)型進(jìn)一改圖,使顧客可以有一組地址,每個(gè)地址有一組電話(huà)號(hào)碼33主要內(nèi)容2.1E/R模型2.2設(shè)計(jì)原則2.3約束的建模2.4弱實(shí)體集34設(shè)計(jì)原則忠實(shí)性避免冗余簡(jiǎn)單性考慮選擇正確的聯(lián)系選擇正確的元素種類(lèi)35(1)忠實(shí)性忠實(shí)性:所設(shè)計(jì)的實(shí)體集、屬性和聯(lián)系必須要能夠反映應(yīng)用需求背景中的實(shí)際情況。例如:不能把屬性“氣缸數(shù)”與stars聯(lián)系,卻可以把它作為汽車(chē)的屬性。例如:Stars和Movies之間定義聯(lián)系Star-in,應(yīng)該是多對(duì)多聯(lián)系例如:實(shí)體集Course和Instructors之間的聯(lián)系Teaches,是多對(duì)一聯(lián)系?還是多對(duì)多聯(lián)系?36(2)避免冗余避免冗余:一件事如果在模型中多次出現(xiàn)就意味著冗余。應(yīng)當(dāng)注意每件事只說(shuō)一次。冗余會(huì)造成存儲(chǔ)空間的浪費(fèi),并且為了保持?jǐn)?shù)據(jù)一致性,要求更多的同步處理機(jī)制。37示例在電影和電影公司之間用了聯(lián)系Owns。又把電影公司的名稱(chēng)studioName選作電影實(shí)體集的一個(gè)屬性。這種做法是危險(xiǎn)的:兩次表示“所屬的制片公司”這一同樣的事實(shí),比任何一次單獨(dú)的表示都占用了更多的空間。當(dāng)電影被賣(mài)掉后,可能改變了被聯(lián)系Owns聯(lián)接的所屬制片公司,卻忘記改變?cè)撾娪暗腟tudioName屬性值,反之亦然。當(dāng)然,人們可以強(qiáng)調(diào)決不應(yīng)做這樣粗心大意的事,但是實(shí)際上錯(cuò)誤是常有的。38Example:GoodBeersManfsManfBynameThisdesigngivestheaddressofeachmanufacturerexactlyonce.nameaddr39Example:BadBeersManfsManfBynameThisdesignstatesthemanufacturerofabeertwice:asanattributeandasarelatedentity.namemanfaddr40Example:BadBeersnameThisdesignrepeatsthemanufacturer’saddressonceforeachbeerandlosestheaddressiftherearetemporarilynobeersforamanufacturer.manfmanfAddr41(3)簡(jiǎn)單性考慮簡(jiǎn)單性考慮:用盡可能少的元素來(lái)描述模型,如果有必要,再逐步逐個(gè)擴(kuò)充。示例:電影所有權(quán)Holdings可以真實(shí)地反映現(xiàn)實(shí)世界,但沒(méi)有實(shí)際用途,并使Movies和Studios的聯(lián)系變得復(fù)雜,沒(méi)有它更好。42(4)選擇正確的聯(lián)系聯(lián)系也可能冗余,即一個(gè)聯(lián)系聯(lián)接起來(lái)的實(shí)體對(duì)或?qū)嶓w集可以從一個(gè)或多個(gè)其他聯(lián)系中導(dǎo)出聯(lián)系的冗余會(huì)占用更多空間,數(shù)據(jù)的一處變動(dòng)會(huì)引起儲(chǔ)存聯(lián)系的多處變動(dòng),使數(shù)據(jù)庫(kù)的修改更復(fù)雜。選擇正確的聯(lián)系:根據(jù)實(shí)際問(wèn)題需求判斷要?jiǎng)?chuàng)建哪些必要的聯(lián)系,如果冗余或者和問(wèn)題需求無(wú)關(guān)的聯(lián)系就可以舍棄。43示例1是否需要添加如下的2個(gè)二元聯(lián)系呢?Stars-inOwns取決于實(shí)際問(wèn)題中對(duì)這三個(gè)聯(lián)系的假定44示例2在Stars與Studios之間增加聯(lián)系Works-for有意義嗎?45(5)選擇正確的元素種類(lèi)人們可以選擇不同的元素類(lèi)型來(lái)表示現(xiàn)實(shí)世界選擇正確的元素種類(lèi):使用屬性?還是使用實(shí)體集?使用實(shí)體集?還是使用聯(lián)系?46問(wèn)題1:屬性代替實(shí)體集的思考將實(shí)體集Studios去掉,將其屬性name和address作為movies的兩個(gè)屬性合理嗎?Studios-nameStudios-address如果沒(méi)有記錄Studios-address,只把Studios-name作為Movies的一個(gè)屬性,有危害嗎?47用屬性代替實(shí)體集E的條件所有與實(shí)體集E有關(guān)的聯(lián)系必須有指向E的箭頭,即E必須是1對(duì)多聯(lián)系的1方。E的屬性必須總體上標(biāo)示一個(gè)實(shí)體如果只有一個(gè)屬性則肯定符合如果有幾個(gè)屬性,那么不能有屬性依賴(lài)于其他屬性。如Studios中address依賴(lài)于name沒(méi)有聯(lián)系包含E多次48用屬性代替實(shí)體集的方法Step1:如果從實(shí)體集F到E有多對(duì)一聯(lián)系R,那么刪除R和實(shí)體集E,并把E的屬性作為F的屬性。如果屬性名沖突則重命名。Step2:如果有多路聯(lián)系R的箭頭指向E,則把E的屬性作為R的屬性,并刪除從R到E的弧。49示例50問(wèn)題2:實(shí)體集代替聯(lián)系的思考假設(shè)參與合同的電影公司限制為2個(gè),一個(gè)為影星所屬的電影公司,另一個(gè)為電影的制作公司,那么Contracts作為“多路聯(lián)系”或作為“附帶若干個(gè)二元聯(lián)系的連接實(shí)體集”都是適合的。51問(wèn)題2(續(xù))但如果假設(shè)合同中可以包含任意數(shù)目的電影公司,且分別承擔(dān)不同的分工(制作、特效、發(fā)行……)。則更好的辦法是把合同Contracts看作為一個(gè)實(shí)體集更合適多對(duì)多聯(lián)系52Example:GoodBeersManfsManfBynameManfsdeservestobeanentitysetbecauseofthenonkeyattributeaddr.Beersdeservestobeanentitysetbecauseitisthe“many”ofthemany-onerelationshipManfBy.nameaddr53Example:GoodBeersnameThereisnoneedtomakethemanufactureranentityset,becausewerecordnothingaboutmanufacturersbesidestheirname.manf54Example:BadBeersManfsManfBynameSincethemanufacturerisnothingbutaname,andisnotatthe“many”endofanyrelationship,itshouldnotbeanentityset.name55課堂練習(xí)pp.86習(xí)題4.2.1,4.2.256課堂練習(xí)pp.86習(xí)題4.2.357主要內(nèi)容2.1E/R模型2.2設(shè)計(jì)原則2.3約束的建模2.4弱實(shí)體集582.3約束的建模約束是模式的一部分。鍵(key)

:實(shí)體集中唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或?qū)傩约?。不存在兩個(gè)實(shí)體,其構(gòu)成鍵的所有屬性值都相同。但允許部分相同單值約束(single-valueconstraints):指值在某種情況下有惟一性的要求。鍵是單值約束的主要來(lái)源,因?yàn)樗笠粋€(gè)實(shí)體集中的每個(gè)實(shí)體在鍵屬性上都有惟一值。參照完整性約束(referenceintegrityconstraints):要求某個(gè)對(duì)象所引用的值必須在數(shù)據(jù)庫(kù)中實(shí)際存在。引用完整性與禁止懸掛指針或懸掛引用很相似。域的約束(domainconstraints):要求屬性的值必須在一個(gè)具體的集合或范圍內(nèi)。一般約束(generalconstraints):是需要在數(shù)據(jù)庫(kù)中得到滿(mǎn)足的任意要求。59E/R模型中的鍵實(shí)體集E的鍵是由一個(gè)或多個(gè)屬性組成的集合K,對(duì)于來(lái)自E的不同實(shí)體e1和e2,它們包含在鍵K中的屬性沒(méi)有完全相同的值。如果K由多個(gè)屬性組成,對(duì)于e1和e2,雖然它們可以部分相同,但決不會(huì)全部相同。必須保證一個(gè)實(shí)體集至少有一個(gè)鍵碼(稱(chēng)為實(shí)體完整性約束?。?。60關(guān)于鍵的三個(gè)要點(diǎn)(1)鍵可以由多個(gè)屬性組成。(2)一個(gè)實(shí)體集可以有多個(gè)鍵。但是,習(xí)慣上只選擇一個(gè)作為“主鍵”。(3)當(dāng)一個(gè)實(shí)體集處于一個(gè)isa層次中時(shí),要求根實(shí)體集擁有鍵所需的所有屬性,并且每個(gè)實(shí)體集的鍵都可在根實(shí)體集中找到它的組成部分,而不論在層次中有多少個(gè)實(shí)體集有它的組成部分。也就是說(shuō):根的鍵也是所有節(jié)點(diǎn)的鍵,但節(jié)點(diǎn)的鍵可以是其子集。61E/R模型中鍵的表示一個(gè)實(shí)體集的鍵屬性用下劃線標(biāo)出。當(dāng)一個(gè)實(shí)體有幾個(gè)鍵時(shí),只在主鍵下劃線。還要注意一些不常見(jiàn)的情況下,一個(gè)實(shí)體集的鍵屬性并不完全屬于它自己,叫“弱實(shí)體集”62約束是模式的一部分pp.45(史)文本框中的文字如何選擇鍵?如何設(shè)定各種約束?關(guān)鍵在于“約束是模式的一部分”,所以必須由設(shè)計(jì)者根據(jù)數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)際應(yīng)用需求背景結(jié)合數(shù)據(jù)庫(kù)模式設(shè)計(jì)中其他要素進(jìn)行設(shè)計(jì)。如例2.19中對(duì)實(shí)體集Movies鍵的思考:

title--->title+year,注意特例

,由于注冊(cè)原因,該屬性不會(huì)重值

--->stars.藝名--->name+address更普遍的情況:創(chuàng)建一個(gè)屬性作為鍵。ID63Example:nameisKeyforBeersBeersAlesisanamemanfcolor注意:如果一個(gè)實(shí)體集有多個(gè)鍵,則下劃線只標(biāo)出主鍵!64Example:aMulti-attributeKeyCoursesdeptnumberhoursroom

Notethathoursandroomcouldalsoserveasakey,butwemustselectonlyonekey.65示例P45(史)例2.23P46(史)例2.24創(chuàng)造一個(gè)屬性作為鍵的想法是非常普遍的。66單值約束屬性的單值約束一個(gè)實(shí)體的每個(gè)屬性最多只有一個(gè)值非主屬性必要時(shí)允許為“空”(null)。而構(gòu)成主碼的屬性(無(wú)論是全部,或者一部分!)任何時(shí)候必須有一個(gè)值,且不能為“空”!。聯(lián)系的單值約束(1:1或1:n)E-R圖中用菱形并帶“箭頭”的連線表示!如果從關(guān)系R到實(shí)體集E有一個(gè)箭頭,那么與E相關(guān)聯(lián)的實(shí)體集中每個(gè)實(shí)體至多對(duì)應(yīng)E的一個(gè)實(shí)體。如:每個(gè)電影實(shí)體有唯一的名字、出品年份、片長(zhǎng)和電影類(lèi)型如:每部電影只屬于唯一的電影公司67引用完整性單值約束針對(duì)實(shí)體集內(nèi)部或?qū)嶓w集間多對(duì)一/一對(duì)一聯(lián)系;而引用完整性針對(duì)實(shí)體集間聯(lián)系。

假設(shè)R是實(shí)體集E到F的聯(lián)系,E/R圖中可用圓箭頭指向F表示此聯(lián)系從E到F不僅是多對(duì)一或一對(duì)一,而且要求對(duì)于E中當(dāng)前存在的一個(gè)實(shí)體e,F上必須存在一個(gè)相對(duì)應(yīng)的實(shí)體f(注意不可空)當(dāng)R是多個(gè)實(shí)體集之間的聯(lián)系時(shí)同樣如此。EFR引用實(shí)體被引用實(shí)體68示例①每部電影至多被一家電影公司所擁有(多對(duì)一聯(lián)系),且如果它被某個(gè)電影公司所擁有,要求該電影公司必須存在于Studios實(shí)體集中(引用完整性)②每位經(jīng)理至多經(jīng)營(yíng)一家電影公司(一對(duì)一聯(lián)系),且該公司必須存在于Studios實(shí)體集中(引用完整性)。③每家電影公司至多一位經(jīng)理(一對(duì)一聯(lián)系)①②③69實(shí)現(xiàn)過(guò)程中保證引用完整性的措施禁止被引用實(shí)體的刪除操作被引用實(shí)體刪除,則同時(shí)刪除所有引用它的實(shí)體新增實(shí)體時(shí),它所引用的實(shí)體必須存在引用目標(biāo)變化時(shí),新的引用實(shí)體必須存在引用實(shí)體被引用實(shí)體引用實(shí)體70其他類(lèi)型的約束域約束:屬性值必須取自一個(gè)有限集的約束例如:對(duì)屬性類(lèi)型聲明,屬性值域限制例如:電影的片長(zhǎng)屬性必須是從0-240之間的整數(shù)聯(lián)系程度約束如電影實(shí)體連到的影星實(shí)體不能多于10位E/R模型中可以在聯(lián)系到實(shí)體的連線上加一個(gè)數(shù)字,表示相關(guān)實(shí)體集中可被聯(lián)系到的實(shí)體數(shù)目約束71課堂思考習(xí)題2.3.2習(xí)題2.3.3,注意解答過(guò)程的數(shù)學(xué)描述。如理解困難請(qǐng)進(jìn)一步結(jié)合例4.11或例2.22分析。72主要內(nèi)容2.1E/R模型2.2設(shè)計(jì)原則2.3約束的建模2.4弱實(shí)體集73弱實(shí)體集若實(shí)體集E的所有屬性集均不能獨(dú)立成鍵,即組成實(shí)體集E的鍵碼屬性的一部份(或全部),必須來(lái)自其它實(shí)體集的鍵碼屬性,這樣的實(shí)體集稱(chēng)為弱實(shí)體集。74弱實(shí)體集的符號(hào)雙邊的矩形表示弱實(shí)體集雙邊的菱形表示弱實(shí)體集的多對(duì)一支持聯(lián)系。鍵屬性用下劃線表示。以上約定可以用下面的規(guī)則概述:但凡實(shí)體集E有雙邊,它就是弱實(shí)體集E中帶下劃線的屬性(如果有的話(huà)),加上E被雙邊的多對(duì)一聯(lián)系指向的實(shí)體集的鍵屬性,必定對(duì)E的實(shí)體是惟一的。弱實(shí)體集與提供鍵屬性的實(shí)體集間的聯(lián)系75弱實(shí)體集的來(lái)源(1)實(shí)體集屬于層次結(jié)構(gòu),但不是isa聯(lián)系如果集合E中的實(shí)體是集合F中實(shí)體的一部分,那么可能僅考慮E實(shí)體的名字將不具有惟一性,直到再考慮了E實(shí)體所屬的F實(shí)體的名字后惟一性才成立。(2)連接實(shí)體集連接實(shí)體集被作為消除多路聯(lián)系的一種方法,本質(zhì)上不是真正意義上的實(shí)體,所以它的鍵必須借助于相關(guān)實(shí)體集,由它所連接的實(shí)體的鍵屬性構(gòu)成。76示例1來(lái)源1:實(shí)體集屬于層次結(jié)構(gòu)

鍵=公司名+組號(hào)鍵=公司名攝制組制片公司屬于組號(hào)公司名地址拍攝班子77示例2樓與小區(qū):樓的鍵:小區(qū)名+樓號(hào)住戶(hù)數(shù)樓小區(qū)小區(qū)名樓號(hào)面積位置層數(shù)屬于78示例3來(lái)源2:連接實(shí)體集(為消除多路聯(lián)系而引入)合同的鍵由電影公司的名字、參演影星的名字、電影名字和出品日期組成。79Examplenameisalmostakeyforfootballplayers,buttheremightbetwowiththesamename.numberiscertainlynotakey,sinceplayersontwoteamscouldhavethesamenumber.Butnumber,togetherwiththeteamnamerelatedtotheplayerbyPlays-onshouldbeunique.80InE/RDiagramsPlayersTeamsPlays-onname

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論