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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 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

提交評論