第一章 數(shù)據(jù)庫(kù)導(dǎo)論(2)_第1頁(yè)
第一章 數(shù)據(jù)庫(kù)導(dǎo)論(2)_第2頁(yè)
第一章 數(shù)據(jù)庫(kù)導(dǎo)論(2)_第3頁(yè)
第一章 數(shù)據(jù)庫(kù)導(dǎo)論(2)_第4頁(yè)
第一章 數(shù)據(jù)庫(kù)導(dǎo)論(2)_第5頁(yè)
已閱讀5頁(yè),還剩71頁(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)介

1、An Introduction to Database Systems1/80第一章 緒論(下)1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.4 數(shù)據(jù)庫(kù)系統(tǒng)的組成數(shù)據(jù)庫(kù)系統(tǒng)的組成1.5 小結(jié)小結(jié)An Introduction to Database Systems2/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類(lèi)數(shù)據(jù)模型兩大類(lèi)數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網(wǎng)狀模型網(wǎng)狀模型 1.2.7 關(guān)系模型關(guān)系模

2、型An Introduction to Database Systems3/80 1.2.4 最常用的數(shù)據(jù)模型o非關(guān)系模型n層次模型(Hierarchical Model)n網(wǎng)狀模型(Network Model)o關(guān)系模型(Relational Model) o面向?qū)ο竽P?Object Oriented Model)o對(duì)象關(guān)系模型(Object Relational Model)An Introduction to Database Systems4/801.2.5 層次模型o層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型 o層次數(shù)據(jù)庫(kù)系統(tǒng)的典型代表是IBM公司的IMS(Information M

3、anagement System)數(shù)據(jù)庫(kù)管理系統(tǒng)o層次模型用樹(shù)形結(jié)構(gòu)來(lái)表示各類(lèi)實(shí)體以及實(shí)體間的聯(lián)系 An Introduction to Database Systems5/80一、 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)o層次模型滿足滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型下面兩個(gè)條件的基本層次聯(lián)系的集合為層次模型1. 有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱(chēng)為根結(jié)點(diǎn)有且只有一個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)稱(chēng)為根結(jié)點(diǎn)2. 根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)根以外的其它結(jié)點(diǎn)有且只有一個(gè)雙親結(jié)點(diǎn)o層次模型中的幾個(gè)術(shù)語(yǔ)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)An Introdu

4、ction to Database Systems6/80層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)) 1 根結(jié)點(diǎn)根結(jié)點(diǎn) 2 兄弟結(jié)點(diǎn)兄弟結(jié)點(diǎn) 3 葉結(jié)點(diǎn)葉結(jié)點(diǎn) 4 兄弟結(jié)點(diǎn)兄弟結(jié)點(diǎn) 5 葉結(jié)點(diǎn)葉結(jié)點(diǎn) 葉結(jié)點(diǎn)葉結(jié)點(diǎn)圖圖1.16 一個(gè)層次模型的示例一個(gè)層次模型的示例An Introduction to Database Systems7/80層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))o層次模型的特點(diǎn):n結(jié)點(diǎn)的雙親是唯一的結(jié)點(diǎn)的雙親是唯一的n只能直接處理只能直接處理一對(duì)多一對(duì)多的實(shí)體聯(lián)系的實(shí)體聯(lián)系n每個(gè)記錄類(lèi)型可以定義一個(gè)每個(gè)記錄類(lèi)型可以定義一個(gè)排序字段排序字段,也稱(chēng)為,也稱(chēng)為碼字段碼字段n任何記錄值只有任何記錄值只有按其路徑

5、查看時(shí),才能顯出它的全部意義按其路徑查看時(shí),才能顯出它的全部意義n沒(méi)有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在沒(méi)有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在An Introduction to Database Systems8/80層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.17 教員學(xué)生層次數(shù)據(jù)庫(kù)模型 根結(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)字段字段An Introduction to Database Systems9/80層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.18 教員學(xué)生層次數(shù)據(jù)庫(kù)的一個(gè)值 An Introduction t

