數(shù)據(jù)庫電子教案(全)完整版課件整套教學(xué)課件_第1頁
數(shù)據(jù)庫電子教案(全)完整版課件整套教學(xué)課件_第2頁
數(shù)據(jù)庫電子教案(全)完整版課件整套教學(xué)課件_第3頁
數(shù)據(jù)庫電子教案(全)完整版課件整套教學(xué)課件_第4頁
數(shù)據(jù)庫電子教案(全)完整版課件整套教學(xué)課件_第5頁
已閱讀5頁,還剩83頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第1章 數(shù)據(jù)庫概述1.1 數(shù)據(jù)庫發(fā)展階段1.2 數(shù)據(jù)庫系統(tǒng)的組成與類型1.3 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)1.4 數(shù)據(jù)模型1.5 關(guān)系型數(shù)據(jù)模型21.3 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)1. 模式的基本概念2. 數(shù)據(jù)庫的三級模式數(shù)據(jù)庫中的數(shù)據(jù)是按一定的結(jié)構(gòu)組織起來的,這種結(jié)構(gòu)在數(shù)據(jù)庫中就是數(shù)據(jù)模型,它是描述數(shù)據(jù)的一種形式。模式是用給定的數(shù)據(jù)模型對具體數(shù)據(jù)的描述(就像用某一種編程語言編寫具體應(yīng)用程序一樣)模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述34應(yīng)用程序1應(yīng)用程序2外模式1應(yīng)用程序3外模式2應(yīng)用程序4應(yīng)用程序5外模式3數(shù)據(jù)庫概念模式內(nèi)模式內(nèi)模式/模式映像外模式/模式映像1外模式/模式映像3外模式/模式映像2

2、數(shù)據(jù)庫的三級模式結(jié)構(gòu):數(shù)據(jù)庫系統(tǒng)由外模式、(概念)模式和內(nèi)模式組成5(1)外模式外模式又稱子模式或用戶模式,它是模式的子集,是用戶看到的數(shù)據(jù)視圖。 一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式DBMS提供子模式語言(Subschema Data Description Language)來嚴(yán)格定義子模式6外模式外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同外模式的用途保證數(shù)據(jù)庫安全性的一個(gè)有力措施。每個(gè)用戶只能看見和訪問所對

3、應(yīng)的外模式中的數(shù)據(jù)7(2)模式模式又稱邏輯模式或概念模式,它是數(shù)據(jù)庫中全體數(shù)據(jù)的全局邏輯結(jié)構(gòu)和特征的描述,也是所有用戶的公共數(shù)據(jù)視圖。 一個(gè)數(shù)據(jù)庫只有一個(gè)模式。DBMS提供模式描述語言(DDL)來嚴(yán)格定義模式8模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計(jì)語言無關(guān)模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求9(3)內(nèi)模式內(nèi)模式又稱存儲(chǔ)模式,是數(shù)據(jù)在數(shù)據(jù)庫中的內(nèi)部表示,即數(shù)據(jù)的物理結(jié)構(gòu)和存儲(chǔ)方式的描述。記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))索引

4、的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。DBMS提供內(nèi)模式描述語言(Internal Schema DDL)來嚴(yán)格定義內(nèi)模式。10112. 數(shù)據(jù)庫的二級映像功能(1)外模式模式映像外模式模式映像定義了該外模式與模式之間的對應(yīng)關(guān)系當(dāng)模式改變時(shí)(如:增加新的數(shù)據(jù)類型、新的數(shù)據(jù)項(xiàng),新的關(guān)系),由 DBA 對各個(gè)外模式模式映像作相應(yīng)的改變,可以使外模式保持不變,從而應(yīng)用程序可以不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性。12數(shù)據(jù)庫的二級映像功能(2)模式內(nèi)模式映像模式內(nèi)模式映像是唯一的,它定義了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對應(yīng)關(guān)系。當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改

