數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)課件_第1頁(yè)
數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)課件_第2頁(yè)
數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)課件_第3頁(yè)
數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)課件_第4頁(yè)
數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩119頁(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)介

浪子1511738045X第一章:緒論浪子第一章:緒論第一章緒論第一章緒論第一章緒論數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支。數(shù)據(jù)庫(kù)技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫(kù)的建設(shè)規(guī)模、數(shù)據(jù)庫(kù)信息量的大小和使用頻度已成為衡量一個(gè)國(guó)家信息化程度的重要標(biāo)志。第一章緒論數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù)1.1數(shù)據(jù)庫(kù)系統(tǒng)概述1.1.1四個(gè)基本概念數(shù)據(jù)(Data)數(shù)據(jù)(Data)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的定義描述事物的符號(hào)記錄數(shù)據(jù)的種類文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運(yùn)輸情況等數(shù)據(jù)的特點(diǎn)數(shù)據(jù)與其語(yǔ)義是不可分的1.1數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)(Database)數(shù)據(jù)庫(kù)的定義數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展概括地講,數(shù)據(jù)庫(kù)數(shù)據(jù)具有永久存儲(chǔ)、有組織、可共享三個(gè)基本特點(diǎn)。數(shù)據(jù)庫(kù)(Database)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)什么是DBMS位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)DBMS的用途科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)DBMS主要功能

數(shù)據(jù)定義;數(shù)據(jù)組織、存儲(chǔ)和管理;數(shù)據(jù)操縱;數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理;數(shù)據(jù)庫(kù)的建立和維護(hù);其他功能。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)數(shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,DBS)在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)系統(tǒng)(DBS)

數(shù)據(jù)庫(kù)

應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具

操作系統(tǒng)

數(shù)據(jù)庫(kù)管理系統(tǒng)

數(shù)據(jù)庫(kù)管理員用戶用戶用戶

數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具數(shù)據(jù)庫(kù)管理系統(tǒng)用戶用戶用戶1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展在應(yīng)用需求推動(dòng)下,在計(jì)算機(jī)硬件、軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)3個(gè)階段。人工管理階段

時(shí)間:20世紀(jì)50年代中期以前

特點(diǎn):數(shù)據(jù)不保存,程序管理數(shù)據(jù),數(shù)據(jù)不共享,數(shù)據(jù)不具有獨(dú)立性文件系統(tǒng)階段

時(shí)間:20世紀(jì)50年代后期到60年代中期

特點(diǎn):數(shù)據(jù)可長(zhǎng)期保存,由文件系統(tǒng)管理數(shù)據(jù)

缺點(diǎn):共享性差,冗余度大;獨(dú)立性差數(shù)據(jù)庫(kù)系統(tǒng)階段

時(shí)間:20世紀(jì)60年代末以來(lái)

背景:計(jì)算機(jī)應(yīng)用廣泛,數(shù)據(jù)量劇增,共享需求強(qiáng)烈,硬件發(fā)展且價(jià)低1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化整體結(jié)構(gòu)化

不再僅僅針對(duì)某一個(gè)應(yīng)用,而是面向全組織

不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫(kù)系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個(gè)系統(tǒng),可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間避免數(shù)據(jù)之間的不相容性與不一致性使系統(tǒng)易于擴(kuò)充1.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)獨(dú)立性高物理獨(dú)立性指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制

并發(fā)共享:多個(gè)用戶可以同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),甚至可以同時(shí)存取數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù)。

為此,DBMS還需提供以下幾方面的數(shù)據(jù)控制功能:(1)數(shù)據(jù)的安全性(Security)保護(hù)保護(hù)數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。(2)數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。(3)并發(fā)(Concurrency)控制對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。(4)數(shù)據(jù)庫(kù)恢復(fù)(Recovery)將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。數(shù)據(jù)由DBMS統(tǒng)一管理和控制DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫(kù)…數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系

DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫(kù)…數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與1.2數(shù)據(jù)模型模型是對(duì)現(xiàn)實(shí)世界中某個(gè)對(duì)象特征的模擬和抽象。數(shù)據(jù)模型阤是一種模型,它是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。也就是說(shuō),數(shù)據(jù)模型是用來(lái)描述數(shù)據(jù)、組織數(shù)據(jù)和操作數(shù)據(jù)的?,F(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)均是基于某種數(shù)據(jù)模型的。在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。1.2.1兩類數(shù)據(jù)模型數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)1.2數(shù)據(jù)模型數(shù)據(jù)模型分為兩類(分屬兩個(gè)不同的層次)概念模型