6、o Database Systems10/80二、多對(duì)多聯(lián)系在層次模型中的表示o多對(duì)多聯(lián)系在層次模型中的表示n用層次模型用層次模型間接間接表示多對(duì)多聯(lián)系表示多對(duì)多聯(lián)系n方法方法將多對(duì)多聯(lián)系將多對(duì)多聯(lián)系分解分解成一對(duì)多聯(lián)系成一對(duì)多聯(lián)系n分解方法分解方法o冗余結(jié)點(diǎn)法冗余結(jié)點(diǎn)法o虛擬結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法An Introduction to Database Systems11/80冗余結(jié)點(diǎn)法冗余結(jié)點(diǎn)法學(xué)生學(xué)生課程課程 優(yōu)點(diǎn)優(yōu)點(diǎn):結(jié)構(gòu)清晰,存儲(chǔ)位置可以改變; 缺點(diǎn)缺點(diǎn):需要額外的存儲(chǔ)空間,有可能導(dǎo)致不一致性。An Introduction to Database Systems12/80虛擬結(jié)點(diǎn)法虛擬結(jié)點(diǎn)

7、法 優(yōu)點(diǎn)優(yōu)點(diǎn):節(jié)省空間,避免數(shù)據(jù)不一致性; 缺點(diǎn)缺點(diǎn):改變存儲(chǔ)位置需要修改虛擬結(jié)點(diǎn)中的指針。An Introduction to Database Systems13/80三、層次模型的數(shù)據(jù)操縱與完整性約束 o層次模型的數(shù)據(jù)操縱層次模型的數(shù)據(jù)操縱n查詢n插入n刪除n更新 An Introduction to Database Systems14/80層次模型的數(shù)據(jù)操縱與完整性約束(續(xù))o層次模型的完整性約束條件層次模型的完整性約束條件 n無(wú)相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值n如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除n更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性An Intro

8、duction to Database Systems15/80四、層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)-鄰接法o鄰接法: 按照層次樹(shù)前序遍歷的順序把所有記錄值依次鄰接存放,即通過(guò)物理空間的位置相鄰來(lái)實(shí)現(xiàn)層次順序。o按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實(shí)例集 圖圖1.20 層次數(shù)據(jù)庫(kù)及其實(shí)例層次數(shù)據(jù)庫(kù)及其實(shí)例 順序存儲(chǔ)結(jié)構(gòu)順序存儲(chǔ)結(jié)構(gòu)An Introduction to Database Systems16/80層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)-子女子女-兄弟鏈接兄弟鏈接法法每個(gè)記錄設(shè)兩類(lèi)指針,分別指向最左邊的子女(每個(gè)記錄型對(duì)應(yīng)一個(gè),長(zhǎng)子)和最近的兄弟。An Introduction to Da

9、tabase Systems17/80層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)-鏈接法o層次序列鏈接層次序列鏈接法法:按樹(shù)的前序穿越順序鏈接各記錄值。An Introduction to Database Systems18/80五、層次模型的優(yōu)缺點(diǎn)o優(yōu)點(diǎn)優(yōu)點(diǎn)n層次模型的層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單清晰數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單清晰 n查詢效率高查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型n層次數(shù)據(jù)模型提供了層次數(shù)據(jù)模型提供了良好的完整性支持良好的完整性支持o缺點(diǎn)缺點(diǎn)n多對(duì)多多對(duì)多聯(lián)系表示不自然聯(lián)系表示不自然n對(duì)插入和刪除操作的限制多,對(duì)插入和刪除操作的限制多,應(yīng)用程序的編寫(xiě)比較復(fù)雜應(yīng)用程

10、序的編寫(xiě)比較復(fù)雜 n查詢查詢子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)子女結(jié)點(diǎn)必須通過(guò)雙親結(jié)點(diǎn)n由于結(jié)構(gòu)嚴(yán)密,由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化層次命令趨于程序化 An Introduction to Database Systems19/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類(lèi)數(shù)據(jù)模型兩大類(lèi)數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網(wǎng)狀模型網(wǎng)狀模型 1.2.7 關(guān)系模型關(guān)系模型An Introduction to Database Systems20/801.2.6 網(wǎng)狀模型