5、變時(shí),由 DBA 對模式/內(nèi)模式映像做相應(yīng)改變,可以使模式保持不變,從而應(yīng)用程序也不必修改。保證了數(shù)據(jù)與程序的物理獨(dú)立性。數(shù)據(jù)獨(dú)立性數(shù)據(jù)獨(dú)立性包含兩個(gè)方面邏輯獨(dú)立性物理獨(dú)立性物理獨(dú)立性是指當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),比如,從鏈表存儲(chǔ)改為哈希表存儲(chǔ),不影響應(yīng)用程序的特性;邏輯獨(dú)立性是指當(dāng)表達(dá)現(xiàn)實(shí)世界的信息內(nèi)容發(fā)生變化時(shí),比如增加一些列、刪除無用列等,也不影響應(yīng)用程序的特性。 14DB的三級模式結(jié)構(gòu)是一個(gè)理想的結(jié)構(gòu),使DB達(dá)到了高度的數(shù)據(jù)獨(dú)立性,但是增加了系統(tǒng)的開銷,首先,要在系統(tǒng)中保存三級結(jié)構(gòu)、兩級映象的內(nèi)容,并進(jìn)行管理;其次,用戶與DB的數(shù)據(jù)傳輸要在三級結(jié)構(gòu)中來回轉(zhuǎn)換,增加了時(shí)間開銷。基于上述

6、原因,目前現(xiàn)有的DBMS商品軟件中,三級結(jié)構(gòu)的劃分常常是不清晰的,不同系統(tǒng)的數(shù)據(jù)獨(dú)立性是不同的。15數(shù)據(jù)庫三級模式結(jié)構(gòu)是數(shù)據(jù)管理的結(jié)構(gòu)框架,依照這種框架組織的數(shù)據(jù)是數(shù)據(jù)庫的具體內(nèi)容。數(shù)據(jù)庫的二級映像功能保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從底層保證了應(yīng)用程序的穩(wěn)定性進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),應(yīng)該首先確定數(shù)據(jù)庫的模式,即全局邏輯結(jié)構(gòu)。內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu),獨(dú)立于外模式,設(shè)計(jì)時(shí)應(yīng)考慮到實(shí)現(xiàn)較好的時(shí)間與空間效率。外模式是面向具體應(yīng)用程序的,設(shè)計(jì)時(shí)應(yīng)充分考慮應(yīng)用需求,注意應(yīng)用的可擴(kuò)充性。161.4 數(shù)據(jù)模型1.4.1 數(shù)據(jù)模型的概念和類型 一、模型一張地圖,一個(gè)汽車模型,一個(gè)精致的航模飛機(jī)以及一組建筑設(shè)計(jì)沙盤

7、都是具體的模型。所以,對于模型,一眼望去,就會(huì)使人聯(lián)想到真實(shí)生活中的事物。模型是對現(xiàn)實(shí)世界的模擬和抽象。數(shù)據(jù)模型是現(xiàn)實(shí)世界中數(shù)據(jù)特征的抽象。數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)數(shù)據(jù)模型組成要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束條件二、數(shù)據(jù)模型數(shù)據(jù)模型數(shù)據(jù)模型的定義:數(shù)據(jù)庫中的數(shù)據(jù)是按一定的方式存儲(chǔ)在一起的,其組織結(jié)構(gòu)又稱為數(shù)據(jù)模型,它決定了數(shù)據(jù)庫中數(shù)據(jù)之間聯(lián)系的表達(dá)方式。數(shù)據(jù)模型的分類:一種是獨(dú)立于計(jì)算機(jī)系統(tǒng),是現(xiàn)實(shí)世界的抽象,也是用戶和數(shù)據(jù)庫設(shè)計(jì)人員交流的工具,即“概念數(shù)據(jù)模型”;另一種則是直接涉及到計(jì)算機(jī)系統(tǒng)和數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)模型,稱為“基本數(shù)據(jù)模型(

8、組織模型)”(邏輯模型和物理模型).現(xiàn)實(shí)世界中客觀對象的抽象過程DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識抽象信息世界機(jī)器世界現(xiàn)實(shí)世界1、概念數(shù)據(jù)模型完全不涉及信息在計(jì)算機(jī)系統(tǒng)的表示。目前描述概念模型最常用的方法是實(shí)體聯(lián)系(Entity-Relationship)方法,即ER方法,使用的工具稱為ER圖。ER圖所描述的現(xiàn)實(shí)世界的信息結(jié)構(gòu)稱為實(shí)體聯(lián)系模型( ER模型)。直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),例如層次、網(wǎng)狀、關(guān)系等模型。有嚴(yán)格的形式化定義,以便于在計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)。有嚴(yán)格定義的語法和語義的數(shù)據(jù)庫語言,人們可以用這些語言來定義操縱數(shù)據(jù)庫中的數(shù)據(jù)。數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)證號姓名