也稱信息模型,它是按用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫(kù)設(shè)計(jì)。(2)邏輯模型和物理模型邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?,按?jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于DBMS實(shí)現(xiàn)。物理模型是對(duì)數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲(chǔ)方式和存取方法??陀^對(duì)象的抽象過(guò)程---兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。數(shù)據(jù)模型分為兩類(分屬兩個(gè)不同的層次)DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識(shí)抽象信息世界機(jī)器世界現(xiàn)實(shí)世界中客觀對(duì)象的抽象過(guò)程現(xiàn)實(shí)世界現(xiàn)實(shí)世界概念模型數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識(shí)信息世界機(jī)器世界現(xiàn)實(shí)世界中1.2.2數(shù)據(jù)模型的組成要素a)數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)庫(kù)的組成對(duì)象,以及對(duì)象之間的聯(lián)系描述的內(nèi)容與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述1.2.2數(shù)據(jù)模型的組成要素b)數(shù)據(jù)操作數(shù)據(jù)操作對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)

b)數(shù)據(jù)操作c)完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。c)完整性約束條件1.2.3概念模型概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型的用途概念模型用于信息世界的建模是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次是數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶之間進(jìn)行交流的語(yǔ)言對(duì)概念模型的基本要求較強(qiáng)的語(yǔ)義表達(dá)能力能夠方便、直接地表達(dá)應(yīng)用中的各種語(yǔ)義知識(shí)簡(jiǎn)單、清晰、易于用戶理解1.2.3概念模型信息世界中的基本概念(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫。(3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼信息世界中的基本概念(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來(lái)抽象和刻畫同類實(shí)體稱為實(shí)體型(6)實(shí)體集(EntitySet)同一類型實(shí)體的集合稱為實(shí)體集(7)聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。(4)域(Domain)兩個(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)系實(shí)體型A聯(lián)系名實(shí)體型B111:1聯(lián)系實(shí)體兩個(gè)以上實(shí)體型之間的聯(lián)系實(shí)例

課程、教師與參考書三個(gè)實(shí)體型一門課程可以有若干個(gè)教師講授,使用若干本參考書,每一個(gè)教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個(gè)以上實(shí)體型間1:n聯(lián)系參考書n兩個(gè)以上實(shí)體型之間的聯(lián)系課程講授教師1m兩個(gè)以上實(shí)體型間1:單個(gè)實(shí)體型內(nèi)的聯(lián)系實(shí)例

職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工(干部)“領(lǐng)導(dǎo)”若干名職工一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo)這是一對(duì)多的聯(lián)系職工領(lǐng)導(dǎo)1n單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系單個(gè)實(shí)體型內(nèi)的聯(lián)系職工領(lǐng)導(dǎo)1n單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系概念模型的一種表示方法:實(shí)體-聯(lián)系方法實(shí)體-聯(lián)系方法(E-R方法)用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型E-R方法也稱為E-R模型E-R圖:實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái)

聯(lián)系:聯(lián)系本身用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n);聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無(wú)向邊與該聯(lián)系連接起來(lái)概念模型的一種表示方法:實(shí)體-聯(lián)系方法班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級(jí)組成學(xué)生1n1:n聯(lián)系班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班課程選修學(xué)生mn成績(jī)課程選修學(xué)生mn成績(jī)用E-R圖表示某個(gè)工廠物資管理的概念模型實(shí)體倉(cāng)庫(kù):倉(cāng)庫(kù)號(hào)、面積、電話號(hào)碼零件:零件號(hào)、名稱、規(guī)格、單價(jià)、描述供應(yīng)商:供應(yīng)商號(hào)、姓名、地址、電話號(hào)碼、帳號(hào)項(xiàng)目:項(xiàng)目號(hào)、預(yù)算、開(kāi)工日期職工:職工號(hào)、姓名、年齡、職稱實(shí)體之間的聯(lián)系如下:(1)一個(gè)倉(cāng)庫(kù)可以存放多種零件,一種零件可以存放在多個(gè)倉(cāng)庫(kù)中。倉(cāng)庫(kù)和零件具有多對(duì)多的聯(lián)系。用庫(kù)存量來(lái)表示某種零件在某個(gè)倉(cāng)庫(kù)中的數(shù)量(2)一個(gè)倉(cāng)庫(kù)有多個(gè)職工當(dāng)倉(cāng)庫(kù)保管員,一個(gè)職工只能在一個(gè)倉(cāng)庫(kù)工作,倉(cāng)庫(kù)和職工之間是一對(duì)多的聯(lián)系。職工實(shí)體型中具有一對(duì)多的聯(lián)系(3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉(cāng)庫(kù)主任領(lǐng)導(dǎo)若干保管員(4)供應(yīng)商、項(xiàng)目和零件三者之間具有多對(duì)多的聯(lián)系用E-R圖表示某個(gè)工廠物資管理的概念模型數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.2.4最常用的數(shù)據(jù)模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P?ObjectOrientedModel)對(duì)象關(guān)系模型(ObjectRelationalModel)1.2.4最常用的數(shù)據(jù)模型1.2.5層次模型層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型層次數(shù)據(jù)庫(kù)系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫(kù)管理系統(tǒng)層次模型用樹(shù)形結(jié)構(gòu)來(lái)表示各類實(shí)體以及實(shí)體間的聯(lián)系層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型1.有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)2.根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)層次模型中的幾個(gè)術(shù)語(yǔ)根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)1.2.5層次模型

