建立數(shù)據(jù)模型_第1頁(yè)
建立數(shù)據(jù)模型_第2頁(yè)
建立數(shù)據(jù)模型_第3頁(yè)
建立數(shù)據(jù)模型_第4頁(yè)
建立數(shù)據(jù)模型_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章建立(jiànlì)數(shù)據(jù)模型5.1建立實(shí)體聯(lián)系模型5.2E―R模型的設(shè)計(jì)方法5.3E―R模型向關(guān)系模型的轉(zhuǎn)化5.4歷史(lìshǐ)上有影響的數(shù)據(jù)模型5.5數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展精品資料5.1建立(jiànlì)實(shí)體聯(lián)系模型數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心(héxīn)和基礎(chǔ)。但現(xiàn)實(shí)世界總是先抽象成信息世界,然后才能轉(zhuǎn)化為數(shù)據(jù)世界。信息世界是對(duì)現(xiàn)實(shí)世界的抽象。因此,信息世界不可能等價(jià)于現(xiàn)實(shí)世界。但是,信息世界必須:(1)真實(shí)。忽略的是非本質(zhì)內(nèi)容,與研究無(wú)關(guān)的內(nèi)容;抽象的是本質(zhì)內(nèi)容,確實(shí)存在的內(nèi)容。精品資料(2)完整、精確。信息世界應(yīng)有豐富的語(yǔ)義表達(dá)能力,能模擬現(xiàn)實(shí)世界的各種情況。(3)易于理解(lǐjiě),易于修改,特別是易于用戶理解(lǐjiě)。(4)易于向DBMS所支持的數(shù)據(jù)模型轉(zhuǎn)換。現(xiàn)實(shí)世界抽象成信息世界的目的,是為了實(shí)現(xiàn)信息的計(jì)算機(jī)處理。精品資料信息(xìnxī)世界中的數(shù)據(jù)模型又稱為概念模型。作為從現(xiàn)實(shí)世界到其他數(shù)據(jù)模型轉(zhuǎn)換的中間模型,概念模型不考慮數(shù)據(jù)的操作,而只是用比較有效、自然的方式描述現(xiàn)實(shí)世界的數(shù)據(jù)及其聯(lián)系。在設(shè)計(jì)概念模型時(shí),最著名、最實(shí)用的是P.P.S.Chen于1976年提出的“實(shí)體―聯(lián)系模型”(Entity―RelationshipApproach,簡(jiǎn)稱E―R模型)。精品資料5.1.1實(shí)體聯(lián)系模型的基本構(gòu)成實(shí)體聯(lián)系(E―R)數(shù)據(jù)模型所采用的三個(gè)主要概念是:實(shí)體集、聯(lián)系集和屬性。實(shí)體集是具有相同類型及相同性質(zhì)(xìngzhì)(屬性)的實(shí)體集合。聯(lián)系集是指同類聯(lián)系的集合。在E―R模型中,用矩形框表示實(shí)體集,矩形框中寫上實(shí)體名,用橢圓表示屬性,橢圓中標(biāo)上屬性名,實(shí)體的主碼用下劃線表示。例如實(shí)體集職工可用E―R模型表示,如圖5―1所示。精品資料圖5―1職工(zhígōng)的E―R模型表示精品資料實(shí)體集之間的聯(lián)系(liánxì)集用菱形表示,并用無(wú)向邊與相關(guān)實(shí)體集連接,菱形中寫上聯(lián)系(liánxì)名,無(wú)向邊上寫上聯(lián)系(liánxì)集的類型。部門和職工間的聯(lián)系(liánxì)可用圖5―2所示的E―R模型表示。圖5―2部門(bùmén)和職工的一對(duì)多聯(lián)系精品資料在圖5―2(a)中,無(wú)向邊上的1和n表示了部門和職工的聯(lián)系是一對(duì)多聯(lián)系(或者說(shuō)職工與部門之間是多對(duì)一聯(lián)系),即表達(dá)了一位職工只能在一個(gè)部門中工作,而一個(gè)部門中可有位職工這一語(yǔ)義(注:有些文獻(xiàn)中使用(shǐyòng)帶箭頭的有向邊表示聯(lián)系集的類型)。實(shí)體集間除了一對(duì)多(多對(duì)一)聯(lián)系以外,還有一對(duì)一、多對(duì)多聯(lián)系。精品資料企業(yè)中除了職工、部門實(shí)體集以外,還有工資、項(xiàng)目等實(shí)體集,通過(guò)分析可知,企業(yè)中每一個(gè)職工有一份工資單,而每一份工資單也只屬于一個(gè)職工,所以職工和工資實(shí)體集之間的關(guān)系為一對(duì)一關(guān)系,簡(jiǎn)記為1∶1。另外,一個(gè)職工可參加(cānjiā)多個(gè)項(xiàng)目,一個(gè)項(xiàng)目也由多個(gè)職工來(lái)參加(cānjiā),所以職工和項(xiàng)目實(shí)體集之間的聯(lián)系是多對(duì)多的,簡(jiǎn)記為:m∶n。它們的E―R模型表示分別如圖5―3、圖5―4所示。精品資料圖5―3職工(zhígōng)和工資的一對(duì)一聯(lián)系精品資料圖5―4職工(zhígōng)和項(xiàng)目的多對(duì)多聯(lián)系精品資料5.1.2多元聯(lián)系在E―R模型中,可以表示兩個(gè)以上實(shí)體集之間的聯(lián)系,稱為多元聯(lián)系。如圖5―5中的聯(lián)系簽約就是一個(gè)三元聯(lián)系。圖5―5包含了如下的語(yǔ)義:對(duì)于特定的影星(yǐnɡxīnɡ)和電影來(lái)說(shuō),該影星(yǐnɡxīnɡ)為演該電影只能和一個(gè)制片公司簽約;但一個(gè)制片公司可以為一部電影和幾個(gè)影星(yǐnɡxīnɡ)簽約,一個(gè)影星(yǐnɡxīnɡ)可以和一個(gè)制片公司簽約主演多部電影。精品資料圖5―5演員、電影(diànyǐng)和制片公司之間的三元聯(lián)系精品資料一個(gè)多元聯(lián)系集總可以用多個(gè)不同的二元聯(lián)系集來(lái)替代。考慮一個(gè)抽象的三元聯(lián)系集R,它聯(lián)系了實(shí)體集A、B、C??梢M(jìn)一實(shí)體集E替代聯(lián)系R,然后,為實(shí)體集E和A、B、C建立三個(gè)新的二元聯(lián)系集,分別命名為RA、RB、RC。可以將這一過(guò)程直接推廣到n元聯(lián)系集的情況。所以(suǒyǐ),理論上可以限制E―R模型中只包含二元聯(lián)系集。然而,在大部分情況下,使用多元聯(lián)系集比二元聯(lián)系集更方便。精品資料因?yàn)椋?1)多元聯(lián)系集可以清晰地表示出幾個(gè)實(shí)體集參與(cānyù)到一個(gè)聯(lián)系集的情況,而轉(zhuǎn)換為多個(gè)二元聯(lián)系后,難以體現(xiàn)這種參與(cānyù)性。(2)對(duì)于為替代多元聯(lián)系集而引進(jìn)的實(shí)體集,有時(shí)不得不為其創(chuàng)建一個(gè)標(biāo)識(shí)碼。因?yàn)槊總€(gè)實(shí)體必須可以相互區(qū)分。創(chuàng)建的標(biāo)識(shí)碼和新建的多個(gè)二元聯(lián)系一樣,增加了設(shè)計(jì)的復(fù)雜度和對(duì)存儲(chǔ)空間的需求。精品資料5.1.3聯(lián)系的屬性聯(lián)系也可以具有單獨(dú)的屬性。如在圖5―5中,如果希望建立某演員和制片公司為一部(yībù)電影簽約的有關(guān)酬金,此時(shí),不能把酬金作為演員的屬性,因?yàn)橐粋€(gè)演員可能簽約了多部電影,得到了不同的酬金;也不能把酬金作為制片公司的屬性,因?yàn)橹破究赡軐?duì)不同影星支付了不同的酬金;酬金也不能作為電影的屬性,因?yàn)橐徊?yībù)電影中不同的影星可能得到不同的酬金。所以應(yīng)該把酬金作為聯(lián)系的屬性,如圖5―6所示。精品資料圖5―6聯(lián)系(liánxì)可具有屬性精品資料5.1.4自身聯(lián)系在一個(gè)(yīɡè)聯(lián)系中,一個(gè)(yīɡè)實(shí)體集可以出現(xiàn)兩次或多次,扮演多個(gè)不同角色,此種情況稱為實(shí)體集的自身聯(lián)系。一個(gè)(yīɡè)實(shí)體集在聯(lián)系中出現(xiàn)多少次我們就從聯(lián)系到這個(gè)實(shí)體集畫(huà)多少條線,到實(shí)體集的每條線代表該實(shí)體集所扮演的不同角色。圖5―7是一個(gè)(yīɡè)自身聯(lián)系的例子。精品資料圖5―7一個(gè)(yīɡè)自身聯(lián)系的例子精品資料圖中給出了實(shí)體集職工的一個(gè)自身聯(lián)系“領(lǐng)導(dǎo)”,同一部門中,職工與職工之間可有領(lǐng)導(dǎo)和被領(lǐng)導(dǎo)的關(guān)系,其中(qízhōng)一位是另一位的領(lǐng)導(dǎo)。圖中的聯(lián)系集是1∶n,說(shuō)明了一位職工(領(lǐng)導(dǎo))可領(lǐng)導(dǎo)其他多名職工,而一位職工只被另一位職工(領(lǐng)導(dǎo))領(lǐng)導(dǎo)。精品資料5.1.5子類和isa層次聯(lián)系在信息世界中,常常需要描述這樣的實(shí)體集A,A屬于另一實(shí)體集B。A中的實(shí)體都有特殊的屬性需要描述,并且這些特殊屬性對(duì)B中其他的實(shí)體無(wú)意義。在E―R模型中,稱A是B的子類,或B是A的父類。兩類實(shí)體之間存在(cúnzài)一種層次聯(lián)系——Isa(屬于)。圖5―8(a)是它們的E―R模型的表示方法。精品資料如果A和B存在Isa聯(lián)系,則A中的每個(gè)實(shí)體a只和B中的一個(gè)實(shí)體b相聯(lián)系,而B(niǎo)中的每一個(gè)實(shí)體最多和A中的一個(gè)實(shí)體相聯(lián)系。從這個(gè)意義上說(shuō),A和B存在一對(duì)一的聯(lián)系。但事實(shí)上,a和b是同一事物。A可以繼承B中的所有屬性(shǔxìng),又可以有自己特殊的屬性(shǔxìng)說(shuō)明。用來(lái)區(qū)分A的主碼也就是B的主碼。例如,企業(yè)中的職工實(shí)體集和經(jīng)理實(shí)體集,存在著Is-a聯(lián)系,即經(jīng)理是(isa)職工。經(jīng)理可以繼承職工的所有屬性(shǔxìng),但又有“任職時(shí)間”這一其他職工沒(méi)有的屬性(shǔxìng)。其E―R模型如圖5―8(b)所示。精品資料圖5―8具有(jùyǒu)Is-a聯(lián)系的E―R模型精品資料5.2E―R模型的設(shè)計(jì)(shèjì)方法在設(shè)計(jì)E―R模型時(shí),首先必須根據(jù)需求分析,確認(rèn)實(shí)體集、聯(lián)系集和屬性。一個(gè)企業(yè)(單位)有許多部門,就會(huì)有各種業(yè)務(wù)應(yīng)用的要求(yāoqiú),需求說(shuō)明來(lái)自對(duì)它們的調(diào)查和分析。有關(guān)需求分析的方法將在第7章中介紹,這里只介紹E―R模型的設(shè)計(jì)方法。在介紹設(shè)計(jì)E―R模型的方法之前,首先強(qiáng)調(diào)三條設(shè)計(jì)原則:精品資料(1)相對(duì)原則:關(guān)系、實(shí)體、屬性、聯(lián)系等,是對(duì)同一對(duì)象抽象過(guò)程的不同解釋和理解。即建模過(guò)程實(shí)際上是一個(gè)對(duì)對(duì)象的抽象過(guò)程,不同的人或同一人在不同的情況下,抽象的結(jié)果可能不同。(2)一致原則:同一對(duì)象在不同的業(yè)務(wù)系統(tǒng)中的抽象結(jié)果要求保持一致。業(yè)務(wù)系統(tǒng)是指建立(jiànlì)系統(tǒng)的各子系統(tǒng)。(3)簡(jiǎn)單原則:為簡(jiǎn)化E―R模型,現(xiàn)實(shí)世界的事物能作為屬性對(duì)待的,盡量歸為屬性處理。精品資料屬性和實(shí)體間并無(wú)一定的界限。如果一個(gè)事物滿足以下兩個(gè)條件之一的,一般可作為屬性對(duì)待:(1)屬性不再具有需要描述的性質(zhì)。屬性在含義上是不可分的數(shù)據(jù)項(xiàng)。(2)屬性不能再與其他實(shí)體集具有聯(lián)系,即E―R模型指定聯(lián)系只能(zhīnénɡ)是實(shí)體集間的聯(lián)系。例如,職工是一個(gè)實(shí)體集,可以有職工號(hào)、姓名、性別等屬性,工資如果沒(méi)有需要進(jìn)一步描述的特性,可以作為職工的一個(gè)屬性。但如果涉及到工資的詳細(xì)情況,如:基本工資、各種補(bǔ)貼、各種扣除時(shí),它就成為一個(gè)實(shí)體集,如圖5―9所示。精品資料圖5―9工資(gōngzī)由屬性變?yōu)閷?shí)體集精品資料再如,倉(cāng)庫(kù)和貨物的關(guān)系。如果一種貨物只存放在一個(gè)倉(cāng)庫(kù)中,那么倉(cāng)庫(kù)可作為貨物的屬性加以說(shuō)明。但如果倉(cāng)庫(kù)與職工發(fā)生聯(lián)系(每個(gè)倉(cāng)庫(kù)有若干個(gè)保管員),那么倉(cāng)庫(kù)就應(yīng)該作為一個(gè)實(shí)體集加以說(shuō)明,如圖5―10所示。設(shè)計(jì)一個(gè)較大型的企業(yè)或單位的E―R模型(móxíng),一般按照先局部,后整體,最后優(yōu)化的方法進(jìn)行。下面以企業(yè)職工管理系統(tǒng)為例,說(shuō)明E―R模型(móxíng)的一般設(shè)計(jì)過(guò)程。精品資料圖5―10倉(cāng)庫(kù)由屬性(shǔxìng)變?yōu)閷?shí)體集精品資料例5.1企業(yè)職工管理中,需要涉及的功能有:①人事處對(duì)職工的檔案(dàngàn)和部門進(jìn)行管理,包括職工基本情況,部門的基本情況以及各種職稱、職務(wù)的管理;②財(cái)務(wù)處管理職工的工資情況;③科研處管理項(xiàng)目、職工參加項(xiàng)目的情況。精品資料1.確定局部應(yīng)用范圍,設(shè)計(jì)局部E―R模型局部E―R模型的設(shè)計(jì)步驟如圖5―11所示。1)確定局部應(yīng)用范圍本例中初步?jīng)Q定按部門劃分不同的應(yīng)用范圍,即分為(fēnwéi)三個(gè)子模塊:人事管理、工資管理和項(xiàng)目管理。下面以人事管理為例,說(shuō)明設(shè)計(jì)局部E―R模型的一般過(guò)程。2)確認(rèn)實(shí)體集在人事管理中,需要對(duì)職工、部門、職稱職務(wù)進(jìn)行管理,所以實(shí)體集有:職工、部門、職稱職務(wù)。精品資料圖5―11局部E―R模型(móxíng)的設(shè)計(jì)步驟精品資料3)確認(rèn)實(shí)體集間的聯(lián)系集需要判斷所有二二實(shí)體集之間是否存在聯(lián)系。職工與部門:n∶1;職工與職稱(zhíchēng)職務(wù):m∶n,因?yàn)槎鄠€(gè)職工可有同一種職稱(zhíchēng)或職務(wù),而一個(gè)職工既可有職稱(zhíchēng)又可有職務(wù)。如某職工具有高級(jí)職稱(zhíchēng)(高工),同時(shí)又是處級(jí)干部。部門與職稱(zhíchēng)職務(wù)之間沒(méi)有聯(lián)系。4)確認(rèn)實(shí)體集的屬性職工:職工號(hào),姓名,性別,年齡。部門:部門號(hào),名稱,電話。職稱(zhíchēng)職務(wù):代號(hào),名稱,津貼,住房面積。精品資料5)確認(rèn)聯(lián)系集的屬性職工與部門的聯(lián)系沒(méi)有單獨(dú)(dāndú)的屬性,職工與職稱職務(wù)的聯(lián)系有單獨(dú)(dāndú)的屬性:職稱或職務(wù)的任職日期。6)畫(huà)出局部E―R模型圖5―12、圖5―13、5―14分別是人事管理、工資管理和項(xiàng)目管理局部E―R模型。精品資料圖5―12人事管理局部(júbù)E―R模型精品資料圖5―13工資管理局部(júbù)E―R模型精品資料圖5―14項(xiàng)目管理局部(júbù)E―R模型精品資料2.集成局部E―R模型,形成全局初步E―R模型將所有局部E―R模型集成為全局E―R模型。設(shè)計(jì)(shèjì)過(guò)程如圖5―15所示。由于各個(gè)局部應(yīng)用所面對(duì)的問(wèn)題不同,且通常由不同的設(shè)計(jì)(shèjì)人員進(jìn)行局部E―R模型的設(shè)計(jì)(shèjì),因此各個(gè)局部E―R模型之間必定會(huì)存在許多不一致的地方,稱為沖突。所以在合并各局部E―R模型時(shí),首先要合理地消除各局部E―R模型之間的沖突。精品資料圖5―15全局E―R模型的設(shè)計(jì)(shèjì)步驟精品資料沖突主要有以下三類:(1)命名沖突:包括實(shí)體集名、聯(lián)系集名、屬性名之間的同名異義和同義異名等命名沖突。同名異義,即不同意義的對(duì)象在不同的局部E―R模型中具有相同(xiānɡtónɡ)的名稱。同義異名,即同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名稱。例如,對(duì)于實(shí)體集職工,人事部門稱之為職工,科研部門可能稱之為科研人員。命名沖突必須通過(guò)各部門一起討論,協(xié)商解決。精品資料(2)屬性沖突:包括屬性值類型、取值范圍、取值單位的沖突。例如,職工號(hào),在一個(gè)局部E―R模型中定義為整數(shù),在另一個(gè)E―R模型中定義為字符串。有些屬性采用不同的度量單位,也屬于屬性沖突。(3)結(jié)構(gòu)沖突:包括兩種情況,一是同一對(duì)象在不同應(yīng)用中具有的抽象不同,二是同一實(shí)體在各局部應(yīng)用中包含的屬性個(gè)數(shù)和屬性排列次序不完全相同。例如,在人事部門中,工資(gōngzī)可能作為職工的一個(gè)屬性處理,而在財(cái)務(wù)部門中作為一個(gè)實(shí)體集。精品資料有時(shí)實(shí)體集間的聯(lián)系在不同的局部應(yīng)用中,可能會(huì)有不同的聯(lián)系集。根據(jù)需求分析,在兼顧的情況下,對(duì)發(fā)生沖突的屬性、實(shí)體集、聯(lián)系進(jìn)行合理的調(diào)整和綜合,形成一個(gè)全系統(tǒng)用戶共同(gòngtóng)理解和接受的統(tǒng)一的E―R模型,是合并各局部E―R模型的主要工作和關(guān)鍵所在。在本例5.1中,就存在結(jié)構(gòu)沖突。在人事管理E―R模型中,工資作為職工的屬性,而在工資管理E―R模型中,工資是實(shí)體集;在項(xiàng)目管理E―R模型中,職務(wù)是職工的屬性,而在人事管理中,職務(wù)是一個(gè)實(shí)體集。在本例中,可將工資和職務(wù)均調(diào)整為實(shí)體集。精品資料在集成全局E―R模型時(shí),一般采用兩兩集成的方法,即先將具有相同實(shí)體集的兩個(gè)E―R模型,以該相同實(shí)體集為基準(zhǔn)(jīzhǔn)進(jìn)行集成,如果還有相同實(shí)體集的E―R模型,再次集成,直到所有具有相同實(shí)體集的局部E―R模型都被集成,得到初步的全局E―R模型。本例5.1中,以職工為公共實(shí)體集進(jìn)行集成,其初步E―R模型如圖5―16所示。精品資料圖5―16合并(hébìng)后的全局初步E―R模型精品資料3.消除冗余,優(yōu)化全局E―R模型一個(gè)“好”的全局E―R模型,除能反映用戶(yònghù)功能需求外,還應(yīng)該滿足以下幾個(gè)條件:(1)實(shí)體聯(lián)系盡可能少;(2)實(shí)體集所含屬性盡可能少;(3)實(shí)體集間聯(lián)系無(wú)冗余。為了使實(shí)體集盡可能少,有時(shí)需要合并相關(guān)的實(shí)體集,如1∶1聯(lián)系的兩個(gè)實(shí)體集、具有相同碼的實(shí)體集,可以合并。精品資料有些實(shí)體集的屬性可能是冗余的數(shù)據(jù),所謂冗余數(shù)據(jù)是指重復(fù)存在或可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù)。如圖5―16所示的工資中的實(shí)發(fā)工資即可由其他幾個(gè)屬性中計(jì)算得到,屬于冗余數(shù)據(jù)。冗余數(shù)據(jù)一方面浪費(fèi)存儲(chǔ)空間,另一方面又會(huì)破壞數(shù)據(jù)的完整性。如某職工因?yàn)槟撤N原因,增加了基本工資(jīběnɡōnɡzī),用戶除了修改基本工資(jīběnɡōnɡzī)一項(xiàng)外,還必須同時(shí)修改實(shí)發(fā)工資,否則數(shù)據(jù)就會(huì)前后不一致。精品資料但并不是所有的冗余數(shù)據(jù)都必須消除。有時(shí)為了提高效率,不得不以冗余數(shù)據(jù)為代價(jià)。如財(cái)務(wù)處頻頻地對(duì)每個(gè)職工的實(shí)發(fā)工資進(jìn)行計(jì)算和統(tǒng)計(jì),影響工作效率,可以讓此冗余數(shù)據(jù)存在(cúnzài),但必須有數(shù)據(jù)的關(guān)聯(lián)說(shuō)明,并作為數(shù)據(jù)模型的完整性約束條件。精品資料5.3E―R模型向關(guān)系(guānxì)模型的轉(zhuǎn)化E―R模型是概念模型的表示。要使計(jì)算機(jī)能處理模型中的信息,首先必須將它轉(zhuǎn)化為具體的DBMS能處理的數(shù)據(jù)類型。E―R模型可以向現(xiàn)有的各種數(shù)據(jù)模型轉(zhuǎn)換,而目前市場(chǎng)(shìchǎng)上的DBMS大部分是基于關(guān)系數(shù)據(jù)模型的,所以本節(jié)介紹E―R模型向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換方法。精品資料關(guān)系模型的邏輯結(jié)構(gòu)是一系列關(guān)系模式(表)的集合。將E―R模型轉(zhuǎn)化為關(guān)系模式主要需解決的問(wèn)題是:如何用關(guān)系表達(dá)實(shí)體(shítǐ)集以及實(shí)體(shítǐ)集間的聯(lián)系。下面從一個(gè)具體例子出發(fā),說(shuō)明E―R模型向關(guān)系模型轉(zhuǎn)換的一般規(guī)則和步驟。例5.2將圖5―12所示人事管理局部E―R模型向關(guān)系模型轉(zhuǎn)換。精品資料(1)將每一個(gè)實(shí)體集轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體集的屬性轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集的碼即對(duì)應(yīng)關(guān)系的碼。本例中將生成如下三個(gè)關(guān)系模式:職工(職工號(hào),姓名,性別,年齡,工資)部門(部門號(hào),名稱(míngchēng),電話,負(fù)責(zé)人)職稱職務(wù)(代號(hào),名稱(míngchēng),津貼,住房面積)精品資料(2)將每個(gè)聯(lián)系集轉(zhuǎn)換成關(guān)系模式。對(duì)于給定的聯(lián)系R,由它所轉(zhuǎn)換的關(guān)系具有以下屬性(shǔxìng):①聯(lián)系R單獨(dú)的屬性(shǔxìng)都轉(zhuǎn)換為該關(guān)系的屬性(shǔxìng);②聯(lián)系R涉及到的每個(gè)實(shí)體集的碼屬性(shǔxìng)(集)轉(zhuǎn)換為該關(guān)系的屬性(shǔxìng)。轉(zhuǎn)換后關(guān)系的碼有以下幾種情況:·若聯(lián)系R為1∶1聯(lián)系,則每個(gè)相關(guān)實(shí)體的碼均可作為關(guān)系的候選碼;·若聯(lián)系R為1∶n聯(lián)系,則關(guān)系的碼為n端實(shí)體的碼;·若聯(lián)系R為m∶n聯(lián)系,則關(guān)系的碼為相關(guān)實(shí)體碼的集合。精品資料根據(jù)此規(guī)則,由聯(lián)系轉(zhuǎn)換來(lái)的關(guān)系模式為:分工(職工號(hào),部門號(hào))任職(職工號(hào),代號(hào),任職日期)(3)根據(jù)具體情況,把具有相同碼的多個(gè)關(guān)系模式合并成一個(gè)關(guān)系模式。具有相同碼的不同關(guān)系模式,從本質(zhì)上描述的是同一實(shí)體集,因此可以合并。合并后的關(guān)系包括兩關(guān)系的所有屬性(shǔxìng),這樣可以節(jié)省存儲(chǔ)空間。如本例中的職工關(guān)系和分工關(guān)系,可以合并為下面同一個(gè)關(guān)系模式:精品資料職工(職工號(hào),姓名,性別,年齡,工資,部門號(hào))事實(shí)上,當(dāng)將聯(lián)系集R轉(zhuǎn)換為關(guān)系模式時(shí),只有當(dāng)R為m∶n聯(lián)系時(shí),需要(xūyào)重新建立新的關(guān)系模式;當(dāng)R為1∶1、1∶n及Isa的聯(lián)系時(shí),可以不引進(jìn)新的關(guān)系模式,只對(duì)與聯(lián)系有關(guān)的實(shí)體集的關(guān)系模式作適當(dāng)?shù)男薷?。?qǐng)讀者自行歸納其規(guī)律。精品資料5.4*歷史(lìshǐ)上有影響的數(shù)據(jù)模型在關(guān)系數(shù)據(jù)模型產(chǎn)生之前,數(shù)據(jù)庫(kù)管理系統(tǒng)普遍(pǔbiàn)使用的數(shù)據(jù)模型是層次和網(wǎng)狀數(shù)據(jù)模型,它們又被稱為非關(guān)系數(shù)據(jù)模型。它們的數(shù)據(jù)結(jié)構(gòu)和圖的結(jié)構(gòu)是相互對(duì)應(yīng)的。精品資料在非關(guān)系數(shù)據(jù)模型中,概念模型中的實(shí)體型反映為記錄型。因此,圖的結(jié)點(diǎn)(jiédiǎn)表示為記錄型(實(shí)體),結(jié)點(diǎn)(jiédiǎn)之間的連線弧(或有向邊)表示為記錄型之間的聯(lián)系。每個(gè)記錄型可包含若干個(gè)字段,對(duì)應(yīng)于描述實(shí)體的屬性。由于實(shí)際系統(tǒng)一般不允許直接表示多對(duì)多聯(lián)系(多對(duì)多聯(lián)系應(yīng)轉(zhuǎn)換為多個(gè)一對(duì)多聯(lián)系),所以下面的討論僅限于一對(duì)多(包括一對(duì)一)的情況。通常,把表示“一”的記錄型放在上方,稱為父結(jié)點(diǎn)(jiédiǎn),或父記錄;表示“多”的記錄型放在下方,稱為子結(jié)點(diǎn)(jiédiǎn),或子記錄。如圖5―17表示部門記錄型和職工記錄型之間的聯(lián)系,是一個(gè)基本層次聯(lián)系。精品資料圖5―17一個(gè)(yīɡè)基本層次聯(lián)系精品資料5.4.1層次模型在現(xiàn)實(shí)世界中,有許多事物是按層次組織起來(lái)的,例如(lìrú),一個(gè)學(xué)校有若干個(gè)系,一個(gè)系有若干個(gè)班級(jí)和教研室,一個(gè)班級(jí)有若干個(gè)學(xué)生,一個(gè)教研室有若干教師。其數(shù)據(jù)庫(kù)模型如圖5―18所示,可見(jiàn)層次模型是一棵倒掛的樹(shù)。圖中系和班級(jí)、班級(jí)和學(xué)生、教研室和教師等都構(gòu)成了雙親與子女關(guān)系,這是層次模型中最基本的數(shù)據(jù)關(guān)系。層次模型有以下兩個(gè)特點(diǎn):①有且僅有一個(gè)結(jié)點(diǎn)無(wú)父結(jié)點(diǎn),這樣的結(jié)點(diǎn)稱為根結(jié)點(diǎn);②非根結(jié)點(diǎn)都有且僅有一個(gè)父結(jié)點(diǎn)。精品資料在層次模型中,一個(gè)結(jié)點(diǎn)可以有幾個(gè)子結(jié)點(diǎn),也可以沒(méi)有子結(jié)點(diǎn)。前一種情況下,這幾個(gè)子結(jié)點(diǎn)稱為(chēnɡwéi)兄弟結(jié)點(diǎn),如圖5―18中的班級(jí)和教研室;后一種情況下,該結(jié)點(diǎn)稱為(chēnɡwéi)葉結(jié)點(diǎn),如圖5―18中的學(xué)生和教師。圖5―19是圖5―18數(shù)據(jù)模型的一個(gè)實(shí)例(一個(gè)值)。該值是計(jì)算機(jī)系記錄值及其所有的后代記錄值組成的一棵樹(shù)。精品資料圖5―18學(xué)校(xuéxiào)層次數(shù)據(jù)庫(kù)模型精品資料圖5―19學(xué)校(xuéxiào)層次數(shù)據(jù)庫(kù)模型的一個(gè)實(shí)例精品資料5.4.2網(wǎng)狀模型把層次模型的限制放開(kāi)(fànɡkāi):一個(gè)結(jié)點(diǎn)可以有一個(gè)以上的父結(jié)點(diǎn),就得到網(wǎng)狀模型。網(wǎng)狀模型還可以有的兩個(gè)特點(diǎn)是:①可能有一個(gè)以上的結(jié)點(diǎn)無(wú)父結(jié)點(diǎn);②結(jié)點(diǎn)與其父結(jié)點(diǎn)之間的聯(lián)系可以不止一個(gè)。精品資料由定義可知,層次模型中子女結(jié)點(diǎn)與雙親結(jié)點(diǎn)的聯(lián)系是唯一的,而在網(wǎng)狀模型中這種聯(lián)系可以不唯一。因此,在網(wǎng)狀模型中,每一個(gè)聯(lián)系都必須(bìxū)命名,每一個(gè)聯(lián)系都有與之相關(guān)的雙親記錄和子女記錄。圖5―20(a)、(b)、(c)給出了幾個(gè)網(wǎng)狀模型的例子。精品資料圖5―20幾個(gè)(jǐɡè)網(wǎng)狀模型的例子精品資料網(wǎng)狀數(shù)據(jù)模型中記錄的概念類似于關(guān)系數(shù)據(jù)模型中關(guān)系的概念,如:記錄型關(guān)系模式記錄關(guān)系的元組記錄的字段關(guān)系的屬性在網(wǎng)狀模型中,用系(Set)表示(biǎoshì)一對(duì)多的聯(lián)系,網(wǎng)狀模型的有向圖即是系的集合。系由一個(gè)雙親記錄型和一個(gè)或多個(gè)子女記錄型構(gòu)成。系中的雙親記錄型稱為首記錄,子女記錄型稱為屬記錄。系必需命名。對(duì)應(yīng)(duìyìng)對(duì)應(yīng)對(duì)應(yīng)精品資料在非關(guān)系模型中,子女結(jié)點(diǎn)是不能脫離其父結(jié)點(diǎn)而獨(dú)立存在(cúnzài)的,任何一個(gè)記錄只有按其路徑查看時(shí)才有實(shí)際意義。用戶必須提供父結(jié)點(diǎn)才能查詢子結(jié)點(diǎn)。因此數(shù)據(jù)庫(kù)開(kāi)發(fā)人員必須熟悉所用模型的結(jié)構(gòu),在應(yīng)用程序中才能明確指出查詢的路徑,才能實(shí)現(xiàn)查詢。這種要求,自然加重了用戶的負(fù)擔(dān)。精品資料層次模型曾在20世紀(jì)60年代末至70年代初流行過(guò)。其中最有代表性的當(dāng)推IBM公司的IMS。但層次DBMS提供用戶的數(shù)據(jù)模型和數(shù)據(jù)庫(kù)語(yǔ)言比較低級(jí),數(shù)據(jù)獨(dú)立性也較差,所以在關(guān)系數(shù)據(jù)庫(kù)之前,網(wǎng)狀DBMS要比層次DBMS用得普遍。美國(guó)CODASYL(ConferenceonDataSystemsLanguages)委員會(huì)中的DBTG(DataBaseTaskGroup)組在1971年提出了著名的DBTG報(bào)告,對(duì)網(wǎng)狀數(shù)據(jù)模型和語(yǔ)言進(jìn)行了定義,在1978年和1981年又作了修改(xiūgǎi)和補(bǔ)充。精品資料因此,網(wǎng)狀數(shù)據(jù)模型又稱為CODASYL模型或DBTG模型。在20世紀(jì)70年代,曾經(jīng)(céngjīng)出現(xiàn)過(guò)大量的網(wǎng)狀DBMS產(chǎn)品。比較著名的有Cullinet軟件公司的IDMS,Honeywell公司的IDSⅡ,HP公司的IMAGE等。有些網(wǎng)狀DBMS目前還在運(yùn)行。所以說(shuō),在數(shù)據(jù)庫(kù)的發(fā)展史上,層次模型和網(wǎng)狀模型曾起過(guò)重要的作用。精品資料5.5數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)的發(fā)展(fāzhǎn)1.第一代數(shù)據(jù)庫(kù)系統(tǒng)層次數(shù)據(jù)庫(kù)系統(tǒng)和網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)稱為第一代數(shù)據(jù)庫(kù)系統(tǒng)。層次模型是分層結(jié)構(gòu),網(wǎng)狀模型是網(wǎng)狀結(jié)構(gòu),它們的數(shù)據(jù)結(jié)構(gòu)都可以用圖來(lái)表示。層次模型對(duì)應(yīng)于一棵有根的定向樹(shù),網(wǎng)狀模型對(duì)應(yīng)于平面(píngmiàn)有向圖。它們統(tǒng)稱為格式化數(shù)據(jù)模型。實(shí)際上層次模型是網(wǎng)狀模型的特例。精品資料層次模型和網(wǎng)狀模型有許多共同的特征,如IMS和DBTG系統(tǒng)都支持三級(jí)模式結(jié)構(gòu);都用存取路徑來(lái)表示數(shù)據(jù)之間的聯(lián)系(liánxì);用戶對(duì)數(shù)據(jù)的存取,必須按照定義了的存取路徑進(jìn)行;必須清楚地了解數(shù)據(jù)在數(shù)據(jù)庫(kù)中的位置;對(duì)數(shù)據(jù)的操作是一次一個(gè)記錄導(dǎo)航式地進(jìn)行;程序和數(shù)據(jù)都具有較高的物理獨(dú)立性,但邏輯獨(dú)立性較低。精品資料導(dǎo)航式的數(shù)據(jù)操縱語(yǔ)言的優(yōu)點(diǎn)是存取效率高。但程序員在編寫應(yīng)用程序時(shí),不僅要知道“干什么”,而且要指出(zhǐchū)“怎么干”。即程序員必須掌握數(shù)據(jù)庫(kù)的邏輯和物理結(jié)構(gòu),在編寫程序時(shí),必須一步一步地“引導(dǎo)”程序,按照數(shù)據(jù)庫(kù)中某一已定義的存取路徑來(lái)訪問(wèn)數(shù)據(jù)。所以網(wǎng)狀和層次數(shù)據(jù)庫(kù)又被稱為“專家數(shù)據(jù)庫(kù)”,不能被一般的用戶所接受。同時(shí),這種導(dǎo)航式數(shù)據(jù)操縱語(yǔ)言,使得數(shù)據(jù)庫(kù)應(yīng)用程序的可移植性很差,數(shù)據(jù)的邏輯獨(dú)立性也較差。精品資料2.第二代數(shù)據(jù)庫(kù)系統(tǒng)支持關(guān)系數(shù)據(jù)模型的數(shù)據(jù)庫(kù)系統(tǒng)是第二代數(shù)據(jù)庫(kù)系統(tǒng)。層次、網(wǎng)狀和關(guān)系數(shù)據(jù)模型是數(shù)據(jù)庫(kù)誕生以來(lái)廣泛應(yīng)用的數(shù)據(jù)模型,一般稱之為傳統(tǒng)數(shù)據(jù)模型。關(guān)系模型概念清晰、簡(jiǎn)單,易于用戶使用和理解;有嚴(yán)格的理論基礎(chǔ)——關(guān)系代數(shù)。關(guān)系模型中,只有單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,實(shí)體和實(shí)體間的聯(lián)系均用關(guān)系表示。數(shù)據(jù)結(jié)構(gòu)的單一性,帶來(lái)了數(shù)據(jù)操作的簡(jiǎn)單化??朔?kèfú)了非關(guān)系系統(tǒng)中由于信息表示方式的多樣性帶來(lái)的操作復(fù)雜性。精品資料支持非過(guò)程化語(yǔ)言(如SQL)操作數(shù)據(jù)。關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的高度非過(guò)程化,將用戶從對(duì)數(shù)據(jù)庫(kù)的導(dǎo)航式編程中解脫出來(lái),降低了編程難度。用戶只要提出“做什么”,而無(wú)須指明“怎么做”,因此無(wú)需了解數(shù)據(jù)庫(kù)的存取路徑(存取路徑的選擇由系統(tǒng)自動(dòng)完成(wánchéng))。這不但減輕了用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。精品資料層次和網(wǎng)狀數(shù)據(jù)模型中采用面向記錄的操作方式,而在關(guān)系數(shù)據(jù)模型中,采

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論