9、專業(yè) 名性 別借書 數(shù)10001王娟計(jì)算機(jī)1110002李宏計(jì)算機(jī)0210003朱小波計(jì)算機(jī)0120002吳濤英語03層次模型網(wǎng)狀模型關(guān)系模型2、基本數(shù)據(jù)模型基本數(shù)據(jù)模型非關(guān)系模型層次模型(Hierarchical Model)網(wǎng)狀模型(Network Model)關(guān)系模型(Relational Model) 面向?qū)ο竽P?Object Oriented Model)對象關(guān)系模型(Object Relational Model)數(shù)據(jù)管理技術(shù)進(jìn)入數(shù)據(jù)庫階段的標(biāo)志是60年代末的三件大事:1968年美國IBM公司推出層次模型的IMS系統(tǒng);1969年美國CODASYL組織發(fā)布了DBTG報(bào)告,總結(jié)了當(dāng)時(shí)

10、各式各樣的數(shù)據(jù)庫,提出網(wǎng)狀模型;1970年美國IBM公司的E.F.Codd連續(xù)發(fā)表論文,提出關(guān)系模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。1.4.2 概念數(shù)據(jù)模型一、基本概念概念層次模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。 概念層次模型:抽象現(xiàn)實(shí)系統(tǒng)中有應(yīng)用價(jià)值的元素及其關(guān)聯(lián),反映現(xiàn)實(shí)系統(tǒng)中有應(yīng)用價(jià)值的信息結(jié)構(gòu),不依賴于數(shù)據(jù)的組織結(jié)構(gòu)。 概念模型用于信息世界的建模,是現(xiàn)實(shí)世界到信息世界的第一層抽象。是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的工具 。是面向用戶、面向現(xiàn)實(shí)世界的數(shù)據(jù)模型,是與DBMS無關(guān) 。常用的概念模型:實(shí)體-聯(lián)系模型、語義對象模型 二、實(shí)體-聯(lián)系模型用E-R圖來描述現(xiàn)實(shí)世界的概念模型E

11、-R方法也稱為E-R模型實(shí)體-聯(lián)系模型 實(shí)體 屬性 聯(lián)系 實(shí)體具有公共性質(zhì)的可相互區(qū)分的現(xiàn)實(shí)世界對象的集合??梢允蔷唧w的事物,也可以是抽象的概念或聯(lián)系具體的事物:學(xué)生、課程、職工抽象的聯(lián)系:學(xué)生選課實(shí)體的表示方式在E-R圖中用矩形框表示實(shí)體,把實(shí)體名寫在框內(nèi),比如學(xué)生實(shí)體可以表示為:學(xué)生屬性實(shí)體所具有的特征或性質(zhì)。身高年齡性別體重聯(lián)系 聯(lián)系是數(shù)據(jù)之間的關(guān)聯(lián)集合,是客觀存在的應(yīng)用語義鏈 。實(shí)體內(nèi)部的聯(lián)系:一個(gè)實(shí)體內(nèi)屬性之間的聯(lián)系。職工實(shí)體內(nèi)部的職工號和職工的部門經(jīng)理號實(shí)體之間的聯(lián)系:不同實(shí)體之間的聯(lián)系。課程實(shí)體和學(xué)生實(shí)體之間的選課聯(lián)系。聯(lián)系的表示方式 實(shí)體之間的聯(lián)系用菱形框表示,框內(nèi)寫上聯(lián)系名,

12、并用連線與有關(guān)的實(shí)體相連。聯(lián)系名實(shí)體1實(shí)體21)ER圖包括了實(shí)體、屬性和聯(lián)系3種基本圖素。實(shí)體用矩形框表示,屬性用橢圓形框表示,聯(lián)系用菱形框表示,實(shí)體與屬性與聯(lián)系之間用無向直線連接。實(shí)體屬性聯(lián)系2)三個(gè)基本圖素介紹實(shí)體通常是客觀存在并且可以互相區(qū)分的事物??梢允菍?shí)際的事務(wù),如一名學(xué)生、一本書等;也可以是抽象的事件,如一場比賽、一個(gè)創(chuàng)意等。屬性是描述對象的某個(gè)特性。如:關(guān)于學(xué)生的學(xué)號、姓名、性別、出生日期、籍貫等屬性來描述;關(guān)于競賽實(shí)體可用競賽名、時(shí)間、地點(diǎn)、競賽者、舉辦方等屬性來描述。聯(lián)系是實(shí)體間的相互關(guān)系。他反映了客觀事物間相互依存的狀態(tài)。圖書借閱系統(tǒng)中實(shí)體與實(shí)體集屬性的描述 3)實(shí)體間的聯(lián)