R1

根結(jié)點(diǎn)

R2

兄弟結(jié)點(diǎn)

R3

葉結(jié)點(diǎn)

R4

兄弟結(jié)點(diǎn)

R5

葉結(jié)點(diǎn)

葉結(jié)點(diǎn)圖1.16一個(gè)層次模型的示例R1根結(jié)點(diǎn)層次模型的特點(diǎn):結(jié)點(diǎn)的雙親是唯一的只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型可以定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒(méi)有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在層次模型的特點(diǎn):圖1.17教員學(xué)生層次數(shù)據(jù)庫(kù)模型

根結(jié)點(diǎn)記錄型系的子女結(jié)點(diǎn)記錄型教員的雙親結(jié)點(diǎn)葉結(jié)點(diǎn)葉結(jié)點(diǎn)字段圖1.17教員學(xué)生層次數(shù)據(jù)庫(kù)模型根結(jié)點(diǎn)記錄型系的子女圖1.18教員學(xué)生層次數(shù)據(jù)庫(kù)的一個(gè)值

圖1.18教員學(xué)生層次數(shù)據(jù)庫(kù)的一個(gè)值多對(duì)多聯(lián)系在層次模型中的表示用層次模型間接表示多對(duì)多聯(lián)系方法將多對(duì)多聯(lián)系分解成一對(duì)多聯(lián)系分解方法冗余結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法多對(duì)多聯(lián)系在層次模型中的表示層次模型的數(shù)據(jù)操縱與完整性約束層次模型的數(shù)據(jù)操縱查詢:在層次模型中如果要查找一個(gè)記錄必須從跟結(jié)點(diǎn)開(kāi)始。插入:插入數(shù)據(jù)可先將數(shù)據(jù)寫入系統(tǒng)輸入/輸出區(qū),然后指定一個(gè)由根記錄開(kāi)始的插入層次路徑,完成數(shù)據(jù)的插入工作。刪除:當(dāng)刪除一個(gè)記錄的時(shí)候,其從屬的所有子記錄都將刪除更新:先查詢定位為當(dāng)前記錄,然后將該記錄讀到系統(tǒng)輸入/輸出區(qū),在輸入/輸出區(qū)中對(duì)數(shù)據(jù)進(jìn)行修改,然后用相應(yīng)命令將修改后的記錄值寫回到數(shù)據(jù)庫(kù)中層次模型的數(shù)據(jù)操縱與完整性約束層次模型的完整性約束條件無(wú)相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性層次模型的完整性約束條件鄰接法按照層次樹(shù)前序遍歷的順序把所有記錄值依次鄰接存放,即通過(guò)物理空間的位置相鄰來(lái)實(shí)現(xiàn)層次順序…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法鄰接法…A1A2C8C6C4B6C9C2B4C14C7C5C鏈接法用指引來(lái)反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單清晰查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持鏈接法缺點(diǎn)多對(duì)多聯(lián)系表示不自然對(duì)插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜查詢子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化缺點(diǎn)1.2.6網(wǎng)狀模型在現(xiàn)實(shí)世界中事物之間的聯(lián)系殉的是非層次關(guān)系的,用層次模型表示非樹(shù)形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu):滿足下面兩個(gè)條件的基本層次聯(lián)系的集合:1.允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親;2.一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。與層次模型一樣,網(wǎng)狀模型中每個(gè)結(jié)點(diǎn)表示一個(gè)刻錄類型(實(shí)體),每個(gè)記錄類型可包含若干個(gè)字段(實(shí)體的屬性),結(jié)點(diǎn)間的連線表示記錄類型之間一對(duì)多的父子聯(lián)系。1.2.6網(wǎng)狀模型多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對(duì)多聯(lián)系方法:將多對(duì)多聯(lián)系直接分解成一對(duì)多聯(lián)系網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)對(duì)數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼:唯一標(biāo)識(shí)記錄的數(shù)據(jù)項(xiàng)的集合一個(gè)聯(lián)系中雙親記錄與子女記錄之間是一對(duì)多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)關(guān)鍵實(shí)現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫(kù)實(shí)例