11、o網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)采用網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)采用網(wǎng)狀模型網(wǎng)狀模型作為數(shù)據(jù)的組織方式作為數(shù)據(jù)的組織方式 o典型代表是典型代表是DBTG系統(tǒng):系統(tǒng):n亦稱(chēng)CODASYL系統(tǒng)n70年代由DBTG提出的一個(gè)系統(tǒng)方案n奠定了數(shù)據(jù)庫(kù)系統(tǒng)的基本概念、方法和技術(shù)o實(shí)際系統(tǒng)實(shí)際系統(tǒng)nCullinet Software Inc.公司的 IDMSnUnivac公司的 DMS1100nHoneywell公司的IDS/2nHP公司的IMAGEAn Introduction to Database Systems21/801.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)o網(wǎng)狀模型1. 允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親;允許一個(gè)以上的結(jié)點(diǎn)無(wú)雙親;2. 一個(gè)結(jié)點(diǎn)可

12、以有多于一個(gè)的雙親一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。o表示方法(與層次數(shù)據(jù)模型相同)n實(shí)體型實(shí)體型:用記錄類(lèi)型描述,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類(lèi):用記錄類(lèi)型描述,每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類(lèi)型(實(shí)體)型(實(shí)體)n屬性屬性:用字段描述,每個(gè)記錄類(lèi)型可包含若干個(gè)字段:用字段描述,每個(gè)記錄類(lèi)型可包含若干個(gè)字段n聯(lián)系聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄類(lèi)型(實(shí)體)之間:用結(jié)點(diǎn)之間的連線表示記錄類(lèi)型(實(shí)體)之間的的一對(duì)多的父子聯(lián)系一對(duì)多的父子聯(lián)系A(chǔ)n Introduction to Database Systems22/80網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))o網(wǎng)狀模型與層次模型的區(qū)別n網(wǎng)狀模型允許多個(gè)結(jié)點(diǎn)網(wǎng)狀模型允許多個(gè)結(jié)點(diǎn)沒(méi)有雙

13、親結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn)n網(wǎng)狀模型允許結(jié)點(diǎn)有網(wǎng)狀模型允許結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn)多個(gè)雙親結(jié)點(diǎn)n網(wǎng)狀模型允許網(wǎng)狀模型允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(復(fù)合聯(lián)系)(復(fù)合聯(lián)系)n網(wǎng)狀模型可以網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)更直接地去描述現(xiàn)實(shí)世界世界層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)特例特例An Introduction to Database Systems23/80網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))v網(wǎng)狀模型中子女結(jié)點(diǎn)與雙親結(jié)點(diǎn)的聯(lián)系可以不唯一網(wǎng)狀模型中子女結(jié)點(diǎn)與雙親結(jié)點(diǎn)的聯(lián)系可以不唯一要為每個(gè)聯(lián)系命名要為每個(gè)聯(lián)系命名,并指出與該聯(lián)系有關(guān)的雙親記錄和,并指出與該聯(lián)系有關(guān)的雙親

14、記錄和子女記錄子女記錄 R1與與R3之間的之間的聯(lián)系聯(lián)系L1R2與與R3之間的之間的聯(lián)系聯(lián)系L2 An Introduction to Database Systems24/80網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀模型的例子 An Introduction to Database Systems25/80網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示n用網(wǎng)狀模型用網(wǎng)狀模型間接間接表示多對(duì)多聯(lián)系表示多對(duì)多聯(lián)系n方法:將多對(duì)多聯(lián)系方法:將多對(duì)多聯(lián)系直接直接分解成一對(duì)多聯(lián)系分解成一對(duì)多聯(lián)系A(chǔ)n Introduction to Database Systems26/80網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)

15、)例如:一個(gè)學(xué)生可以選修若干門(mén)課程,某一課程可以被多個(gè)學(xué)生選修,學(xué)生與課程之間是多對(duì)多聯(lián)系 o引進(jìn)一個(gè)學(xué)生選課的聯(lián)結(jié)記錄,由3個(gè)數(shù)據(jù)項(xiàng)組成:學(xué)號(hào),課程號(hào),成績(jī),表示某個(gè)學(xué)生選修某一門(mén)課程及其成績(jī) 圖1.24 學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)模型 An Introduction to Database Systems27/80三、網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)o關(guān)鍵n實(shí)現(xiàn)記錄之間的聯(lián)系實(shí)現(xiàn)記錄之間的聯(lián)系o常用方法n單向鏈接單向鏈接n雙向鏈接雙向鏈接n環(huán)狀鏈接環(huán)狀鏈接n向首鏈接向首鏈接An Introduction to Database Systems28/80網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)(續(xù))圖1.25 學(xué)生/選