13、系實(shí)體集之間存在各種關(guān)系,通常把這些關(guān)系稱為“聯(lián)系”。例如一個(gè)班只能有一個(gè)正班長,反之一個(gè)正班長也只能在一個(gè)班級中任職,因此是“一對一”的關(guān)系。例如一個(gè)班級中有若干名學(xué)生,每個(gè)學(xué)生只在一個(gè)班級中學(xué)習(xí),因此是“一對多”的關(guān)系。 例如“學(xué)生”與“圖書”有“借閱”關(guān)系,由于一個(gè)學(xué)生可借多本書,而一本書可被多個(gè)學(xué)生借閱,所以,學(xué)生和圖書的“借閱”關(guān)系是“多對多”的關(guān)系。 兩個(gè)實(shí)體型之間的聯(lián)系實(shí)體型A聯(lián)系名實(shí)體型B111:1聯(lián)系實(shí)體型A聯(lián)系名1n1:n聯(lián)系實(shí)體型A實(shí)體型B聯(lián)系名mnm:n聯(lián)系實(shí)體型B用圖形來表示兩個(gè)實(shí)體型之間的這三類聯(lián)系 一對一聯(lián)系(實(shí)體內(nèi)部的聯(lián)系) 如果實(shí)體A中的每個(gè)實(shí)例在實(shí)體B中至多

14、有一個(gè)(也可以沒有)實(shí)例與之關(guān)聯(lián),反之亦然,則稱實(shí)體A與實(shí)體B具有一對一聯(lián)系, 記作:1 : 1。 一對一聯(lián)系(1:1)(1)一對一的聯(lián)系(11)A中的一個(gè)實(shí)體至多與B中的一個(gè)實(shí)體相聯(lián)系,B中的一個(gè)實(shí)體也至多與A中的一個(gè)實(shí)體相聯(lián)系。如廠長管理工廠、班級和正班長、學(xué)校和校長等關(guān)系。廠長姓名年齡性別工廠入廠時(shí)間管理11廠名廠齡地址一對一聯(lián)系的例子部門和正經(jīng)理(假設(shè)一個(gè)部門只有一個(gè)正經(jīng)理,一個(gè)人只當(dāng)一個(gè)部門的經(jīng)理)、系和正系主任(假設(shè)一個(gè)系只有一個(gè)正主任,一個(gè)人只當(dāng)一個(gè)系的主任)都是一對一聯(lián)系。 管理經(jīng)理部門11一對多的聯(lián)系 如果實(shí)體A與實(shí)體B之間存在聯(lián)系,并且對于實(shí)體A中的一個(gè)實(shí)例,實(shí)體B中有多個(gè)

15、實(shí)例與之對應(yīng);而對實(shí)體B中的任意一個(gè)實(shí)例,在實(shí)體A中都只有一個(gè)實(shí)例與之對應(yīng),則稱實(shí)體A到實(shí)體B的聯(lián)系是一對多的。 記作: 1 : n (2)一對多的聯(lián)系(1N)A中的一個(gè)實(shí)體至多與B中的多個(gè)實(shí)體相聯(lián)系,B中的一個(gè)實(shí)體也至多與A中的一個(gè)實(shí)體相聯(lián)系。如例如:“班級”與“學(xué)生”這兩個(gè)實(shí)體集之間的聯(lián)系是一對多的聯(lián)系。班級班級名稱班級號人數(shù)學(xué)生班主任包括1N學(xué)號姓名性別 有部門和職工兩個(gè)實(shí)體,并且有語義:一個(gè)部門可以有多名職工,但是一個(gè)職工只在一個(gè)部門工作。則部門和職工之間的聯(lián)系是一對多的,我們把這種聯(lián)系命名為工作。一對多聯(lián)系的例子工作部門職工1n(3)多對多的聯(lián)系(MN)A中的一個(gè)實(shí)體至多與B中的多個(gè)

