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

下載本文檔

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

評論

0/150

提交評論