學(xué)生記錄課程記錄選課記錄圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫(kù)實(shí)例學(xué)生記錄課程網(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)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶掌握DDL、DML語(yǔ)言復(fù)雜,用戶不容易使用網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)1.2.7關(guān)系模型關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式1970年美國(guó)IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)系模型計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。學(xué)號(hào)姓名年齡性別系名年級(jí)2005004王小明19女社會(huì)學(xué)20052005006黃大鵬20男商品學(xué)20052005008張文斌18女法律20051.2.7關(guān)系模型學(xué)號(hào)姓名年齡性別系名關(guān)系(Relation)一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表元組(Tuple)表中的一行即為一個(gè)元組屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域(Domain)屬性的取值范圍。分量元組中的一個(gè)屬性值。關(guān)系(Relation)關(guān)系模式對(duì)關(guān)系的描述關(guān)系名(屬性1,屬性2,…,屬性n)學(xué)生(學(xué)號(hào),姓名,年齡,性別,系,年級(jí))學(xué)生、系、系與學(xué)生之間的一對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))系(系號(hào),系名,辦公地點(diǎn))學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))關(guān)系模式關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),不允許表中還有表圖1.27中工資和扣除是可分的數(shù)據(jù)項(xiàng),不符合關(guān)系模型要求關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件關(guān)系數(shù)據(jù)模型的操縱與完整性約束數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系查詢插入刪除更新數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合存取路徑對(duì)用戶隱蔽,用戶只要指出“干什么”,不必詳細(xì)說(shuō)明“怎么干”關(guān)系數(shù)據(jù)模型的操縱與完整性約束關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)實(shí)體及實(shí)體間的聯(lián)系都用表來(lái)表示表以文件形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一關(guān)系模型的存取路徑對(duì)用戶透明關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)缺點(diǎn)存取路徑對(duì)用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)行優(yōu)化,增加了開(kāi)發(fā)DBMS的難度缺點(diǎn)1.3數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)從數(shù)據(jù)庫(kù)管理系統(tǒng)角度看,數(shù)據(jù)庫(kù)系統(tǒng)通常采用三級(jí)模式結(jié)構(gòu),是數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu)從數(shù)據(jù)庫(kù)最終用戶角度看(數(shù)據(jù)庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)),數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)分為:單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/服務(wù)器瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器多層結(jié)構(gòu)等1.3數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫(kù)系統(tǒng)模式的概念“型”和“值”的概念模式是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及到型的描述,不涉及到具體的值。模式的一個(gè)具體值稱為模型的一個(gè)實(shí)例,同一個(gè)模式可以有多個(gè)實(shí)例。例如1.3.1數(shù)據(jù)庫(kù)系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)是指數(shù)據(jù)庫(kù)系統(tǒng)是由外模式、模式和內(nèi)模式三級(jí)構(gòu)成。模式的具體定義:數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求1.3.2數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)外模式也稱子模式數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對(duì)多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長(zhǎng)度、保密級(jí)別等都可以不同外模式與應(yīng)用的關(guān)系:一對(duì)多同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用但一個(gè)應(yīng)用程序只能使用一個(gè)外模式外模式也稱子模式外模式的用途保證數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施每個(gè)用戶只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)內(nèi)模式(也稱存儲(chǔ)模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹(shù)結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))索引的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式外模式的用途1.3.3數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性二級(jí)映象在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換外模式/模式映像模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)同一個(gè)模式可以有任意多個(gè)外模式每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式/模式映象,定義外模式與模式之間的對(duì)應(yīng)關(guān)系映象定義通常包含在各自外模式的描述中1.3.3數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性模式/內(nèi)模式映像模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。例如,說(shuō)明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫(kù)中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中優(yōu)點(diǎn):數(shù)據(jù)與程序之間的獨(dú)立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去數(shù)據(jù)的存取由DBMS管理用戶不必考慮存取路徑等細(xì)節(jié)簡(jiǎn)化了應(yīng)用程序的編制大大減少了應(yīng)用程序的維護(hù)和修改模式/內(nèi)模式映像1.4數(shù)據(jù)庫(kù)系統(tǒng)的組成數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)管理員本章作業(yè):6、12、211.4數(shù)據(jù)庫(kù)系統(tǒng)的組成浪子1511738045X第一章:緒論浪子第一章:緒論第一章緒論第一章緒論第一章緒論數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支。數(shù)據(jù)庫(kù)技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫(kù)的建設(shè)規(guī)模、數(shù)據(jù)庫(kù)信息量的大小和使用頻度已成為衡量一個(gè)國(guó)家信息化程度的重要標(biāo)志。第一章緒論數(shù)據(jù)庫(kù)技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù)1.1數(shù)據(jù)庫(kù)系統(tǒng)概述1.1.1四個(gè)基本概念數(shù)據(jù)(Data)數(shù)據(jù)(Data)是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的定義描述事物的符號(hào)記錄數(shù)據(jù)的種類文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運(yùn)輸情況等數(shù)據(jù)的特點(diǎn)數(shù)據(jù)與其語(yǔ)義是不可分的1.1數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)(Database)數(shù)據(jù)庫(kù)的定義數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展概括地講,數(shù)據(jù)庫(kù)數(shù)據(jù)具有永久存儲(chǔ)、有組織、可共享三個(gè)基本特點(diǎn)。數(shù)據(jù)庫(kù)(Database)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)什么是DBMS位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)DBMS的用途科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)DBMS主要功能