16、實(shí)體相聯(lián)系,B中的一個(gè)實(shí)體也可以與A中的多個(gè)實(shí)體相聯(lián)系。如例如: “學(xué)生” 與“課程”或者“學(xué)生” 與“圖書”。學(xué)生學(xué)號姓名性別課程專業(yè)選修MN課程號課程名學(xué)分兩個(gè)以上的實(shí)體型之間的聯(lián)系供應(yīng)商供應(yīng)項(xiàng)目mp兩個(gè)以上實(shí)體型間m:n聯(lián)系零件n課程講授教師1m兩個(gè)以上實(shí)體型間1:n聯(lián)系參考書n兩個(gè)以上的實(shí)體型內(nèi)的各實(shí)體之間也可以存在一對一,一對多,多對多的聯(lián)系 。關(guān)聯(lián)多個(gè)實(shí)體的聯(lián)系顧客購買商品:每個(gè)顧客可以從多個(gè)售貨員那里購買商品,并且可以購買多種商品;每個(gè)售貨員可以向多名顧客銷售商品,并且可以銷售多種商品;每種商品可由多個(gè)售貨員銷售,并且可以銷售給多名顧客。 mnp顧客商品售貨員銷售單個(gè)實(shí)體型內(nèi)的聯(lián)

17、系同一個(gè)實(shí)體型內(nèi)的各實(shí)體之間也可以存在一對一,一對多,多對多的聯(lián)系 。職工領(lǐng)導(dǎo)1n單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系實(shí)體型1聯(lián)系名mn單個(gè)實(shí)體型內(nèi)的m:n聯(lián)系4)E-R圖實(shí)例例題1:已知學(xué)生實(shí)體具有學(xué)號、姓名、性別、班級號與年齡屬性,班級實(shí)體具有班級號、班級名、人數(shù)、教室與所屬學(xué)院屬性,試畫出它們的E-R圖,并建立其間的聯(lián)系。1、建立兩個(gè)實(shí)體與屬性的聯(lián)系2、建立實(shí)體間的聯(lián)系班級班級名班級號學(xué)生教室屬于1N學(xué)號姓名性別人數(shù)班級號年齡學(xué)院例題2:用E-R圖表示某個(gè)工廠物資管理的概念模型實(shí)體倉庫: 倉庫號、面積、電話號碼零件 :零件號、名稱、規(guī)格、單價(jià)、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號碼、帳號項(xiàng)目:項(xiàng)

18、目號、預(yù)算、開工日期職工:職工號、姓名、年齡、職稱 實(shí)體之間的聯(lián)系如下: (1)一個(gè)倉庫可以存放多種零件,一種零件可以存放在多個(gè)倉庫中。倉庫和零件具有多對多的聯(lián)系。用庫存量來表示某種零件在某個(gè)倉庫中的數(shù)量。(2)一個(gè)倉庫有多個(gè)職工當(dāng)倉庫保管員,一個(gè)職工只能在一個(gè)倉庫工作,倉庫和職工之間是一對多的聯(lián)系。職工實(shí)體型中具有一對多的聯(lián)系 (3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若干保管員。(4)供應(yīng)商、項(xiàng)目和零件三者之間具有多對多的聯(lián)系1.4.3 邏輯數(shù)據(jù)模型一 層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。 1968年,美國IBM公司推出的IMS(Information Managem

19、ent System)系統(tǒng)是最典型的層次數(shù)據(jù)結(jié)構(gòu),20世紀(jì)70年代在商業(yè)上得到了廣泛應(yīng)用。層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系。 滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型1. 有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)(根唯一)2. 根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)(雙親唯一)這就使得層次數(shù)據(jù)庫系統(tǒng)只能處理一對多的實(shí)體關(guān)系。層次模型中的幾個(gè)術(shù)語根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)1)層次模型的數(shù)據(jù)結(jié)構(gòu) 1 根結(jié)點(diǎn) 2 兄弟結(jié)點(diǎn) 3 葉結(jié)點(diǎn) 4 兄弟結(jié)點(diǎn) 5 葉結(jié)點(diǎn) 葉結(jié)點(diǎn)圖1.16 一個(gè)層次模型的示例根結(jié)點(diǎn):沒有雙親結(jié)點(diǎn)兄弟結(jié)點(diǎn):同一雙親的子女結(jié)點(diǎn)葉結(jié)點(diǎn):沒有子女結(jié)點(diǎn)

