版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)庫原理
PrincipleofDatabaseSystems劉潔liujie@2教材及參考書王珊,薩師煊:數(shù)據(jù)庫系統(tǒng)概論(第四版),高等教育出版社,2006.5Jeffrey.D.Ullman,JenniferWidom.
AFirstCourseinDatabaseSystems(3rdEdition),2007C.J.Date.AnIntroductiontoDatabaseSystem(Ed.7),Addison-Wesley,20003內(nèi)容安排基礎(chǔ)篇第一章緒論(2)第二章關(guān)系數(shù)據(jù)庫(6)第三章關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL(8)第四章數(shù)據(jù)庫安全性(2)第五章數(shù)據(jù)庫完整性(4)4內(nèi)容安排設(shè)計(jì)與應(yīng)用開發(fā)篇第六章關(guān)系數(shù)據(jù)理論(6)第七章數(shù)據(jù)庫設(shè)計(jì)(6)第八章數(shù)據(jù)庫編程(2)系統(tǒng)篇第九章關(guān)系查詢處理和查詢優(yōu)化(4)第十章數(shù)據(jù)庫恢復(fù)技術(shù)(4)第十一章并發(fā)控制(4)5上課時(shí)間、地點(diǎn)周2/56節(jié)/7310周5雙周/34節(jié)/4604周5單周/34節(jié)/(周五34單從第三周開始在信南B317)6成績構(gòu)成期末考試卷面成績70%平日成績10%作業(yè)10%實(shí)驗(yàn)10%7第一章緒論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫系統(tǒng)的組成1.5小結(jié)8數(shù)據(jù)(Data)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象數(shù)據(jù)的定義描述事物的符號記錄數(shù)據(jù)的種類數(shù)字、文本、圖形、圖像、音頻、視頻……數(shù)據(jù)的語義數(shù)據(jù)的含義數(shù)據(jù)的特點(diǎn)數(shù)據(jù)與其語義是不可分的9數(shù)據(jù)庫(Database)定義數(shù)據(jù)庫是長期儲存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展可為各種用戶共享10數(shù)據(jù)庫管理系統(tǒng)(DBMS)定義數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫管理系統(tǒng)和操作系統(tǒng)一樣是計(jì)算機(jī)的基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)。11DBMS的主要功能數(shù)據(jù)定義功能數(shù)據(jù)定義語言(DDL),定義數(shù)據(jù)庫中的數(shù)據(jù)對象數(shù)據(jù)組織、存儲和管理數(shù)據(jù)操縱功能數(shù)據(jù)操縱語言(DML),實(shí)現(xiàn)對數(shù)據(jù)庫的基本操作
(查詢、插入、刪除和修改)數(shù)據(jù)庫的事務(wù)管理和運(yùn)行管理數(shù)據(jù)庫的建立和維護(hù)功能其他功能,e.g.數(shù)據(jù)轉(zhuǎn)換12數(shù)據(jù)庫系統(tǒng)定義數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)。構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員13應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具DBMS操作系統(tǒng)數(shù)據(jù)庫在計(jì)算機(jī)系統(tǒng)中的地位硬件編譯系統(tǒng)141.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理?對數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲、檢索和維護(hù),數(shù)據(jù)管理是數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術(shù)的發(fā)展動(dòng)力應(yīng)用需求的推動(dòng),計(jì)算機(jī)硬件的發(fā)展,計(jì)算機(jī)軟件的發(fā)展數(shù)據(jù)管理技術(shù)的發(fā)展過程人工管理階段(20世紀(jì)40年代中—50年代中)文件系統(tǒng)階段(20世紀(jì)50年代末—60年代中)數(shù)據(jù)庫系統(tǒng)階段(20世紀(jì)60年代末—現(xiàn)在)15人工管理階段20世紀(jì)40年代中—50年代中產(chǎn)生背景應(yīng)用需求:科學(xué)計(jì)算硬件水平:無直接存取存儲設(shè)備軟件水平:沒有操作系統(tǒng)處理方式:批處理數(shù)據(jù)的管理者:用戶(程序員),數(shù)據(jù)不保存數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制16二、文件系統(tǒng)階段20世紀(jì)50年代末—60年代中產(chǎn)生背景應(yīng)用需求:科學(xué)計(jì)算、數(shù)據(jù)管理硬件水平:磁盤、磁鼓軟件水平:有文件系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理、批處理數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制17數(shù)據(jù)庫系統(tǒng)階段20世紀(jì)60年代末以來產(chǎn)生背景應(yīng)用背景:大規(guī)模數(shù)據(jù)管理硬件背景:大容量磁盤、磁盤陣列軟件背景:有數(shù)據(jù)庫管理系統(tǒng)處理方式:聯(lián)機(jī)實(shí)時(shí)處理、分布處理、批處理數(shù)據(jù)的管理者:數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)面向的對象:現(xiàn)實(shí)世界數(shù)據(jù)的共享程度:共享性高、冗余度小數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述數(shù)據(jù)的獨(dú)立性:具有高度的物理獨(dú)立性和一定的邏輯獨(dú)立性數(shù)據(jù)控制能力:DBMS提供數(shù)據(jù)安全性、完整性、并發(fā)控制和恢復(fù)能力181.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)獨(dú)立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制19數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一整體結(jié)構(gòu)化不再僅僅針對某一個(gè)應(yīng)用,而是面向全組織不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,而且整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系數(shù)據(jù)庫中實(shí)現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋數(shù)據(jù)可以變長數(shù)據(jù)的最小存取單位是數(shù)據(jù)項(xiàng)20數(shù)據(jù)的共享性高,冗余度低,易擴(kuò)充數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個(gè)系統(tǒng),可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲空間避免數(shù)據(jù)之間的不相容性與不一致性使系統(tǒng)易于擴(kuò)充21數(shù)據(jù)獨(dú)立性高物理獨(dú)立性指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨(dú)立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨(dú)立性是由DBMS的二級映像功能來保證的。22數(shù)據(jù)由DBMS統(tǒng)一管理和控制DBMS提供的數(shù)據(jù)控制功能數(shù)據(jù)的安全性(Security)保護(hù),保護(hù)數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性(Integrity),檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。并發(fā)(Concurrency)控制,對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。數(shù)據(jù)庫恢復(fù)(Recovery),將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。23第一章緒論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫系統(tǒng)的組成1.5小結(jié)241.2數(shù)據(jù)模型1.2.1兩大類數(shù)據(jù)模型1.2.2數(shù)據(jù)模型的組成要素1.2.3概念模型1.2.4最常用的數(shù)據(jù)模型1.2.5層次模型1.2.6網(wǎng)狀模型1.2.7關(guān)系模型25數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個(gè)工具來抽象、表示和處理現(xiàn)實(shí)世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實(shí)世界的模擬。數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實(shí)地模擬現(xiàn)實(shí)世界容易為人所理解便于在計(jì)算機(jī)上實(shí)現(xiàn)261.2.1兩大類數(shù)據(jù)模型概念模型,也稱信息模型,它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設(shè)計(jì)。邏輯模型和物理模型邏輯模型主要包括層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P秃蛯ο箨P(guān)系模型等,按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對數(shù)據(jù)建模,用于DBMS實(shí)現(xiàn)。物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。271.2.2數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束條件28一、數(shù)據(jù)結(jié)構(gòu)定義:描述數(shù)據(jù)庫的組成對象以及對象之間的聯(lián)系。描述的內(nèi)容與對象的類型、內(nèi)容、性質(zhì)有關(guān)與數(shù)據(jù)之間聯(lián)系有關(guān)的對象刻畫數(shù)據(jù)模型性質(zhì)最重要的方面數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述29二、數(shù)據(jù)操作定義數(shù)據(jù)操作是對數(shù)據(jù)庫中各種對象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則。數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)30數(shù)據(jù)操作數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實(shí)現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動(dòng)態(tài)特性的描述31三、數(shù)據(jù)的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。321.2.3概念模型信息世界中的基本概念兩個(gè)實(shí)體型之間的聯(lián)系兩個(gè)以上實(shí)體型之間的聯(lián)系單個(gè)實(shí)體型內(nèi)的聯(lián)系概念模型的一種表示方法:實(shí)體—聯(lián)系方法一個(gè)實(shí)例33概念模型用途概念模型用于信息世界的建?,F(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次數(shù)據(jù)庫設(shè)計(jì)的有力工具數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言概念模型的基本要求較強(qiáng)的語義表達(dá)能力能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識簡單、清晰、易于用戶理解34一、信息世界中的基本概念實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體具體的人、事、物抽象的概念或聯(lián)系屬性(Attribute)實(shí)體所具有的某一特性稱為屬性一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫碼(Key)唯一標(biāo)識實(shí)體的屬性集稱為碼35信息世界中的基本概念域(Domain)屬性的取值范圍稱為該屬性的域?qū)嶓w型(EntityType)用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體稱為實(shí)體型實(shí)體集(EntitySet)同一類型實(shí)體的集合稱為實(shí)體集36信息世界中的基本概念聯(lián)系(Relationship)現(xiàn)實(shí)世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系通常是指組成實(shí)體的各屬性之間的聯(lián)系。實(shí)體之間的聯(lián)系通常是指不同實(shí)體集之間的聯(lián)系。37二、兩個(gè)實(shí)體型之間的聯(lián)系一對一聯(lián)系(1:1)如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)(也可以沒有)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對一聯(lián)系,記為1:1。一對多聯(lián)系(1:n)如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B有一對多聯(lián)系,記為1:n。38兩個(gè)實(shí)體型之間的聯(lián)系多對多聯(lián)系(m:n)如果對于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體B具有多對多聯(lián)系,記為m:n。39三、兩個(gè)以上實(shí)體型之間的聯(lián)系一對多聯(lián)系若實(shí)體型E1,E2,...,En存在聯(lián)系,對于實(shí)體型Ej(j=1,2,...,i-1,i+1,...,n)中的給定實(shí)體,最多只和Ei中的一個(gè)實(shí)體相聯(lián)系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯(lián)系是一對多的。40兩個(gè)以上實(shí)體型之間的聯(lián)系課程、教師與參考書三個(gè)實(shí)體型一門課程可以有若干個(gè)教師講授每一個(gè)教師只講授一門課程每門課程使用若干本參考書每一本參考書只供一門課程使用41四、單個(gè)實(shí)體型內(nèi)的聯(lián)系一對一聯(lián)系一對多聯(lián)系多對多聯(lián)系42五、概念模型的一種表示方法實(shí)體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實(shí)世界的概念模型E-R方法也稱為E-R模型43E-R圖實(shí)體型用矩形表示,矩形框內(nèi)寫明實(shí)體名。屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來。學(xué)生教師學(xué)生學(xué)號姓名年齡專業(yè)44E-R圖聯(lián)系用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)。45聯(lián)系的表示方法46聯(lián)系的屬性聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。47六、一個(gè)實(shí)例用E-R圖表示某個(gè)工廠物資管理的概念模型(Page17)工作職工n1領(lǐng)導(dǎo)n1供應(yīng)商項(xiàng)目供應(yīng)mnp供應(yīng)量倉庫零件庫存mn庫存量481.2.4最常用的數(shù)據(jù)模型非關(guān)系模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P?ObjectOrientedModel)對象關(guān)系模型(ObjectRelationalModel)491.2.5層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫管理系統(tǒng)層次模型用樹形結(jié)構(gòu)來表示各類實(shí)體以及實(shí)體間的聯(lián)系50一、層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫中滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型有且只有一個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱為根結(jié)點(diǎn)根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)層次模型中的幾個(gè)術(shù)語根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)51層次模型的示例52層次模型的特點(diǎn)結(jié)點(diǎn)的雙親是唯一的只能直接處理一對多的實(shí)體聯(lián)系每個(gè)記錄類型可以定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在53二、多對多聯(lián)系在層次模型中的表示用層次模型間接表示多對多聯(lián)系方法將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法54三、層次模型的數(shù)據(jù)操縱查詢插入刪除更新55層次模型的完整性約束條件無相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性56四、層次數(shù)據(jù)模型的存儲結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實(shí)現(xiàn)層次順序。鏈接法用指針引來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法57層次數(shù)據(jù)模型的存儲結(jié)構(gòu)子女-兄弟鏈接法每個(gè)記錄設(shè)兩類指針,分別指向最左邊的子女(每個(gè)記錄型對應(yīng)一個(gè))和最近的兄弟58層次數(shù)據(jù)模型的存儲結(jié)構(gòu)層次序列鏈接法按樹的前序穿越順序鏈接各記錄值A(chǔ)1B1B4B6C3C5C7C14C2C959五、層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點(diǎn)現(xiàn)實(shí)世界中很多聯(lián)系是非層次的,e.g.多對多聯(lián)系對插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化601.2.6網(wǎng)狀模型網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式典型代表是DBTG系統(tǒng)亦稱CODASYL系統(tǒng)70年代由DBTG提出的一個(gè)系統(tǒng)方案奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù)611.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足兩個(gè)條件的基本層次聯(lián)系的集合允許一個(gè)以上的結(jié)點(diǎn)無雙親一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親62網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)表示方法(與層次數(shù)據(jù)模型相同)實(shí)體型:用記錄類型描述,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型(實(shí)體)屬性:用字段描述,每個(gè)記錄類型可包含若干個(gè)字段聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄類型(實(shí)體)之間的一對多的父子聯(lián)系63網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個(gè)結(jié)點(diǎn)沒有雙親結(jié)點(diǎn)網(wǎng)狀模型允許結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn)網(wǎng)狀模型允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)特例64網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型中子女結(jié)點(diǎn)與雙親結(jié)點(diǎn)的聯(lián)系可以不唯一,要為每個(gè)聯(lián)系命名,并指出與該聯(lián)系有關(guān)的雙親記錄和子女記錄。65網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系方法:將多對多聯(lián)系直接分解成一對多聯(lián)系66網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼:唯一標(biāo)識記錄的數(shù)據(jù)項(xiàng)的集合一個(gè)聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件67三、網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)關(guān)鍵如何實(shí)現(xiàn)記錄之間的聯(lián)系常用方法:鏈接法單向鏈接(Page27)雙向鏈接環(huán)狀鏈接向首鏈接68網(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ù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用691.2.7關(guān)系模型關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型70一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)系(Relation)一個(gè)關(guān)系對應(yīng)通常說的一張表元組(Tuple)表中的一行即為一個(gè)元組屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名71關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組域(Domain)屬性的取值范圍分量元組中的一個(gè)屬性值關(guān)系模式對關(guān)系的描述關(guān)系名(屬性1,屬性2,…,屬性n)學(xué)生(學(xué)號,姓名,年齡,性別,系,年級)72關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),不允許表中還有表73術(shù)語對比74二、關(guān)系數(shù)據(jù)模型的操作數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合查詢插入刪除更新存取路徑對用戶隱蔽,用戶只要指出“做什么”,不必詳細(xì)說明“怎么做”75關(guān)系數(shù)據(jù)模型的完整性約束實(shí)體完整性參照完整性用戶定義的完整性76三、關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu)實(shí)體及實(shí)體間的聯(lián)系都用表來表示表以文件形式存儲有的DBMS一個(gè)表對應(yīng)一個(gè)操作系統(tǒng)文件有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)77四、關(guān)系數(shù)據(jù)模型的優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一實(shí)體和實(shí)體之間的聯(lián)系都用關(guān)系來表示對數(shù)據(jù)的檢索結(jié)果也是關(guān)系關(guān)系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作78關(guān)系數(shù)據(jù)模型的缺點(diǎn)存取路徑對用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化增加了開發(fā)DBMS的難度79第一章緒論1.1數(shù)據(jù)庫系統(tǒng)概述1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫系統(tǒng)的組成1.5小結(jié)801.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性811.3.1數(shù)據(jù)庫系統(tǒng)模式的概念“型”和“值”的概念型(Type):對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明值(Value):型的一個(gè)具體賦值學(xué)生記錄型:(學(xué)號,姓名,性別,系別,年齡,籍貫)一個(gè)記錄值:(900201,李明,男,計(jì)算機(jī),22,江蘇)82數(shù)據(jù)庫系統(tǒng)模式的概念模式(Schema)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述型的描述模式是相對穩(wěn)定的反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系實(shí)例(Instance)模式的一個(gè)具體值反映數(shù)據(jù)庫某一時(shí)刻的狀態(tài)同一個(gè)模式可以有很多實(shí)例實(shí)例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動(dòng)831.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式(ExternalSchema)、模式(Schema)、內(nèi)模式(InternalSchema)三級構(gòu)成。84數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)數(shù)據(jù)庫內(nèi)模式模式外模式1外模式2外模式3應(yīng)用A應(yīng)用B應(yīng)用C應(yīng)用D應(yīng)用E內(nèi)模式/模式映像外模式/模式映像85一、模式(Schema)模式(也稱邏輯模式)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個(gè)數(shù)據(jù)庫只有一個(gè)模式模式的地位:數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計(jì)語言無關(guān)86模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)項(xiàng):數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求87二、外模式(ExternalSchema)外模式(也稱子模式或用戶模式)數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶的數(shù)據(jù)視圖與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示88外模式外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同89外模式外模式與應(yīng)用的關(guān)系:一對多同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用但一個(gè)應(yīng)用程序只能使用一個(gè)外模式外模式的用途保證數(shù)據(jù)庫安全性的一個(gè)有力措施每個(gè)用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)是不可見的。90三、內(nèi)模式(InternalSchema)內(nèi)模式(也稱存儲模式StorageSchema)數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲方式索引的組織方式數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否加密數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式91內(nèi)模式例如:學(xué)生記錄按堆存儲(a)、按學(xué)號升序存儲(b)、按照學(xué)生年齡聚簇存放(c)。921.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨(dú)立性三級模式是對數(shù)據(jù)的三個(gè)抽象級別二級映像在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換外模式/模式映像模式/內(nèi)模式映像93一、外模式/模式映像模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)同一個(gè)模式可以有任意多個(gè)外模式每一個(gè)外模式,數(shù)據(jù)庫系統(tǒng)都有一個(gè)外模式/模式映像,定義外模式與模式之間的對應(yīng)關(guān)系映像定義通常包含在各自外模式的描述中94外模式/模式映像如何保證數(shù)據(jù)的邏輯獨(dú)立性當(dāng)模式改變時(shí),數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映像,使外模式保持不變應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。95二、模式/內(nèi)模式映像模式/內(nèi)模式映像定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。數(shù)據(jù)庫中模式/內(nèi)模式映像是唯一的該映像定義通常包含在模式描述中96模式/內(nèi)模式映像如何保證數(shù)據(jù)的物理獨(dú)立性當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映像,使模式保持不變。應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。97模式/內(nèi)模式映像數(shù)據(jù)庫模式即全局邏輯結(jié)構(gòu)是數(shù)據(jù)庫的中心與關(guān)鍵獨(dú)立于數(shù)據(jù)庫的其他層次設(shè)計(jì)數(shù)據(jù)庫模式結(jié)構(gòu)時(shí)應(yīng)首先確定數(shù)據(jù)庫的邏輯模式98模式/內(nèi)模式映像數(shù)據(jù)庫的內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫的用戶視圖,即外模式獨(dú)立于具體的存儲設(shè)備將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲策略進(jìn)行組織,以達(dá)到較好的時(shí)間與空間效率99模式/內(nèi)模式映像數(shù)據(jù)庫的外模式面向具體的應(yīng)用程序定義在邏輯模式之上獨(dú)立于存儲模式和存儲設(shè)備當(dāng)應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足其視圖要求時(shí),該外模式就得做相應(yīng)改動(dòng)設(shè)計(jì)外模式時(shí)應(yīng)充分考慮到應(yīng)用的擴(kuò)充性100特定的應(yīng)用程序在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的依賴于特定的外模式與數(shù)據(jù)庫的模式和存儲結(jié)構(gòu)獨(dú)立不同的應(yīng)用程序有時(shí)可以共用同一個(gè)外模式101模式/內(nèi)模式映像數(shù)據(jù)庫的二級映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性從底層保證了應(yīng)
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣西南寧市武鳴區(qū)羅波鎮(zhèn)衛(wèi)生院招聘工作人員2人考試備考題庫必考題
- 2025遼寧鐵嶺調(diào)兵山市消防救援大隊(duì)招錄政府專職消防隊(duì)員招聘8人參考題庫必考題
- 江蘇國信揚(yáng)州發(fā)電有限責(zé)任公司冬季社會招聘5人參考題庫附答案
- 2025年鐵嶺市衛(wèi)生系統(tǒng)公開招聘高層次人才82人備考題庫附答案
- 山南市三支一扶考試真題2025
- 2025年海南煙草招聘考試真題
- 淡水水生植物繁育工測試驗(yàn)證能力考核試卷含答案
- 2026廣東南粵銀行總行部門分行相關(guān)崗位招聘備考題庫及完整答案詳解一套
- 社區(qū)失能失智老人的居家護(hù)理服務(wù)
- 2025年智慧商場安防視頻監(jiān)控云平臺建設(shè)可行性分析報(bào)告
- 福建省寧德市2025-2026學(xué)年高三上學(xué)期期末考試語文試題(含答案)
- 建筑施工行業(yè)2026年春節(jié)節(jié)前全員安全教育培訓(xùn)
- 食品生產(chǎn)余料管理制度
- 2026年浦發(fā)銀行社會招聘備考題庫必考題
- 專題23 廣東省深圳市高三一模語文試題(學(xué)生版)
- 2026年時(shí)事政治測試題庫100道含完整答案(必刷)
- 八年級下冊《昆蟲記》核心閱讀思考題(附答案解析)
- 2025年中職藝術(shù)設(shè)計(jì)(設(shè)計(jì)理論)試題及答案
- 2025年體育行業(yè)專家聘用合同范本
- ECMO患者血糖控制與胰島素泵管理方案
- 國家電投秋招面試題及答案
評論
0/150
提交評論