16、課/課程的網(wǎng)狀數(shù)據(jù)庫(kù)實(shí)例 學(xué)生記錄學(xué)生記錄課程記錄課程記錄選課記錄選課記錄An Introduction to Database Systems29/80四、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)o優(yōu)點(diǎn)n能夠能夠更為直接更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親多個(gè)雙親n具有具有良好的性能良好的性能,存取,存取效率效率較高較高o缺點(diǎn)n結(jié)構(gòu)比較結(jié)構(gòu)比較復(fù)雜復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù),而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶掌握的結(jié)構(gòu)就變得越來(lái)越復(fù)雜,不利于最終用戶掌握n操作復(fù)雜操作復(fù)雜:DDL、DML語(yǔ)言復(fù)雜,用戶不容易使用語(yǔ)言復(fù)雜,用戶

17、不容易使用An Introduction to Database Systems30/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類(lèi)數(shù)據(jù)模型兩大類(lèi)數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網(wǎng)狀模型網(wǎng)狀模型 1.2.7 關(guān)系模型關(guān)系模型An Introduction to Database Systems31/801.2.7 關(guān)系模型o關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式 o1970年美國(guó)IBM公司San Jose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)

18、庫(kù)系統(tǒng)的關(guān)系模型 o計(jì)算機(jī)廠商新推出的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持關(guān)系模型 nOraclenDB2nSybase, SQL Server, InfomixAn Introduction to Database Systems32/80一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) o在在用戶觀點(diǎn)用戶觀點(diǎn)下,關(guān)系模型中數(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女法律2005學(xué)生登記表學(xué)生登記表屬性屬性元組元組An Intr

19、oduction to Database Systems33/80關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))o關(guān)系(關(guān)系(Relation)一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表o元組(元組(Tuple)表中的一行即為一個(gè)元組o屬性(屬性(Attribute) 表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱(chēng)即屬性名An Introduction to Database Systems34/80關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))o主碼(主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。o域(域(Domain)屬性的取值范圍。o分量分量元組中的一個(gè)屬性值。o關(guān)系模式關(guān)系模式對(duì)關(guān)系的描述關(guān)系名(屬性1,屬性2,屬性n)學(xué)生(

20、學(xué)號(hào),姓名,年齡,性別,系,年級(jí))An Introduction to Database Systems35/80關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例1: 學(xué)生、系、系與學(xué)生之間的一對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))系系 ( (系號(hào),系名,辦公地點(diǎn)系號(hào),系名,辦公地點(diǎn)) )例2: 系、系主任、系與系主任間的一對(duì)一聯(lián)系例3:學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))課程(課程號(hào),課程名,學(xué)分)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))選修(學(xué)號(hào),課程

21、號(hào),成績(jī))An Introduction to Database Systems36/80關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))o關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng), 不允許表中還有表。 職工號(hào)姓名職 稱(chēng)工 資扣 除實(shí) 發(fā)基 本津 貼職務(wù)房 租水 電86051陳 平講 師13051200501601122283圖圖1.27 一個(gè)工資表一個(gè)工資表(表中有表表中有表)實(shí)例實(shí)例 An Introduction to Database Systems37/80關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系術(shù)語(yǔ)一般表格的術(shù)語(yǔ)關(guān)系

22、名表名關(guān)系模式表頭(表格的描述)關(guān)系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個(gè)列值非規(guī)范關(guān)系表中有表(大表中嵌有小表)表表1.2 術(shù)語(yǔ)對(duì)比術(shù)語(yǔ)對(duì)比 An Introduction to Database Systems38/80二、關(guān)系數(shù)據(jù)模型的操縱與完整性約束o數(shù)據(jù)操作是數(shù)據(jù)操作是集合操作集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,操作對(duì)象和操作結(jié)果都是關(guān)系n查詢n插入n刪除n更新o數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合即若干元組的集合.o存取路徑對(duì)用戶隱蔽,用戶只要指出存取路徑對(duì)用戶隱蔽,用戶