20、層次模型的特點(diǎn):結(jié)點(diǎn)的雙親是唯一的只能直接處理一對多的實(shí)體聯(lián)系任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在教員學(xué)生層次數(shù)據(jù)庫模型圖1.17 教員學(xué)生層次數(shù)據(jù)庫模型 根結(jié)點(diǎn)葉結(jié)點(diǎn)系的子女結(jié)點(diǎn)教員的雙親結(jié)點(diǎn)圖1.18 教員學(xué)生層次數(shù)據(jù)庫的一個(gè)值 教員學(xué)生層次數(shù)據(jù)庫模型2)層次模型的相關(guān)約束 層次模型的數(shù)據(jù)操縱查詢,插入,刪除,更新 層次模型的完整性約束條件 無相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性3)層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn):結(jié)構(gòu)簡單,易于實(shí)現(xiàn);查詢效率

21、高。缺點(diǎn):不能表示兩個(gè)以上實(shí)體型之間的復(fù)雜聯(lián)系和實(shí)體型之間的多對多的聯(lián)系;數(shù)據(jù)操縱不方便。子結(jié)點(diǎn)的存取只能通過父結(jié)點(diǎn)來進(jìn)行。插入、刪除復(fù)雜,父結(jié)點(diǎn)的刪除導(dǎo)致子結(jié)點(diǎn)的刪除,丟失必要的信息。二、網(wǎng)狀模型(network model)網(wǎng)狀模型與層次模型的最大區(qū)別在于兩個(gè)結(jié)點(diǎn)之間的聯(lián)系可以不唯一,因此要為每個(gè)聯(lián)系命名。網(wǎng)狀數(shù)據(jù)模型的典型代表是DBTG系統(tǒng),由美國數(shù)據(jù)系統(tǒng)研究會(huì)CODASYL下屬的一個(gè)數(shù)據(jù)庫任務(wù)組DBTG提出(Data Base Task Group),對網(wǎng)狀數(shù)據(jù)庫的開發(fā)和發(fā)展起了重大影響。網(wǎng)狀模型與層次模型的區(qū)別:網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)特例網(wǎng)狀

22、模型允許多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)網(wǎng)狀模型允許結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn)網(wǎng)狀模型允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(復(fù)合聯(lián)系)網(wǎng)狀數(shù)據(jù)模型特點(diǎn):多根:允許一個(gè)以上的結(jié)點(diǎn)無雙親多父:一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親多聯(lián)系:允許兩個(gè)結(jié)點(diǎn)間有多種聯(lián)系(復(fù)合聯(lián)系)1)網(wǎng)狀模型的相關(guān)約束網(wǎng)狀數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。插入操作允許插入尚未確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值。刪除操作允許只刪除雙親結(jié)點(diǎn)值。更新操作時(shí)只需更新指定記錄即可。 查詢操作可以有多種方法,可根據(jù)具體情況選用。2)網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)更直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親具有良好的性能,存取效率較高缺點(diǎn)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的

23、擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用1.5 關(guān)系模型1970年美國IBM公司研究員E.F.Codd提出關(guān)系模型。關(guān)系模型是最重要的數(shù)據(jù)模型,其應(yīng)用最為廣泛,Access、Visual Foxpro、SQL Server、Oracle、Sybase等都屬于關(guān)系模型數(shù)據(jù)庫系統(tǒng)?;陉P(guān)系模型的數(shù)據(jù)庫稱為關(guān)系數(shù)據(jù)庫。在用戶看來,一個(gè)關(guān)系模型的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。屬性元組男女男性別192221年齡D01李紅S02D02王偉S03D01張軍S01系號姓名學(xué)號1.5.2 關(guān)系數(shù)據(jù)模型的相關(guān)概念元組(Tuple)表中的一行即為一個(gè)元組,