數(shù)據(jù)定義;數(shù)據(jù)組織、存儲(chǔ)和管理;數(shù)據(jù)操縱;數(shù)據(jù)庫(kù)的事務(wù)管理和運(yùn)行管理;數(shù)據(jù)庫(kù)的建立和維護(hù);其他功能。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)數(shù)據(jù)庫(kù)系統(tǒng)(DBS)數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,DBS)在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成數(shù)據(jù)庫(kù)系統(tǒng)的構(gòu)成數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)管理員數(shù)據(jù)庫(kù)系統(tǒng)(DBS)

數(shù)據(jù)庫(kù)

應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具

操作系統(tǒng)

數(shù)據(jù)庫(kù)管理系統(tǒng)

數(shù)據(jù)庫(kù)管理員用戶用戶用戶

數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開(kāi)發(fā)工具數(shù)據(jù)庫(kù)管理系統(tǒng)用戶用戶用戶1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展在應(yīng)用需求推動(dòng)下,在計(jì)算機(jī)硬件、軟件發(fā)展的基礎(chǔ)上,數(shù)據(jù)管理經(jīng)歷了人工管理、文件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)3個(gè)階段。人工管理階段

時(shí)間:20世紀(jì)50年代中期以前

特點(diǎn):數(shù)據(jù)不保存,程序管理數(shù)據(jù),數(shù)據(jù)不共享,數(shù)據(jù)不具有獨(dú)立性文件系統(tǒng)階段

時(shí)間:20世紀(jì)50年代后期到60年代中期

特點(diǎn):數(shù)據(jù)可長(zhǎng)期保存,由文件系統(tǒng)管理數(shù)據(jù)

缺點(diǎn):共享性差,冗余度大;獨(dú)立性差數(shù)據(jù)庫(kù)系統(tǒng)階段

時(shí)間:20世紀(jì)60年代末以來(lái)

背景:計(jì)算機(jī)應(yīng)用廣泛,數(shù)據(jù)量劇增,共享需求強(qiáng)烈,硬件發(fā)展且價(jià)低1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化整體結(jié)構(gòu)化

不再僅僅針對(duì)某一個(gè)應(yīng)用,而是面向全組織

不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫(kù)系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個(gè)系統(tǒng),可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲(chǔ)空間避免數(shù)據(jù)之間的不相容性與不一致性使系統(tǒng)易于擴(kuò)充1.1.3數(shù)據(jù)庫(kù)系統(tǒng)的特點(diǎn)數(shù)據(jù)獨(dú)立性高物理獨(dú)立性指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫(kù)中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性指用戶的應(yīng)用程序與數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制