23、只要指出“干什么干什么”,不必,不必詳細(xì)說(shuō)明詳細(xì)說(shuō)明“怎么干怎么干”.An Introduction to Database Systems39/80關(guān)系數(shù)據(jù)模型的操縱與完整性約束(續(xù))o關(guān)系的完整性約束條件 n實(shí)體完整性n參照完整性n用戶定義的完整性An Introduction to Database Systems40/80三、關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)o實(shí)體及實(shí)體間的聯(lián)系都用表來(lái)表示o表以文件形式存儲(chǔ)n有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件n有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)An Introduction to Database Systems41/80四、關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)o優(yōu)點(diǎn)優(yōu)點(diǎn)n建立在

24、建立在嚴(yán)格的數(shù)學(xué)概念嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的基礎(chǔ)上n概念單一概念單一o實(shí)體和各類(lèi)聯(lián)系都用關(guān)系來(lái)表示o對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系n關(guān)系模型的存取路徑對(duì)用戶透明關(guān)系模型的存取路徑對(duì)用戶透明o具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性o簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開(kāi)發(fā)建立的工作o缺點(diǎn)缺點(diǎn)n存取路徑對(duì)用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型n為提高性能,必須對(duì)用戶的查詢請(qǐng)求進(jìn)行優(yōu)化,增加了開(kāi)發(fā)DBMS的難度An Introduction to Database Systems42/80第一章 緒論1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.4 數(shù)據(jù)庫(kù)系

25、統(tǒng)的組成數(shù)據(jù)庫(kù)系統(tǒng)的組成1.5 小結(jié)小結(jié)An Introduction to Database Systems43/801.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)o從數(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) 。 o從數(shù)據(jù)庫(kù)最終用戶角度看(數(shù)據(jù)庫(kù)系統(tǒng)外部的體系結(jié)構(gòu)),數(shù)據(jù)庫(kù)系統(tǒng)的結(jié)構(gòu)分為:n單用戶結(jié)構(gòu)n主從式結(jié)構(gòu)n分布式結(jié)構(gòu)n客戶服務(wù)器(C/S)n瀏覽器應(yīng)用服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器多層結(jié)構(gòu)等(B/S)An Introduction to Database Systems44/80數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念數(shù)據(jù)庫(kù)系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模

26、式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 1.3.3 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性 An Introduction to Database Systems45/801.3.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念o“型” 和“值” 的概念n型(Type)對(duì)某一類(lèi)數(shù)據(jù)的結(jié)構(gòu)和屬性的說(shuō)明n值(Value)是型的一個(gè)具體賦值例如學(xué)生記錄型: (學(xué)號(hào),姓名,性別,系別,年齡,籍貫)一個(gè)記錄值: (900201,李明,男,計(jì)算機(jī),22,江蘇)An Introduction to Database Systems46/80數(shù)據(jù)庫(kù)系統(tǒng)模式的概念(續(xù))o模式(模式(Schema)n數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和特

27、征的描述n是型的描述n反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系n模式是相對(duì)穩(wěn)定的o實(shí)例(實(shí)例(Instance)n模式的一個(gè)具體值n反映數(shù)據(jù)庫(kù)某一時(shí)刻的狀態(tài)n同一個(gè)模式可以有很多實(shí)例n實(shí)例隨數(shù)據(jù)庫(kù)中的數(shù)據(jù)的更新而變動(dòng)An Introduction to Database Systems47/80數(shù)據(jù)庫(kù)系統(tǒng)模式的概念 (續(xù))例如:在學(xué)生選課數(shù)據(jù)庫(kù)模式中,包含學(xué)生記錄、課程記錄和學(xué)生選課記錄n 2003年的一個(gè)學(xué)生數(shù)據(jù)庫(kù)實(shí)例,包含:2003年學(xué)校中所有學(xué)生的記錄學(xué)校開(kāi)設(shè)的所有課程的記錄所有學(xué)生選課的記錄 n2002年度學(xué)生數(shù)據(jù)庫(kù)模式對(duì)應(yīng)的實(shí)例與 2003年度學(xué)生數(shù)據(jù)庫(kù)模式對(duì)應(yīng)的實(shí)例是不同的 An Introdu

28、ction to Database Systems48/80數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念數(shù)據(jù)庫(kù)系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 1.3.3 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性 An Introduction to Database Systems49/801.3.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)o模式(Schema) o外模式(External Schema)o內(nèi)模式(Internal Schema) An Introduction to Database Systems50/80數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式

29、結(jié)構(gòu)(續(xù))圖1.28 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) An Introduction to Database Systems51/80一、模式(Schema)o模式(也稱(chēng)邏輯模式)n數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述n所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求o一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)模式o模式的地位:是數(shù)據(jù)庫(kù)系統(tǒng)模式結(jié)構(gòu)的中間層n與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無(wú)關(guān)n與具體的應(yīng)用程序、開(kāi)發(fā)工具及高級(jí)程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)An Introduction to Database Systems52/80模式(續(xù))o模式的定義n數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類(lèi)型、取值范圍等)n數(shù)據(jù)之間的聯(lián)系n數(shù)據(jù)有關(guān)的安全性、