24、也稱為一條記錄。屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名(字段名)。關(guān)系(Relation)一個(gè)關(guān)系對應(yīng)通常說的一張表,元組的集合可稱為關(guān)系。碼(鍵)(Key)表中的某個(gè)屬性組,它可以唯一確定元組。主碼(Primary Key)關(guān)系模式中用戶正在使用的碼稱為主碼。外碼(Foreign Key):如果模式R中的某屬性是其他模式的主碼,那么該屬性集為模式R的外碼。域(Domain):屬性的取值范圍分量:元組中的一個(gè)屬性值關(guān)系模式:對關(guān)系的描述關(guān)系名(屬性1,屬性2,屬性n)如:學(xué)生(學(xué)號,姓名,年齡,性別,系,年級) 課程(課程號,課程名,學(xué)分)主鍵示例學(xué)生

25、基本信息表:(學(xué)號,姓名,年齡,性別,所在系)學(xué)生修課信息表:(學(xué)號,課程號,成績)2)關(guān)系模型的相關(guān)內(nèi)容在關(guān)系模型中,實(shí)體以及實(shí)體間的聯(lián)系都是用關(guān)系(二維表)來表示。即用表格結(jié)構(gòu)表達(dá)實(shí)體集。用外碼表達(dá)實(shí)體間的聯(lián)系。關(guān)系模型是由若干個(gè)關(guān)系模式組成的集合。關(guān)系模型是型,關(guān)系是值。關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),即不允許表中還有表。關(guān)系中不允許出現(xiàn)相同的元組。關(guān)系術(shù)語一般表格的術(shù)語關(guān)系名表名關(guān)系模式表頭(表格的描述)關(guān)系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個(gè)列值非規(guī)范關(guān)系表中有表(大表中嵌有小表)表1.2 術(shù)語對比 75直觀表示-一個(gè)關(guān)系就是一個(gè)二維表(

26、1) 二維表工號姓名年齡性別工資zhang 50男200li 40 女150liu 35 男150wang 25 男100 職工登記表(2)關(guān)系的特點(diǎn)1)關(guān)系看成是行和列交叉組成的二維表2)表中一行稱為一個(gè)元組 3)表中的列稱為屬性(不能再分)4)列的取值范圍稱為域,同列具有相同的域,不同列可具有相同的域5)表中任意兩行不能相同76A B C D Ea1 b1 c1 d1 e1a2 b2 c2 d2 e2a3 b3 c3 d3 e3a4 b4 c4 d4 e4 數(shù)據(jù)庫技術(shù)的術(shù)語字段、數(shù)據(jù)項(xiàng)記錄類型記錄1記錄2記錄3記錄4字段值關(guān)系模型術(shù)語屬性關(guān)系模式元組1元組2元組3元組4關(guān)系實(shí)例 屬性值將上

27、述表格抽象化R關(guān)系名77關(guān)系模型的一些基本術(shù)語關(guān)系:一個(gè)關(guān)系就是一張二維表,每個(gè)關(guān)系有一個(gè)關(guān)系名。元組:表中的行稱為元組,一行一個(gè)元組,元組的集合稱為關(guān)系。屬性:表中的每一列稱為一個(gè)屬性。屬性有型和值。一般用大寫字母A、B、C.表示單個(gè)屬性,用大寫字母表示屬性集,用小寫字母表示屬性值。關(guān)系中屬性的個(gè)數(shù)稱為“元數(shù)”。值域:每個(gè)屬性有一個(gè)取值范圍,稱為屬性的值域。屬性A的值域用DOM(A)表示。每個(gè)屬性對應(yīng)一個(gè)值域,不同的屬性可對應(yīng)同一個(gè)值域。關(guān)系模式:對關(guān)系的描述稱為關(guān)系模式。它可以形式化地表示為: R(U,D,DOM,I,F(xiàn))通常簡記為:R(U)即關(guān)系名(屬性名1,屬性名2,,屬性名n )784.外鍵(外碼:foreign key):若關(guān)系R中的屬性或?qū)傩越MF并非該關(guān)系的關(guān)鍵字,但它們是另外一個(gè)關(guān)系S的關(guān)鍵字,則稱F為關(guān)系R的外關(guān)鍵字。例:職工關(guān)系和部門關(guān)系分別為: 職工(職工編號,姓名,部門編號,性別,年齡,身份證號碼) 部門(部門編號,部門名稱,部門經(jīng)理)主鍵主鍵外鍵79例:學(xué)生關(guān)系、專業(yè)關(guān)系如下: 學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)主鍵外鍵主鍵例: 學(xué)生、課程、學(xué)生選課關(guān)系 學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡) 課程(課程號,課程名,學(xué)分)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論