并發(fā)共享:多個(gè)用戶可以同時(shí)存取數(shù)據(jù)庫(kù)中的數(shù)據(jù),甚至可以同時(shí)存取數(shù)據(jù)庫(kù)中同一個(gè)數(shù)據(jù)。

為此,DBMS還需提供以下幾方面的數(shù)據(jù)控制功能:(1)數(shù)據(jù)的安全性(Security)保護(hù)保護(hù)數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。(2)數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。(3)并發(fā)(Concurrency)控制對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。(4)數(shù)據(jù)庫(kù)恢復(fù)(Recovery)將數(shù)據(jù)庫(kù)從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。數(shù)據(jù)由DBMS統(tǒng)一管理和控制DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫(kù)…數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系

DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫(kù)…數(shù)據(jù)庫(kù)系統(tǒng)階段應(yīng)用程序與1.2數(shù)據(jù)模型模型是對(duì)現(xiàn)實(shí)世界中某個(gè)對(duì)象特征的模擬和抽象。數(shù)據(jù)模型阤是一種模型,它是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。也就是說(shuō),數(shù)據(jù)模型是用來(lái)描述數(shù)據(jù)、組織數(shù)據(jù)和操作數(shù)據(jù)的。現(xiàn)有的數(shù)據(jù)庫(kù)系統(tǒng)均是基于某種數(shù)據(jù)模型的。在數(shù)據(jù)庫(kù)中用數(shù)據(jù)模型這個(gè)工具來(lái)抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。1.2.1兩類數(shù)據(jù)模型數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)1.2數(shù)據(jù)模型數(shù)據(jù)模型分為兩類(分屬兩個(gè)不同的層次)概念模型

也稱信息模型,它是按用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫(kù)設(shè)計(jì)。(2)邏輯模型和物理模型邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?,按?jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,用于DBMS實(shí)現(xiàn)。物理模型是對(duì)數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲(chǔ)方式和存取方法??陀^對(duì)象的抽象過(guò)程---兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。數(shù)據(jù)模型分為兩類(分屬兩個(gè)不同的層次)DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識(shí)抽象信息世界機(jī)器世界現(xiàn)實(shí)世界中客觀對(duì)象的抽象過(guò)程現(xiàn)實(shí)世界現(xiàn)實(shí)世界概念模型數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數(shù)據(jù)庫(kù)設(shè)計(jì)人員完成DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識(shí)信息世界機(jī)器世界現(xiàn)實(shí)世界中1.2.2數(shù)據(jù)模型的組成要素a)數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)庫(kù)的組成對(duì)象,以及對(duì)象之間的聯(lián)系描述的內(nèi)容與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對(duì)象與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述1.2.2數(shù)據(jù)模型的組成要素b)數(shù)據(jù)操作數(shù)據(jù)操作對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)