30、完整性要求An Introduction to Database Systems53/80二、外模式(External Schema)o外模式(也稱(chēng)子模式或用戶模式)n數(shù)據(jù)庫(kù)用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述n數(shù)據(jù)庫(kù)用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)邏輯表示。o外模式的地位:介于模式與應(yīng)用之間o模式與外模式的關(guān)系:一對(duì)多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫(kù)可以有多個(gè)外模式,反映了不同用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類(lèi)型、長(zhǎng)度、保密級(jí)別等都可以不同。An Introduction to Database Sys

31、tems54/80外模式(續(xù))o外模式的用途n保證保證數(shù)據(jù)庫(kù)安全性數(shù)據(jù)庫(kù)安全性的一個(gè)有力措施的一個(gè)有力措施n每個(gè)用戶只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)每個(gè)用戶只能看見(jiàn)和訪問(wèn)所對(duì)應(yīng)的外模式中的數(shù)據(jù)o外模式與應(yīng)用的關(guān)系:一對(duì)多同一外模式也可以為某一用戶的同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)多個(gè)應(yīng)用系統(tǒng)所使用所使用但一個(gè)應(yīng)用程序只能使用一個(gè)外模式但一個(gè)應(yīng)用程序只能使用一個(gè)外模式An Introduction to Database Systems55/80三、內(nèi)模式(Internal Schema)o內(nèi)模式(也稱(chēng)存儲(chǔ)模式)n是數(shù)據(jù)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式物理結(jié)構(gòu)和存儲(chǔ)方式的描述的描述n是數(shù)據(jù)在

32、數(shù)據(jù)庫(kù)內(nèi)部的表示方式是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式o記錄的存儲(chǔ)方式(記錄的存儲(chǔ)方式(順序存儲(chǔ),按照順序存儲(chǔ),按照B樹(shù)結(jié)構(gòu)存儲(chǔ),樹(shù)結(jié)構(gòu)存儲(chǔ), 按按hash方法存儲(chǔ)方法存儲(chǔ))o索引的組織方式索引的組織方式o數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否壓縮存儲(chǔ)o數(shù)據(jù)是否加密數(shù)據(jù)是否加密o數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定o一個(gè)數(shù)據(jù)庫(kù)只有一個(gè)內(nèi)模式An Introduction to Database Systems56/80內(nèi)模式舉例o例如學(xué)生記錄,如果按堆堆存儲(chǔ),則插入一條新記錄總是放在學(xué)生記錄存儲(chǔ)的最后最后,如右圖所示An Introduction to Database Systems57/80內(nèi)模式舉例

33、o如果按學(xué)號(hào)升序存儲(chǔ),則插入一條記錄就要找到它應(yīng)在的位置插入,如圖1.29(b)所示o如果按照學(xué)生年齡聚簇存放,假如新插入的S3是16歲,則應(yīng)插入的位置如圖1.29(c)所示 圖1.29 記錄不同的存儲(chǔ)方式示意圖An Introduction to Database Systems58/80數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1 數(shù)據(jù)庫(kù)系統(tǒng)模式的概念數(shù)據(jù)庫(kù)系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu) 1.3.3 數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性數(shù)據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性 An Introduction to Database Systems59/801.3.3 數(shù)

34、據(jù)庫(kù)的二級(jí)映像功能與數(shù)據(jù)獨(dú)立性o三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別o二級(jí)映象在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換n外模式模式映像n模式內(nèi)模式映像 An Introduction to Database Systems60/80一、外模式/模式映象o模式模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)o外模式外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu) n同一個(gè)模式可以有任意多個(gè)外模式 n每一個(gè)外模式,數(shù)據(jù)庫(kù)系統(tǒng)都有一個(gè)外模式模式映象,定義外模式與模式之間的對(duì)應(yīng)關(guān)系n映象定義通常包含在各自外模式的描述中o保證數(shù)據(jù)的邏輯獨(dú)立性n當(dāng)模式改變時(shí),數(shù)據(jù)庫(kù)管理員修改有關(guān)的外模式/模式映象,使外模式保持不變n應(yīng)用程序是依據(jù)數(shù)據(jù)的

35、外模式編寫(xiě)的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的邏輯獨(dú)立性。An Introduction to Database Systems61/80二、模式/內(nèi)模式映象o模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。n例如,說(shuō)明邏輯記錄和字段在內(nèi)部是如何表示的o數(shù)據(jù)庫(kù)中模式/內(nèi)模式映象是唯一的, 該映象定義通常包含在模式描述中;o保證數(shù)據(jù)的物理獨(dú)立性n當(dāng)數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),數(shù)據(jù)庫(kù)管理員修改模式/內(nèi)模式映象,使模式保持不變n應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡(jiǎn)稱(chēng)數(shù)據(jù)的物理獨(dú)立性。An Introduction t

36、o Database Systems62/80小結(jié)(1)o數(shù)據(jù)庫(kù)模式n即全局邏輯結(jié)構(gòu)是數(shù)據(jù)庫(kù)的中心與關(guān)鍵 n獨(dú)立于數(shù)據(jù)庫(kù)的其他層次 n設(shè)計(jì)數(shù)據(jù)庫(kù)模式結(jié)構(gòu)時(shí)應(yīng)首先確定數(shù)據(jù)庫(kù)的邏輯模式o數(shù)據(jù)庫(kù)的內(nèi)模式n依賴(lài)于它的全局邏輯結(jié)構(gòu)n獨(dú)立于數(shù)據(jù)庫(kù)的用戶視圖,即外模式n獨(dú)立于具體的存儲(chǔ)設(shè)備 n將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲(chǔ)策略進(jìn)行組織,以達(dá)到較好的時(shí)間與空間效率 An Introduction to Database Systems63/80小結(jié)(2)o數(shù)據(jù)庫(kù)的外模式n面向具體的應(yīng)用程序n定義在邏輯模式之上n獨(dú)立于存儲(chǔ)模式和存儲(chǔ)設(shè)備n當(dāng)應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足其視

37、圖要求時(shí),該外模式就得做相應(yīng)改動(dòng) n設(shè)計(jì)外模式時(shí)應(yīng)充分考慮到應(yīng)用的擴(kuò)充性 An Introduction to Database Systems64/80第一章 緒論1.1 數(shù)據(jù)庫(kù)系統(tǒng)概述數(shù)據(jù)庫(kù)系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)1.4 數(shù)據(jù)庫(kù)系統(tǒng)的組成數(shù)據(jù)庫(kù)系統(tǒng)的組成1.5 小結(jié)小結(jié)An Introduction to Database Systems65/801.4 數(shù)據(jù)庫(kù)系統(tǒng)的組成o數(shù)據(jù)庫(kù)o數(shù)據(jù)庫(kù)管理系統(tǒng)(及其開(kāi)發(fā)工具)o應(yīng)用系統(tǒng)o數(shù)據(jù)庫(kù)管理員An Introduction to Database Systems66/80數(shù)據(jù)庫(kù)系統(tǒng)的組成(續(xù))o硬件平臺(tái)及數(shù)據(jù)庫(kù) o軟件 o人員 An Introduction to Database Systems67/80一、硬件平臺(tái)及數(shù)據(jù)庫(kù)o數(shù)據(jù)庫(kù)系統(tǒng)對(duì)硬件資源的要求 (1) 足夠大的內(nèi)存n操作系統(tǒng)nDBMS的核心模塊n數(shù)據(jù)緩沖區(qū)n應(yīng)用程序 (2) 足夠大的外存n

溫馨提示

  • 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)論