b)數(shù)據(jù)操作c)完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。c)完整性約束條件1.2.3概念模型概念模型實(shí)際上是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。概念模型的用途概念模型用于信息世界的建模是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次是數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶之間進(jìn)行交流的語(yǔ)言對(duì)概念模型的基本要求較強(qiáng)的語(yǔ)義表達(dá)能力能夠方便、直接地表達(dá)應(yīng)用中的各種語(yǔ)義知識(shí)簡(jiǎn)單、清晰、易于用戶理解1.2.3概念模型信息世界中的基本概念(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體??梢允蔷唧w的人、事、物或抽象的概念。(2)屬性(Attribute)實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來(lái)刻畫。(3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼信息世界中的基本概念(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來(lái)抽象和刻畫同類實(shí)體稱為實(shí)體型(6)實(shí)體集(EntitySet)同一類型實(shí)體的集合稱為實(shí)體集(7)聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。(4)域(Domain)兩個(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)系實(shí)體型A聯(lián)系名實(shí)體型B111:1聯(lián)系實(shí)體兩個(gè)以上實(shí)體型之間的聯(lián)系實(shí)例

課程、教師與參考書三個(gè)實(shí)體型一門課程可以有若干個(gè)教師講授,使用若干本參考書,每一個(gè)教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個(gè)以上實(shí)體型間1:n聯(lián)系參考書n兩個(gè)以上實(shí)體型之間的聯(lián)系課程講授教師1m兩個(gè)以上實(shí)體型間1:單個(gè)實(shí)體型內(nèi)的聯(lián)系實(shí)例

職工實(shí)體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工(干部)“領(lǐng)導(dǎo)”若干名職工一個(gè)職工僅被另外一個(gè)職工直接領(lǐng)導(dǎo)這是一對(duì)多的聯(lián)系職工領(lǐng)導(dǎo)1n單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系單個(gè)實(shí)體型內(nèi)的聯(lián)系職工領(lǐng)導(dǎo)1n單個(gè)實(shí)體型內(nèi)部1:n聯(lián)系概念模型的一種表示方法:實(shí)體-聯(lián)系方法實(shí)體-聯(lián)系方法(E-R方法)用E-R圖來(lái)描述現(xiàn)實(shí)世界的概念模型E-R方法也稱為E-R模型E-R圖:實(shí)體型:用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性:用橢圓形表示,并用無(wú)向邊將其與相應(yīng)的實(shí)體連接起來(lái)

聯(lián)系:聯(lián)系本身用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無(wú)向邊分別與有關(guān)實(shí)體連接起來(lái),同時(shí)在無(wú)向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n);聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無(wú)向邊與該聯(lián)系連接起來(lái)概念模型的一種表示方法:實(shí)體-聯(lián)系方法班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級(jí)組成學(xué)生1n1:n聯(lián)系班級(jí)班級(jí)-班長(zhǎng)班長(zhǎng)111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班課程選修學(xué)生mn成績(jī)課程選修學(xué)生mn成績(jī)用E-R圖表示某個(gè)工廠物資管理的概念模型實(shí)體倉(cāng)庫(kù):倉(cāng)庫(kù)號(hào)、面積、電話號(hào)碼零件:零件號(hào)、名稱、規(guī)格、單價(jià)、描述供應(yīng)商:供應(yīng)商號(hào)、姓名、地址、電話號(hào)碼、帳號(hào)項(xiàng)目:項(xiàng)目號(hào)、預(yù)算、開(kāi)工日期職工:職工號(hào)、姓名、年齡、職稱實(shí)體之間的聯(lián)系如下:(1)一個(gè)倉(cāng)庫(kù)可以存放多種零件,一種零件可以存放在多個(gè)倉(cāng)庫(kù)中。倉(cāng)庫(kù)和零件具有多對(duì)多的聯(lián)系。用庫(kù)存量來(lái)表示某種零件在某個(gè)倉(cāng)庫(kù)中的數(shù)量(2)一個(gè)倉(cāng)庫(kù)有多個(gè)職工當(dāng)倉(cāng)庫(kù)保管員,一個(gè)職工只能在一個(gè)倉(cāng)庫(kù)工作,倉(cāng)庫(kù)和職工之間是一對(duì)多的聯(lián)系。職工實(shí)體型中具有一對(duì)多的聯(lián)系(3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉(cāng)庫(kù)主任領(lǐng)導(dǎo)若干保管員(4)供應(yīng)商、項(xiàng)目和零件三者之間具有多對(duì)多的聯(lián)系用E-R圖表示某個(gè)工廠物資管理的概念模型數(shù)據(jù)模型與數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.2.4最常用的數(shù)據(jù)模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P?ObjectOrientedModel)對(duì)象關(guān)系模型(ObjectRelationalModel)1.2.4最常用的數(shù)據(jù)模型1.2.5層次模型層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型層次數(shù)據(jù)庫(kù)系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫(kù)管理系統(tǒng)層次模型用樹(shù)形結(jié)構(gòu)來(lái)表示各類實(shí)體以及實(shí)體間的聯(lián)系層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型1.有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)2.根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)層次模型中的幾個(gè)術(shù)語(yǔ)根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)1.2.5層次模型

R1

根結(jié)點(diǎn)

R2

兄弟結(jié)點(diǎn)

R3

葉結(jié)點(diǎn)

R4

兄弟結(jié)點(diǎn)

R5

葉結(jié)點(diǎn)

葉結(jié)點(diǎn)圖1.16一個(gè)層次模型的示例R1根結(jié)點(diǎn)層次模型的特點(diǎn):結(jié)點(diǎn)的雙親是唯一的只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型可以定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒(méi)有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在層次模型的特點(diǎn):圖1.17教員學(xué)生層次數(shù)據(jù)庫(kù)模型

根結(jié)點(diǎn)記錄型系的子女結(jié)點(diǎn)記錄型教員的雙親結(jié)點(diǎn)葉結(jié)點(diǎn)葉結(jié)點(diǎn)字段圖1.17教員學(xué)生層次數(shù)據(jù)庫(kù)模型根結(jié)點(diǎn)記錄型系的子女圖1.18教員學(xué)生層次數(shù)據(jù)庫(kù)的一個(gè)值

圖1.18教員學(xué)生層次數(shù)據(jù)庫(kù)的一個(gè)值多對(duì)多聯(lián)系在層次模型中的表示用層次模型間接表示多對(duì)多聯(lián)系方法將多對(duì)多聯(lián)系分解成一對(duì)多聯(lián)系分解方法冗余結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法多對(duì)多聯(lián)系在層次模型中的表示層次模型的數(shù)據(jù)操縱與完整性約束層次模型的數(shù)據(jù)操縱查詢:在層次模型中如果要查找一個(gè)記錄必須從跟結(jié)點(diǎn)開(kāi)始。插入:插入數(shù)據(jù)可先將數(shù)據(jù)寫入系統(tǒng)輸入/輸出區(qū),然后指定一個(gè)由根記錄開(kāi)始的插入層次路徑,完成數(shù)據(jù)的插入工作。刪除:當(dāng)刪除一個(gè)記錄的時(shí)候,其從屬的所有子記錄都將刪除更新:先查詢定位為當(dāng)前記錄,然后將該記錄讀到系統(tǒng)輸入/輸出區(qū),在輸入/輸出區(qū)中對(duì)數(shù)據(jù)進(jìn)行修改,然后用相應(yīng)命令將修改后的記錄值寫回到數(shù)據(jù)庫(kù)中層次模型的數(shù)據(jù)操縱與完整性約束層次模型的完整性約束條件無(wú)相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性層次模型的完整性約束條件鄰接法按照層次樹(shù)前序遍歷的順序把所有記錄值依次鄰接存放,即通過(guò)物理空間的位置相鄰來(lái)實(shí)現(xiàn)層次順序…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法鄰接法…A1A2C8C6C4B6C9C2B4C14C7C5C鏈接法用指引來(lái)反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單清晰查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持鏈接法缺點(diǎn)多對(duì)多聯(lián)系表示不自然對(duì)插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜查詢子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化缺點(diǎn)1.2.6網(wǎng)狀模型在現(xiàn)實(shí)世界中事物之間的聯(lián)系殉的是非層次關(guān)系的,用層次模型表示非樹(shù)形結(jié)構(gòu)是很不直接的,網(wǎng)狀模型則可以克服這一弊病。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu):滿足下面兩個(gè)條件的基本層次聯(lián)系的集合:1.允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親;2.一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。與層次模型一樣,網(wǎng)狀模型中每個(gè)結(jié)點(diǎn)表示一個(gè)刻錄類型(實(shí)體),每個(gè)記錄類型可包含若干個(gè)字段(實(shí)體的屬性),結(jié)點(diǎn)間的連線表示記錄類型之間一對(duì)多的父子聯(lián)系。1.2.6網(wǎng)狀模型多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對(duì)多聯(lián)系方法:將多對(duì)多聯(lián)系直接分解成一對(duì)多聯(lián)系網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)對(duì)數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼:唯一標(biāo)識(shí)記錄的數(shù)據(jù)項(xiàng)的集合一個(gè)聯(lián)系中雙親記錄與子女記錄之間是一對(duì)多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)關(guān)鍵實(shí)現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫(kù)實(shí)例

學(xué)生記錄課程記錄選課記錄圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫(kù)實(shí)例學(xué)生記錄課程網(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)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶掌握DDL、DML語(yǔ)言復(fù)雜,用戶不容易使用網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)1.2.7關(guān)系模型關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式1970年美國(guó)IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫(kù)系統(tǒng)的關(guān)系模型計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。學(xué)號(hào)姓名年齡性別系名年級(jí)2005004王小明19女社會(huì)學(xué)20052005006黃大鵬20男商品學(xué)20052005008張文斌18女法律20051.2.7關(guān)系模型學(xué)號(hào)姓名年齡性別系名關(guān)系(Relation)一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表元組(Tuple)表中的一行即為一個(gè)元組屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域(Domain)屬性的取值范圍。分量元組中的一個(gè)屬性值。關(guān)系(Relation)關(guān)系模式對(duì)關(guān)系的描述關(guān)系名(屬性1,屬性2,…,屬性n)學(xué)生(學(xué)號(hào),姓名,年齡,性別,系,年級(jí))學(xué)生、系、系與學(xué)生之間的一對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(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)論