




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
課程名稱:數(shù)據(jù)庫系統(tǒng)概論
課時(shí):72
任課教師:陳紅
內(nèi)容安排1基礎(chǔ)篇第1章:緒論第2章:關(guān)系數(shù)據(jù)庫第3章:關(guān)系數(shù)據(jù)庫標(biāo)準(zhǔn)語言SQL設(shè)計(jì)篇第4章:關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論第6章:數(shù)據(jù)庫設(shè)計(jì)內(nèi)容安排2系統(tǒng)篇第5章:數(shù)據(jù)庫保護(hù)第7章:關(guān)系數(shù)據(jù)庫管理系統(tǒng)實(shí)例第8章:數(shù)據(jù)庫技術(shù)新進(jìn)展第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)1.1
引言1.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)1.1.2數(shù)據(jù)庫技術(shù)的生產(chǎn)與發(fā)展1.1.3數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.1
引言1.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)1.1.2數(shù)據(jù)庫技術(shù)的生產(chǎn)與發(fā)展1.1.3數(shù)據(jù)庫技術(shù)的研究領(lǐng)域數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支。數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計(jì)算機(jī)應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個(gè)國家信息化程度的重要標(biāo)志。一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲(chǔ)的基本對(duì)象數(shù)據(jù)的定義描述事物的符號(hào)記錄組成數(shù)據(jù)的符號(hào)種類數(shù)字、字符串、日期、邏輯值、文本、圖形、圖象、聲音數(shù)據(jù)的特點(diǎn)數(shù)據(jù)與其語義是不可分的數(shù)據(jù)舉例學(xué)生檔案中的學(xué)生記錄(李明,男,1972,江蘇,計(jì)算機(jī)系,1990)數(shù)據(jù)的形式不能完全表達(dá)其內(nèi)容數(shù)據(jù)的解釋語義:學(xué)生姓名、性別、出生年月、籍貫、所在系別、入學(xué)時(shí)間解釋:李明是個(gè)大學(xué)生,1972年出生,男,江蘇人,1990年考入計(jì)算機(jī)系二、數(shù)據(jù)庫人們收集并抽取出一個(gè)應(yīng)用所需要的大量數(shù)據(jù)之后,應(yīng)將其保存起來以供進(jìn)一步加工處理,進(jìn)一步抽取有用信息。數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫(續(xù))數(shù)據(jù)庫的特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲(chǔ)存可為各種用戶共享冗余度較小數(shù)據(jù)獨(dú)立性較高易擴(kuò)展三、數(shù)據(jù)庫管理系統(tǒng)什么是DBMS數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡稱DBMS)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。DBMS的用途科學(xué)地組織和存儲(chǔ)數(shù)據(jù)、高效地獲取和維護(hù)數(shù)據(jù)數(shù)據(jù)庫管理系統(tǒng)(續(xù))DBMS的主要功能數(shù)據(jù)定義功能:提供數(shù)據(jù)定義語言(DDL),用于定義數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象。數(shù)據(jù)操縱功能:提供數(shù)據(jù)操縱語言(DML),用于操縱數(shù)據(jù)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改)。數(shù)據(jù)庫管理系統(tǒng)(續(xù))DBMS的主要功能(續(xù))數(shù)據(jù)庫的運(yùn)行管理:保證數(shù)據(jù)的安全性、完整性、多用戶對(duì)數(shù)據(jù)的并發(fā)使用及發(fā)生故障后的系統(tǒng)恢復(fù)。數(shù)據(jù)庫的建立和維護(hù)功能:提供實(shí)用程序,完成數(shù)據(jù)庫數(shù)據(jù)批量裝載,數(shù)據(jù)庫轉(zhuǎn)儲(chǔ),介質(zhì)故障恢復(fù),數(shù)據(jù)庫的重組織和性能監(jiān)視等四、數(shù)據(jù)庫系統(tǒng)什么是數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。在不引起混淆的情況下常常把數(shù)據(jù)庫系統(tǒng)簡稱為數(shù)據(jù)庫。數(shù)據(jù)庫系統(tǒng)的構(gòu)成由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。數(shù)據(jù)庫系統(tǒng)(續(xù))數(shù)據(jù)庫系統(tǒng)構(gòu)成圖示用戶用戶用戶應(yīng)用系統(tǒng)應(yīng)用開發(fā)系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)操作系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)庫管理員用系應(yīng)統(tǒng)
數(shù)據(jù)庫系統(tǒng)(續(xù))發(fā)工開具用軟應(yīng)件數(shù)據(jù)庫系統(tǒng)在計(jì)算機(jī)系統(tǒng)中的位置圖示BMDS編統(tǒng)譯系作系操統(tǒng)硬件1.1
引言1.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)1.1.2數(shù)據(jù)庫技術(shù)的生產(chǎn)與發(fā)展1.1.3數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理對(duì)數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲(chǔ)、檢索和維護(hù),是數(shù)據(jù)處理的中心問題。數(shù)據(jù)管理技術(shù)的發(fā)展過程人工管理階段(40年代中--50年代中)文件系統(tǒng)階段(50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(60年代末--現(xiàn)在)數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù))數(shù)據(jù)管理技術(shù)的發(fā)展動(dòng)力應(yīng)用需求的推動(dòng)計(jì)算機(jī)硬件的發(fā)展計(jì)算機(jī)軟件的發(fā)展一、人工管理時(shí)期40年代中--50年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計(jì)算 硬件水平 無直接存取存儲(chǔ)設(shè)備 軟件水平 沒有操作系統(tǒng) 處理方式 批處理 人工管理(續(xù))特點(diǎn)1數(shù)據(jù)的管理者:應(yīng)用程序,數(shù)據(jù)不保存。人工管理(續(xù))特點(diǎn)2-數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序
應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系圖應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2應(yīng)用程序n數(shù)據(jù)集n...…...…人工管理(續(xù))特點(diǎn)3數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨(dú)立性:不獨(dú)立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制二、文件系統(tǒng)時(shí)期50年代末--60年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計(jì)算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機(jī)實(shí)時(shí)處理、批處理
文件系統(tǒng)(續(xù))特點(diǎn)1數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系(文件系統(tǒng))特點(diǎn)2-數(shù)據(jù)面向的對(duì)象:某一應(yīng)用程序
應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系應(yīng)用程序1文件1應(yīng)用程序2文件2應(yīng)用程序n文件n存取方法...…...…文件系統(tǒng)(續(xù))特點(diǎn)3數(shù)據(jù)的共享程度:共享性差、冗余度大文件系統(tǒng)(續(xù))特點(diǎn)4-數(shù)據(jù)的結(jié)構(gòu)化:記錄內(nèi)有結(jié)構(gòu),整體無結(jié)構(gòu)文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu)
學(xué)生人事記錄數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的。學(xué)號(hào)姓名性別系別年齡政治面貌家庭出身籍貫家庭成員獎(jiǎng)懲情況文件系統(tǒng)(續(xù))數(shù)據(jù)一般是定長的??梢蚤g接實(shí)現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。學(xué)生人事主記錄學(xué)號(hào)姓名性別系別年齡政治面貌家庭出身籍貫家庭成員獎(jiǎng)懲情況姓名與本人關(guān)系詳細(xì)情況日期獎(jiǎng)懲條目家庭成員記錄獎(jiǎng)懲情況記錄文件系統(tǒng)(續(xù))900201李明男計(jì)算機(jī)24共青團(tuán)員工人江蘇無錫李義山父子…李平兄弟…1991吳玉章獎(jiǎng)學(xué)金1991一等獎(jiǎng)學(xué)金張玉母子…家庭成員記錄獎(jiǎng)懲情況記錄文件間是獨(dú)立的,因此數(shù)據(jù)整體無結(jié)構(gòu)。間接實(shí)現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu)也比較困難。數(shù)據(jù)的最小存取單位是記錄。文件系統(tǒng)(續(xù))特點(diǎn)5數(shù)據(jù)的獨(dú)立性:獨(dú)立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制三、數(shù)據(jù)庫系統(tǒng)時(shí)期60年代末以來產(chǎn)生的背景應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機(jī)實(shí)時(shí)處理,分布處理,批處理 數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)1數(shù)據(jù)的管理者:DBMS數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)2-數(shù)據(jù)面向的對(duì)象:現(xiàn)實(shí)世界
應(yīng)用程序與數(shù)據(jù)的對(duì)應(yīng)關(guān)系DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)3-數(shù)據(jù)的共享程度:共享性高數(shù)據(jù)的高共享性的好處降低數(shù)據(jù)的冗余度,節(jié)省存儲(chǔ)空間避免數(shù)據(jù)間的不一致性使系統(tǒng)易于擴(kuò)充數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)4-數(shù)據(jù)的獨(dú)立性:高度的物理獨(dú)立性和一定的邏輯獨(dú)立性數(shù)據(jù)的物理獨(dú)立性指用戶的應(yīng)用程序與存儲(chǔ)在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨(dú)立的。當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變了,應(yīng)用程序不用改變。數(shù)據(jù)的邏輯獨(dú)立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)5-數(shù)據(jù)的結(jié)構(gòu)化:整體結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一。數(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)。數(shù)據(jù)庫系統(tǒng)(續(xù))特點(diǎn)6
-數(shù)據(jù)控制能力:由DBMS統(tǒng)一管理和控制DBMS對(duì)數(shù)據(jù)的控制功能數(shù)據(jù)的安全性(Security)保護(hù)使每個(gè)用戶只能按指定方式使用和處理指定數(shù)據(jù),保護(hù)數(shù)據(jù)以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。DBMS對(duì)數(shù)據(jù)的控制功能(續(xù))并發(fā)(Concurrency)控制對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯(cuò)誤的結(jié)果。數(shù)據(jù)庫恢復(fù)(Recovery)將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。1.1
引言1.1.1數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)1.1.2數(shù)據(jù)庫技術(shù)的生產(chǎn)與發(fā)展1.1.3數(shù)據(jù)庫技術(shù)的研究領(lǐng)域1.1.3數(shù)據(jù)庫技術(shù)的研究領(lǐng)域數(shù)據(jù)庫管理系統(tǒng)軟件的研制數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫理論數(shù)據(jù)庫管理系統(tǒng)軟件的研制DBMS本身以DBMS為核心的一組相互聯(lián)系的軟件系統(tǒng)工具軟件中間件數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)方法設(shè)計(jì)工具設(shè)計(jì)理論數(shù)據(jù)模型和數(shù)據(jù)建模數(shù)據(jù)庫理論關(guān)系的規(guī)范化理論關(guān)系數(shù)據(jù)理論第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)1.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的要素
1.2.2概念模型
1.2.3數(shù)據(jù)模型數(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)數(shù)據(jù)模型(續(xù))數(shù)據(jù)模型分成兩個(gè)不同的層次(1)概念模型也稱信息模型,它是按用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模。(2)數(shù)據(jù)模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模。數(shù)據(jù)模型(續(xù))客觀對(duì)象的抽象過程兩步抽象現(xiàn)實(shí)世界中的客觀對(duì)象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次。1.2數(shù)據(jù)模型
1.2.1數(shù)據(jù)模型的要素
1.2.2概念模型
1.2.3數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作數(shù)據(jù)的約束條件1.數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)對(duì)象類型的集合兩類對(duì)象與數(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)特性的描述2.數(shù)據(jù)操作數(shù)據(jù)操作對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類型檢索更新(包括插入、刪除、修改)
數(shù)據(jù)操作(續(xù))數(shù)據(jù)模型對(duì)操作的定義操作的確切含義操作符號(hào)操作規(guī)則(如優(yōu)先級(jí))實(shí)現(xiàn)操作的語言數(shù)據(jù)操作是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述。3.數(shù)據(jù)的約束條件數(shù)據(jù)的約束條件一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲(chǔ)存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。
數(shù)據(jù)的約束條件(續(xù))數(shù)據(jù)模型對(duì)約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實(shí)體完整性和參照完整性兩個(gè)條件。提供定義完整性約束條件的機(jī)制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。1.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的要素
1.2.2概念模型
1.2.3數(shù)據(jù)模型1.2.2概念模型1.概念模型2.信息世界中的基本概念3.概念模型的表示方法1.概念模型概念模型的用途概念模型用于信息世界的建模是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次是數(shù)據(jù)庫設(shè)計(jì)的有力工具數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言對(duì)概念模型的基本要求較強(qiáng)的語義表達(dá)能力,能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識(shí)簡單、清晰、易于用戶理解2.信息世界中的基本概念
(1)實(shí)體(Entity)客觀存在并可相互區(qū)別的事物稱為實(shí)體。可以是具體的人、事、物或抽象的概念。(2)屬性(Attribute)實(shí)體所具有的某一特性稱為屬性。一個(gè)實(shí)體可以由若干個(gè)屬性來刻畫。(3)碼(Key)唯一標(biāo)識(shí)實(shí)體的屬性集稱為碼。信息世界中的基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實(shí)體型(EntityType)用實(shí)體名及其屬性名集合來抽象和刻畫同類實(shí)體稱為實(shí)體型。(6)實(shí)體集(EntitySet)同型實(shí)體的集合稱為實(shí)體集。
信息世界中的基本概念(續(xù))(7)聯(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)系三類實(shí)體型間聯(lián)系
一對(duì)一聯(lián)系(1:1)一對(duì)多聯(lián)系(1:n)多對(duì)多聯(lián)系(m:n)
兩個(gè)實(shí)體型間的聯(lián)系一對(duì)一聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中至多有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A與實(shí)體集B具有一對(duì)一聯(lián)系。記為1:1。實(shí)例班級(jí)與班長之間的聯(lián)系:一個(gè)班級(jí)只有一個(gè)正班長,而一個(gè)班長只在一個(gè)班中任職兩個(gè)實(shí)體型間的聯(lián)系(續(xù))一對(duì)多聯(lián)系如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體B有一對(duì)多聯(lián)系。記為1:n實(shí)例班級(jí)與學(xué)生之間的聯(lián)系:一個(gè)班級(jí)中有若干名學(xué)生,而每個(gè)學(xué)生只在一個(gè)班級(jí)中學(xué)習(xí)兩個(gè)實(shí)體型間的聯(lián)系(續(xù))多對(duì)多聯(lián)系(m:n)如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥0)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥0)與之聯(lián)系,則稱實(shí)體集A與實(shí)體B具有多對(duì)多聯(lián)系。記為m:n實(shí)例課程與學(xué)生之間的聯(lián)系:一門課程同時(shí)有若干個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程聯(lián)系的表示方法示例班級(jí)班級(jí)-班長班長111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級(jí)組成學(xué)生1n1:n聯(lián)系實(shí)體型間聯(lián)系(續(xù))三類聯(lián)系之間的關(guān)系m:n聯(lián)系1:1聯(lián)系1:n聯(lián)系特例特例特例多個(gè)實(shí)體型間的聯(lián)系多個(gè)實(shí)體型之間的聯(lián)系一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系多個(gè)實(shí)體型間的聯(lián)系(續(xù))多個(gè)實(shí)體型間的一對(duì)多聯(lián)系若實(shí)體集E1,E2,...,En存在聯(lián)系,對(duì)于實(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)系是一對(duì)多的。多個(gè)實(shí)體型間的聯(lián)系(續(xù))多個(gè)實(shí)體型間的一對(duì)多聯(lián)系(續(xù))實(shí)例對(duì)于課程、教師與參考書三個(gè)實(shí)體型,如果一門課程可以有若干個(gè)教師講授,使用若干本參考書,而每一個(gè)教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對(duì)多的多個(gè)實(shí)體型間的一對(duì)一聯(lián)系多個(gè)實(shí)體型間的多對(duì)多聯(lián)系聯(lián)系的表示方法示例(續(xù))職工領(lǐng)導(dǎo)1n同一實(shí)體型內(nèi)部的1:n聯(lián)系課程講授教師1m多個(gè)實(shí)體型間的1:n聯(lián)系參考書n同一實(shí)體集內(nèi)各實(shí)體間的聯(lián)系一對(duì)多聯(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)系一對(duì)一聯(lián)系多對(duì)多聯(lián)系3.概念模型的表示方法概念模型的表示方法很多實(shí)體-聯(lián)系方法(E-R方法)是最為常用的概念模型表示方法。用E-R圖來描述現(xiàn)實(shí)世界的概念模型。E-R方法也稱為E-R模型。E-R圖實(shí)體型用矩形表示,矩形框內(nèi)寫明實(shí)體名。學(xué)生教師E-R圖(續(xù))屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體連接起來學(xué)生學(xué)號(hào)年齡性別姓名E-R圖(續(xù))聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實(shí)體連接起來,同時(shí)在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)聯(lián)系的表示方法實(shí)體型1聯(lián)系名實(shí)體型2111:1聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型2mnm:n聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型21n1:n聯(lián)系聯(lián)系的表示方法(續(xù))實(shí)體型1聯(lián)系名mn同一實(shí)體型內(nèi)部的m:n聯(lián)系實(shí)體型1聯(lián)系名實(shí)體型21m多個(gè)實(shí)體型間的1:n聯(lián)系實(shí)體型3n聯(lián)系的表示方法示例班級(jí)班級(jí)-班長班長111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級(jí)組成學(xué)生1n1:n聯(lián)系聯(lián)系的表示方法示例(續(xù))職工領(lǐng)導(dǎo)1n同一實(shí)體型內(nèi)部的1:n聯(lián)系課程講授教師1m多個(gè)實(shí)體型間的1:n聯(lián)系參考書nE-R圖(續(xù))聯(lián)系聯(lián)系的屬性:聯(lián)系本身也是一種實(shí)體型,也可以有屬性。如果一個(gè)聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。聯(lián)系屬性的表示方法課程選修學(xué)生mn成績E-R圖實(shí)例:某個(gè)工廠物資管理的概念模型物資管理涉及的實(shí)體:倉庫:屬性有倉庫號(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ù)算、開工日期。職工:屬性有職工號(hào)、姓名、年齡、職稱。E-R圖實(shí)例(續(xù))實(shí)體之間的聯(lián)系一個(gè)倉庫可以存放多種零件,一種零件可以存放在多個(gè)倉庫中。用庫存量來表示某種零件在某個(gè)倉庫中的數(shù)量。一個(gè)倉庫有多個(gè)職工當(dāng)倉庫保管員,一個(gè)職工只能在一個(gè)倉庫工作。職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若干保管員。一個(gè)供應(yīng)商可以供給若干項(xiàng)目多種零件,每個(gè)項(xiàng)目可以使用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給。1.2數(shù)據(jù)模型1.2.1數(shù)據(jù)模型的要素
1.2.2概念模型
1.2.3數(shù)據(jù)模型1.2.3數(shù)據(jù)模型一、層次數(shù)據(jù)模型二、網(wǎng)狀數(shù)據(jù)模型三、關(guān)系數(shù)據(jù)模型1.2.3數(shù)據(jù)模型非關(guān)系模型種類層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)數(shù)據(jù)結(jié)構(gòu):以基本層次聯(lián)系為基本單位基本層次聯(lián)系:兩個(gè)記錄以及它們之間的一對(duì)多(包括一對(duì)一)的聯(lián)系數(shù)據(jù)模型(續(xù))關(guān)系模型(RelationalModel)數(shù)據(jù)結(jié)構(gòu):表面向?qū)ο竽P?ObjectOrientedModel)數(shù)據(jù)結(jié)構(gòu):對(duì)象1.2.3數(shù)據(jù)模型一、層次數(shù)據(jù)模型二、網(wǎng)狀數(shù)據(jù)模型三、關(guān)系數(shù)據(jù)模型層次模型1.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.層次數(shù)據(jù)模型的數(shù)據(jù)操縱3.層次數(shù)據(jù)模型的完整性約束4.層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.層次數(shù)據(jù)模型的優(yōu)缺點(diǎn)
6.典型的層次數(shù)據(jù)庫系統(tǒng)1.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次模型滿足下面兩個(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)層次模型中的幾個(gè)術(shù)語根結(jié)點(diǎn),雙親結(jié)點(diǎn),兄弟結(jié)點(diǎn),葉結(jié)點(diǎn)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
根結(jié)點(diǎn)
R2
兄弟結(jié)點(diǎn)
R3
葉結(jié)點(diǎn)
R4
兄弟結(jié)點(diǎn)
R5
葉結(jié)點(diǎn)
葉結(jié)點(diǎn)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表示方法實(shí)體型:用記錄類型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。屬性:用字段描述。每個(gè)記錄類型可包含若干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類)型之間的一對(duì)多的聯(lián)系。層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))特點(diǎn)結(jié)點(diǎn)的雙親是唯一的只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義沒有一個(gè)子女記錄值能夠脫離雙親記錄值而獨(dú)立存在層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對(duì)多聯(lián)系在層次模型中的表示用層次模型間接表示多對(duì)多聯(lián)系表示方法將多對(duì)多聯(lián)系分解成一對(duì)多聯(lián)系分解方法冗余結(jié)點(diǎn)法虛擬結(jié)點(diǎn)法2.層次模型的數(shù)據(jù)操縱
查詢插入刪除更新3.層次模型的完整性約束無相應(yīng)的雙親結(jié)點(diǎn)值就不能插入子女結(jié)點(diǎn)值如果刪除雙親結(jié)點(diǎn)值,則相應(yīng)的子女結(jié)點(diǎn)值也被同時(shí)刪除更新操作時(shí),應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性4.層次數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實(shí)現(xiàn)層次順序。鏈接法用指引元來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法P18層次序列鏈接法P18D02R01E2101E1709E3501R02R03E1101E3102S63871S63874S638765.層次模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)層次數(shù)據(jù)模型簡單,對(duì)具有一對(duì)多的層次關(guān)系的部門描述自然、直觀,容易理解性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持層次模型的優(yōu)缺點(diǎn)(續(xù))缺點(diǎn)多對(duì)多聯(lián)系表示不自然對(duì)插入和刪除操作的限制多查詢子女結(jié)點(diǎn)必須通過雙親結(jié)點(diǎn)層次命令趨于程序化6.典型的層次數(shù)據(jù)庫系統(tǒng)IMS數(shù)據(jù)庫管理系統(tǒng)第一個(gè)大型商用DBMS1968年推出IBM公司研制1.2.3數(shù)據(jù)模型一、層次數(shù)據(jù)模型二、網(wǎng)狀數(shù)據(jù)模型三、關(guān)系數(shù)據(jù)模型網(wǎng)狀模型1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)操縱3.網(wǎng)狀數(shù)據(jù)模型的完整性約束4.網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點(diǎn)6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。1.允許一個(gè)以上的結(jié)點(diǎn)無雙親;2.一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表示方法(與層次數(shù)據(jù)模型相同)實(shí)體型:用記錄類型描述。每個(gè)結(jié)點(diǎn)表示一個(gè)記錄類型。屬性:用字段描述。每個(gè)記錄類型可包含若干個(gè)字段。聯(lián)系:用結(jié)點(diǎn)之間的連線表示記錄(類)型之間的一對(duì)多的父子聯(lián)系。網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))特點(diǎn)只能直接處理一對(duì)多的實(shí)體聯(lián)系每個(gè)記錄類型定義一個(gè)排序字段,也稱為碼字段任何記錄值只有按其路徑查看時(shí),才能顯出它的全部意義網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(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)系(復(fù)合聯(lián)系)網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界層次模型實(shí)際上是網(wǎng)狀模型的一個(gè)特例網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
R2
R3L1L2
R1
R2
L3
L1L2
R3
L4
R4
R5
網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
L1L2
R2網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))學(xué)生宿舍學(xué)生教研室系教師網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))父親人獨(dú)生子女樹種植砍伐養(yǎng)育贍養(yǎng)網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))父親關(guān)系男人網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對(duì)多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對(duì)多聯(lián)系表示方法將多對(duì)多聯(lián)系直接分解成一對(duì)多聯(lián)系2.網(wǎng)狀模型的數(shù)據(jù)操縱查詢插入刪除更新3.網(wǎng)狀數(shù)據(jù)模型的完整性約束完整性約束條件不嚴(yán)格允許插入尚未確定雙親結(jié)點(diǎn)值的子女結(jié)點(diǎn)值允許只刪除雙親結(jié)點(diǎn)值網(wǎng)狀數(shù)據(jù)模型的完整性約束(續(xù))具體的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對(duì)數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束。碼屬籍類別加入類別(自動(dòng)的,手工的)移出類別(固定的,必須的,隨意的)4.網(wǎng)狀數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)關(guān)鍵實(shí)現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接例:P295.網(wǎng)狀模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)能夠更為直接地描述現(xiàn)實(shí)世界,如一個(gè)結(jié)點(diǎn)可以有多個(gè)雙親具有良好的性能,存取效率較高網(wǎng)狀模型的優(yōu)缺點(diǎn)(續(xù))缺點(diǎn)結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用6.典型的網(wǎng)狀數(shù)據(jù)庫系統(tǒng)DBTG系統(tǒng),亦稱CODASYL系統(tǒng)由DBTG提出的一個(gè)系統(tǒng)方案奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù)70年代推出實(shí)際系統(tǒng)CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE1.2.3數(shù)據(jù)模型一、層次數(shù)據(jù)模型二、網(wǎng)狀數(shù)據(jù)模型三、關(guān)系數(shù)據(jù)模型關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.關(guān)系數(shù)據(jù)模型的操縱3.關(guān)系數(shù)據(jù)模型的完整性約束4.關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)5.關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)
關(guān)系模型最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型1970年由美國IBM公司SanJose研究室的研究員E.F.Codd提出本課程的重點(diǎn)1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的基本概念實(shí)體及實(shí)體間的聯(lián)系的表示方法關(guān)系必須是規(guī)范化的關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系模型的基本數(shù)據(jù)結(jié)構(gòu)在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。
關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系模型的基本概念關(guān)系(Relation):一個(gè)關(guān)系對(duì)應(yīng)通常說的一張表。元組(Tuple)表中的一行即為一個(gè)元組。屬性(Attribute)表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系模型的基本概念(續(xù))主碼(Key)表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。域(Domain)屬性的取值范圍。分量元組中的一個(gè)屬性值。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系模型的基本概念(續(xù))關(guān)系模式對(duì)關(guān)系的描述表示方法關(guān)系名(屬性1,屬性2,…,屬性n)例如:
學(xué)生(學(xué)號(hào),姓名,年齡,性別,系,年級(jí))關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))實(shí)體及實(shí)體間的聯(lián)系的表示方法實(shí)體型:直接用關(guān)系(表)表示。屬性:用屬性名表示。一對(duì)一聯(lián)系:隱含在實(shí)體對(duì)應(yīng)的關(guān)系中。一對(duì)多聯(lián)系:隱含在實(shí)體對(duì)應(yīng)的關(guān)系中。多對(duì)多聯(lián)系:直接用關(guān)系表示。關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例1學(xué)生、系、系與學(xué)生之間的一對(duì)多聯(lián)系:學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))系(系號(hào),系名,辦公地點(diǎn))例2系、系主任、系與系主任間的一對(duì)一聯(lián)系關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例3學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系:
學(xué)生(學(xué)號(hào),姓名,年齡,性別,系號(hào),年級(jí))課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系必須是規(guī)范化的,即必須滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng)。
2.關(guān)系模型的數(shù)據(jù)操縱查詢、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合存取路徑對(duì)用戶隱蔽,用戶只要指出“干什么”,不必詳細(xì)說明“怎么干”3.關(guān)系模型的完整性約束實(shí)體完整性參照完整性用戶定義的完整性4.關(guān)系數(shù)據(jù)模型的存儲(chǔ)結(jié)構(gòu)表以文件形式存儲(chǔ)有的DBMS一個(gè)表對(duì)應(yīng)一個(gè)操作系統(tǒng)文件,有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu)5.關(guān)系模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一。數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用實(shí)體和各類聯(lián)系都用關(guān)系來表示。對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系。關(guān)系模型的存取路徑對(duì)用戶透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作關(guān)系模型的優(yōu)缺點(diǎn)(續(xù))缺點(diǎn)存取路徑對(duì)用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對(duì)用戶的查詢請求進(jìn)行優(yōu)化增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度6.典型的關(guān)系數(shù)據(jù)庫系統(tǒng)ORACLESYBASEDB/2SQLServerINFORMIXCOBASEPBASEEasyBaseKingBase小金靈DM/4OpenBase第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看1.3.2數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)
從數(shù)據(jù)庫管理系統(tǒng)角度看1.3.2數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)數(shù)據(jù)庫系統(tǒng)模式的概念“型”和“值”的概念型(Type)對(duì)某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明值(Value)是型的一個(gè)具體賦值例如:學(xué)生記錄記錄型:(學(xué)號(hào),姓名,性別,系別,年齡,籍貫)該記錄型的一個(gè)記錄值:(900201,李明,男,計(jì)算機(jī),22,江蘇)數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))模式的概念模式(Schema)數(shù)據(jù)庫邏輯結(jié)構(gòu)和特征的描述是型的描述反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系模式是相對(duì)穩(wěn)定的數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))模式的概念(續(xù))模式的一個(gè)實(shí)例(Instance)模式的一個(gè)具體值反映數(shù)據(jù)庫某一時(shí)刻的狀態(tài)同一個(gè)模式可以有很多實(shí)例實(shí)例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動(dòng)1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫1.模式(Schema)模式(也稱邏輯模式)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個(gè)數(shù)據(jù)庫只有一個(gè)模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級(jí)程序設(shè)計(jì)語言無關(guān)模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系數(shù)據(jù)有關(guān)的安全性、完整性要求2.外模式(ExternalSchema)外模式(也稱子模式或用戶模式)數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示外模式(續(xù))外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對(duì)多外模式通常是模式的子集一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對(duì)數(shù)據(jù)保密的要求對(duì)模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級(jí)別等都可以不同外模式與應(yīng)用的關(guān)系:一對(duì)多同一外模式也可以為某一用戶的多個(gè)應(yīng)用系統(tǒng)所使用,但一個(gè)應(yīng)用程序只能使用一個(gè)外模式。外模式(續(xù))外模式的用途保證數(shù)據(jù)庫安全性的一個(gè)有力措施。每個(gè)用戶只能看見和訪問所對(duì)應(yīng)的外模式中的數(shù)據(jù)保證數(shù)據(jù)獨(dú)立性的一個(gè)有力措施。3.內(nèi)模式(InternalSchema)內(nèi)模式(也稱存儲(chǔ)模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲(chǔ)方式(順序存儲(chǔ),按照B樹結(jié)構(gòu)存儲(chǔ),按hash方法存儲(chǔ))索引的組織方式數(shù)據(jù)是否壓縮存儲(chǔ)數(shù)據(jù)是否加密數(shù)據(jù)存儲(chǔ)記錄結(jié)構(gòu)的規(guī)定一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)三級(jí)模式與二級(jí)映象三級(jí)模式是對(duì)數(shù)據(jù)的三個(gè)抽象級(jí)別二級(jí)映象在DBMS內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換二級(jí)映象功能1.外模式/模式映象2.模式/內(nèi)模式映象1.外模式/模式映象什么是外模式/模式映象定義外模式與模式之間的對(duì)應(yīng)關(guān)系每一個(gè)外模式都對(duì)應(yīng)一個(gè)外模式/模式映象映象定義通常包含在各自外模式的描述中外模式/模式映象(續(xù))外模式/模式映象的用途:保證數(shù)據(jù)的邏輯獨(dú)立性當(dāng)模式改變時(shí),數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性,簡稱數(shù)據(jù)的邏輯獨(dú)立性。2.模式/內(nèi)模式映象什么是模式/內(nèi)模式映象模式/內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫中模式/內(nèi)模式映象是唯一的該映象定義通常包含在模式描述中模式/內(nèi)模式映象(續(xù))模式/內(nèi)模式映象的用途:保證數(shù)據(jù)的物理獨(dú)立性當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變了(例如選用了另一種存儲(chǔ)結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映象,使模式保持不變應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨(dú)立性,簡稱數(shù)據(jù)的物理獨(dú)立性。1.3.1數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫的二級(jí)映象功能與數(shù)據(jù)獨(dú)立性小結(jié)小結(jié)數(shù)據(jù)庫小結(jié)(續(xù))模式是數(shù)據(jù)庫的中心與關(guān)鍵獨(dú)立于數(shù)據(jù)庫的其它層次設(shè)計(jì)數(shù)據(jù)庫模式結(jié)構(gòu)時(shí)應(yīng)首先確定數(shù)據(jù)庫的邏輯模式小結(jié)(續(xù))內(nèi)模式依賴于全局邏輯結(jié)構(gòu),但獨(dú)立于數(shù)據(jù)庫的用戶視圖即外模式,也獨(dú)立于具體的存儲(chǔ)設(shè)備。它將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲(chǔ)策略進(jìn)行組織,以達(dá)到較好的時(shí)間與空間效率。小結(jié)(續(xù))外模式面向具體的應(yīng)用程序,定義在邏輯模式之上,但獨(dú)立于存儲(chǔ)模式和存儲(chǔ)設(shè)備設(shè)計(jì)外模式時(shí)應(yīng)充分考慮到應(yīng)用的擴(kuò)充性。當(dāng)應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足其視圖要求時(shí),該外模式就得做相應(yīng)改動(dòng)小結(jié)(續(xù))應(yīng)用程序在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的,它依賴于特定的外模式,與數(shù)據(jù)庫的模式和存儲(chǔ)結(jié)構(gòu)獨(dú)立。不同的應(yīng)用程序有時(shí)可以共用同一個(gè)外模式。小結(jié)(續(xù))二級(jí)映象保證了數(shù)據(jù)庫外模式的穩(wěn)定性,從而從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改。數(shù)據(jù)與程序之間的獨(dú)立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去。數(shù)據(jù)庫特點(diǎn)與數(shù)據(jù)庫的模式結(jié)構(gòu)1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.3.1數(shù)據(jù)庫系統(tǒng)內(nèi)部的模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)從數(shù)據(jù)庫最終用戶角度看1.3.2數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)1.單用戶數(shù)據(jù)庫系統(tǒng)整個(gè)數(shù)據(jù)庫系統(tǒng)(應(yīng)用程序、DBMS、數(shù)據(jù))都裝在一臺(tái)計(jì)算機(jī)上,為一個(gè)用戶獨(dú)占,不同機(jī)器之間不能共享數(shù)據(jù)。早期的最簡單的數(shù)據(jù)庫系統(tǒng)2.主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)一個(gè)主機(jī)帶多個(gè)終端的多用戶結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng),包括應(yīng)用程序、DBMS、數(shù)據(jù),都集中存放在主機(jī)上,所有處理任務(wù)都由主機(jī)來完成各個(gè)用戶通過主機(jī)的終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源。主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))優(yōu)點(diǎn)簡單,數(shù)據(jù)易于管理與維護(hù)。缺點(diǎn)當(dāng)終端用戶數(shù)目增加到一定程度后,主機(jī)的任務(wù)會(huì)過分繁重,成為瓶頸,從而使系統(tǒng)性能大幅度下降。系統(tǒng)的可靠性不高,當(dāng)主機(jī)出現(xiàn)故障時(shí),整個(gè)系統(tǒng)都不能使用。3.分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個(gè)整體,但物理地分布在計(jì)算機(jī)網(wǎng)絡(luò)的不同結(jié)點(diǎn)上。網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)都可以獨(dú)立處理本地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用同時(shí)也可以同時(shí)存取和處理多個(gè)異地?cái)?shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))優(yōu)點(diǎn)適應(yīng)了地理上分散的公司、團(tuán)體和組織對(duì)于數(shù)據(jù)庫應(yīng)用的需求。缺點(diǎn)數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護(hù)帶來困難。當(dāng)用戶需要經(jīng)常訪問遠(yuǎn)程數(shù)據(jù)時(shí),系統(tǒng)效率會(huì)明顯地受到網(wǎng)絡(luò)交通的制約。4.客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)把DBMS功能和應(yīng)用分開網(wǎng)絡(luò)中某個(gè)(些)結(jié)點(diǎn)上的計(jì)算機(jī)專門用于執(zhí)行DBMS功能,稱為數(shù)據(jù)庫服務(wù)器,簡稱服務(wù)器其他結(jié)點(diǎn)上的計(jì)算機(jī)安裝DBMS的外圍應(yīng)用開發(fā)工具,支持用戶的應(yīng)用,稱為客戶機(jī)客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))客戶/服務(wù)器數(shù)據(jù)庫系統(tǒng)的種類集中的服務(wù)器結(jié)構(gòu)在網(wǎng)絡(luò)中僅有一臺(tái)數(shù)據(jù)庫服務(wù)器,而客戶機(jī)是多臺(tái)分布的服務(wù)器結(jié)構(gòu)在網(wǎng)絡(luò)中有多臺(tái)數(shù)據(jù)庫服務(wù)器分布的服務(wù)器結(jié)構(gòu)是客戶/服務(wù)器與分布式數(shù)據(jù)庫的結(jié)合客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))優(yōu)點(diǎn)客戶端的用戶請求被傳送到數(shù)據(jù)庫服務(wù)器,數(shù)據(jù)庫服務(wù)器進(jìn)行處理后,只將結(jié)果返回給用戶,從而顯著減少了數(shù)據(jù)傳輸量數(shù)據(jù)庫更加開放客戶與服務(wù)器一般都能在多種不同的硬件和軟件平臺(tái)上運(yùn)行可以使用不同廠商的數(shù)據(jù)庫應(yīng)用開發(fā)工具應(yīng)用程序具有更強(qiáng)的可移植性,同時(shí)也可以減少軟件維護(hù)開銷客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))缺點(diǎn)在集中的服務(wù)器結(jié)構(gòu)中,一個(gè)數(shù)據(jù)庫服務(wù)器要為眾多的客戶服務(wù),往往容易成為瓶頸,制約系統(tǒng)的性能(與主從式結(jié)構(gòu)相似)在分布的服務(wù)器結(jié)構(gòu)中數(shù)據(jù)分布在不同的服務(wù)器給數(shù)據(jù)的處理、管理與維護(hù)帶來困難(與分布式結(jié)構(gòu)相似)第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)1.4數(shù)據(jù)庫管理系統(tǒng)1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程1.4.3數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)方法1.4數(shù)據(jù)庫管理系統(tǒng)1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程1.4.3數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)方法1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成1.數(shù)據(jù)定義2.數(shù)據(jù)操縱3.數(shù)據(jù)庫運(yùn)行管理4.數(shù)據(jù)組織、存儲(chǔ)和管理5.數(shù)據(jù)庫的建立和維護(hù)6.數(shù)據(jù)通信接口1.數(shù)據(jù)定義定義構(gòu)成數(shù)據(jù)庫結(jié)構(gòu)的模式、存儲(chǔ)模式和外模式定義各個(gè)外模式與模式之間的映射定義模式與存儲(chǔ)模式之間的映射定義有關(guān)的約束條件2.數(shù)據(jù)操縱檢索插入修改刪除3.數(shù)據(jù)庫運(yùn)行管理對(duì)數(shù)據(jù)庫的運(yùn)行管理是DBMS運(yùn)行時(shí)的核心部分,包括對(duì)數(shù)據(jù)庫進(jìn)行并發(fā)控制、安全性檢查、完整性約束條件的檢查和執(zhí)行、數(shù)據(jù)庫的內(nèi)部維護(hù)等。所有訪問數(shù)據(jù)庫的操作都要在這些控制程序的統(tǒng)一管理下進(jìn)行,以保證數(shù)據(jù)的安全性、完整性、一致性以及多用戶對(duì)數(shù)據(jù)庫的并發(fā)使用。4.數(shù)據(jù)組織、存儲(chǔ)和管理數(shù)據(jù)庫中需要存放多種數(shù)據(jù),如數(shù)據(jù)字典、用戶數(shù)據(jù)、存取路徑等。DBMS負(fù)責(zé)分門別類地組織、存儲(chǔ)和管理這些數(shù)據(jù),確定以何種文件結(jié)構(gòu)和存取方式物理地組織這些數(shù)據(jù),如何實(shí)現(xiàn)數(shù)據(jù)之間的聯(lián)系,以便提高存儲(chǔ)空間利用率以及提高隨機(jī)查找、順序查找、增、刪、改等操作的時(shí)間效率。5.數(shù)據(jù)庫的建立和維護(hù)建立數(shù)據(jù)庫包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入與數(shù)據(jù)轉(zhuǎn)換等。維護(hù)數(shù)據(jù)庫包括數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)與恢復(fù)、數(shù)據(jù)庫的重組織與重構(gòu)造、性能的監(jiān)視與分析等。6.數(shù)據(jù)通信接口DBMS需要提供與其他軟件系統(tǒng)進(jìn)行通信的功能DBMS組成數(shù)據(jù)定義的語言及其翻譯處理程序數(shù)據(jù)操縱語言及其編譯(或解釋)程序數(shù)據(jù)庫運(yùn)行控制程序使用程序1.4數(shù)據(jù)庫管理系統(tǒng)1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程1.4.3數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)方法1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程存取數(shù)據(jù)庫中數(shù)據(jù)時(shí),應(yīng)用程序、DBMS、操作系統(tǒng)、硬件等幾個(gè)方面協(xié)同工作。這是一個(gè)較為復(fù)雜的過程,其中DBMS起關(guān)鍵作用1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程(續(xù))應(yīng)用程序(用戶)從數(shù)據(jù)庫中讀取數(shù)據(jù)的步驟:應(yīng)用程序A向DBMS發(fā)出從數(shù)據(jù)庫讀數(shù)據(jù)記錄的命令DBMS對(duì)該命令進(jìn)行語法檢查、語義檢查,并調(diào)用應(yīng)用程序A對(duì)應(yīng)的子模式,檢查A的存取權(quán)限,決定是否執(zhí)行該命令。如果拒絕執(zhí)行,則向用戶返回錯(cuò)誤信息在決定執(zhí)行該命令后,DBMS調(diào)用模式,依據(jù)模式/模式映象的定義,確定應(yīng)讀入模式中的哪些記錄1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程(續(xù))DBMS調(diào)用物理模式,依據(jù)模式/物理模式映象的定義,決定應(yīng)從哪個(gè)文件、用什么存取方式、讀入哪個(gè)或哪些物理記錄DBMS向操作系統(tǒng)發(fā)出執(zhí)行讀取所需物理記錄的命令操作系統(tǒng)執(zhí)行讀數(shù)據(jù)的有關(guān)操作操作系統(tǒng)將數(shù)據(jù)從數(shù)據(jù)庫的存儲(chǔ)區(qū)送至緩沖區(qū)1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程(續(xù))DBMS依據(jù)子模式/模式映象的定義,導(dǎo)出應(yīng)用程序A所要讀取的記錄格式DBMX將數(shù)據(jù)記錄從系統(tǒng)緩沖區(qū)傳送到應(yīng)用程序A的用戶工作區(qū)DBMS向應(yīng)用程序A返回命令執(zhí)行情況的狀態(tài)信息1.4數(shù)據(jù)庫管理系統(tǒng)1.4.1數(shù)據(jù)庫管理系統(tǒng)的功能與組成1.4.2數(shù)據(jù)庫管理系統(tǒng)的工作過程1.4.3數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)方法1.4.3數(shù)據(jù)庫管理系統(tǒng)的實(shí)現(xiàn)方法N方案2N方案M+N方案N+1方案一、N方案DBMS與應(yīng)用程序融合在一起,N個(gè)用戶的系統(tǒng)中只有N個(gè)進(jìn)程。DBMS基本成分通常設(shè)計(jì)成可重入代碼用戶使用DBMS時(shí),調(diào)用的DBMS模塊被加入到用戶進(jìn)程中,借助于操作系統(tǒng)的調(diào)度完成對(duì)用戶程序的運(yùn)行系統(tǒng)性能較差N方案(續(xù))AP1DBMSAP2DBMSAP3DBMSU1U2OSSGA文件DB二、2N方案一個(gè)DBMS進(jìn)程對(duì)應(yīng)一個(gè)用戶進(jìn)程,每個(gè)用戶進(jìn)程均有一個(gè)影子進(jìn)程(shadow)的dbms進(jìn)程為之服務(wù)。系統(tǒng)中總進(jìn)程數(shù)接近用戶進(jìn)程的2倍系統(tǒng)還有若干個(gè)后臺(tái)進(jìn)程負(fù)責(zé)讀寫數(shù)據(jù)庫、監(jiān)控、寫日志等工作內(nèi)存需求大,通信開銷大,不適合大量用戶的聯(lián)機(jī)事務(wù)處理應(yīng)用2N方案(續(xù))AP1AP2AP3DBMSDBMSDBMSU1U2OSSGA文件DB三、M+N方案對(duì)2N方案的一種改進(jìn),在N個(gè)用戶進(jìn)程中,有M個(gè)DBMS進(jìn)程為之服務(wù)(M<N)DBMS進(jìn)程的分派有專門的分派進(jìn)程負(fù)責(zé)與2N方案比,M+N方案減少了系統(tǒng)中的進(jìn)程數(shù),提高了內(nèi)存資源的利用率,也減少了通信開銷,但沒有克服2N方案的本質(zhì)弱點(diǎn)M+N方案(續(xù))AP1AP2AP3服務(wù)進(jìn)程池DBMSDBMSU1U2SGA四、N+1方案整個(gè)DBMS僅使用一個(gè)進(jìn)程,多個(gè)數(shù)據(jù)庫用戶可以向其發(fā)消息以申請數(shù)據(jù)庫服務(wù),這些消息掛在DBMS進(jìn)程的消息隊(duì)列中DBMS進(jìn)程完成一個(gè)用戶進(jìn)程的請求后,把結(jié)果作為消息發(fā)回給相應(yīng)用戶,然后執(zhí)行下一個(gè)請求為了防止在用戶數(shù)目較多的情況下DBMS進(jìn)程成為瓶頸,通常把DBMS進(jìn)程內(nèi)部設(shè)計(jì)成多線索結(jié)構(gòu),每一條線索都可以服務(wù)于一個(gè)用戶請求一種較優(yōu)的方案,但實(shí)現(xiàn)起來復(fù)雜,消息通信機(jī)制開銷大N+1方案(續(xù))AP1AP2AP3DBMSU1U2OSDB文件第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)1.5數(shù)據(jù)庫工程與應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)1.5.2數(shù)據(jù)庫設(shè)計(jì)方法1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟1.5.4數(shù)據(jù)庫應(yīng)用1.5數(shù)據(jù)庫工程與應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)1.5.2數(shù)據(jù)庫設(shè)計(jì)方法1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟1.5.4數(shù)據(jù)庫應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)數(shù)據(jù)庫設(shè)計(jì)的任務(wù)是在DBMS的支持下,按照應(yīng)用的要求,為某一部門或組織設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)機(jī)器應(yīng)用系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)包含兩方面內(nèi)容結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫行為(處理)設(shè)計(jì),即設(shè)計(jì)應(yīng)用程序、事務(wù)處理等1.5數(shù)據(jù)庫工程與應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)1.5.2數(shù)據(jù)庫設(shè)計(jì)方法1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟1.5.4數(shù)據(jù)庫應(yīng)用1.5.2數(shù)據(jù)庫設(shè)計(jì)方法使用工程化的規(guī)范設(shè)計(jì)方法核心與關(guān)鍵是設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)和物理數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)是根據(jù)用戶要求和特定數(shù)據(jù)庫管理系統(tǒng)的具體特點(diǎn),以數(shù)據(jù)庫設(shè)計(jì)理論為依據(jù),設(shè)計(jì)數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)和每個(gè)用戶的局部邏輯結(jié)構(gòu)。物理數(shù)據(jù)庫設(shè)計(jì)是在邏輯結(jié)構(gòu)確定之后,設(shè)計(jì)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)及其他實(shí)現(xiàn)細(xì)節(jié)數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))各種設(shè)計(jì)方法在設(shè)計(jì)步驟上的劃分上存在差異,各有自己的特點(diǎn)和局限例如新奧爾良方法和S.B.Yao方法有一些為數(shù)據(jù)庫設(shè)計(jì)不同階段提供的具體實(shí)現(xiàn)技術(shù)與實(shí)現(xiàn)方法例如基于E-R模型方法、基于3NF(第三范式)方法、基于抽象語法規(guī)范的方法規(guī)范設(shè)計(jì)法在具體使用中分為兩類手工設(shè)計(jì)計(jì)算機(jī)輔助數(shù)據(jù)庫設(shè)計(jì)1.5數(shù)據(jù)庫工程與應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)1.5.2數(shù)據(jù)庫設(shè)計(jì)方法1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟1.5.4數(shù)據(jù)庫應(yīng)用1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟需求分析概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫運(yùn)行和維護(hù)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫物理設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)需求說明與數(shù)據(jù)說明概念結(jié)構(gòu)邏輯結(jié)構(gòu)
物理結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.5.1數(shù)據(jù)庫設(shè)計(jì)的目標(biāo)與特點(diǎn)1.5.2數(shù)據(jù)庫設(shè)計(jì)方法1.5.3數(shù)據(jù)庫設(shè)計(jì)步驟1.5.4數(shù)據(jù)庫應(yīng)用1.5.4數(shù)據(jù)庫應(yīng)用在DBMS上可以根據(jù)用戶需求開發(fā)一個(gè)具體的應(yīng)用系統(tǒng),從而形成一個(gè)完整的數(shù)據(jù)庫系統(tǒng)一個(gè)數(shù)據(jù)庫系統(tǒng)一般由三級(jí)模式組成,數(shù)據(jù)庫中由多種用戶,分別扮演不同角色承擔(dān)不同任務(wù),見下頁圖數(shù)據(jù)庫應(yīng)用(續(xù))數(shù)據(jù)庫管理員(DBA)負(fù)責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng),是數(shù)據(jù)庫系統(tǒng)中最重要的人員設(shè)計(jì)與定義數(shù)據(jù)庫系統(tǒng)幫助最終用戶使用數(shù)據(jù)庫系統(tǒng)監(jiān)督與控制數(shù)據(jù)庫系統(tǒng)的使用和運(yùn)行改進(jìn)和重組數(shù)據(jù)庫系統(tǒng),調(diào)優(yōu)數(shù)據(jù)庫系統(tǒng)的性能轉(zhuǎn)儲(chǔ)與恢復(fù)數(shù)據(jù)庫重構(gòu)數(shù)據(jù)庫第1章緒論1.1引言1.2數(shù)據(jù)模型1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4數(shù)據(jù)庫管理系統(tǒng)1.5數(shù)據(jù)庫工程與應(yīng)用1.6小結(jié)小結(jié)數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫的基本概念數(shù)據(jù)管理的發(fā)展過程數(shù)據(jù)庫系統(tǒng)的研究領(lǐng)域數(shù)據(jù)模型數(shù)據(jù)模型的三要素概念模型,E-R模型三種主要數(shù)據(jù)模型小結(jié)(續(xù))數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)三級(jí)模式結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)第2章關(guān)系數(shù)據(jù)庫2.1關(guān)系數(shù)據(jù)庫概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6關(guān)系數(shù)據(jù)庫管理系統(tǒng)2.7小結(jié)關(guān)系數(shù)據(jù)庫簡介系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國IBM公司的E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式關(guān)系數(shù)據(jù)庫簡介關(guān)系數(shù)據(jù)庫應(yīng)用數(shù)學(xué)方法來處理數(shù)據(jù)庫中的數(shù)據(jù)80年代后,關(guān)系數(shù)據(jù)庫系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫簡介典型實(shí)驗(yàn)系統(tǒng)SystemRUniversityINGRES典型商用系統(tǒng)ORACLESYBASEDB2SQLServerINFORMIXINGRES第2章關(guān)系數(shù)據(jù)庫2.1關(guān)系數(shù)據(jù)庫概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6關(guān)系數(shù)據(jù)庫管理系統(tǒng)2.7小結(jié)2.1關(guān)系數(shù)據(jù)庫概述關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)關(guān)系模型的組成關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系操作集合關(guān)系完整性約束1.關(guān)系數(shù)據(jù)結(jié)構(gòu)單一的數(shù)據(jù)結(jié)構(gòu)關(guān)系現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示數(shù)據(jù)的邏輯結(jié)構(gòu)二維表從用戶角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。2.關(guān)系操作1)常用的關(guān)系操作2)關(guān)系操作的特點(diǎn)3)關(guān)系數(shù)據(jù)語言的種類4)關(guān)系數(shù)據(jù)語言的特點(diǎn)關(guān)系操作(續(xù))1)常用的關(guān)系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分關(guān)系操作(續(xù))2)關(guān)系操作的特點(diǎn)集合操作方式,即操作的對(duì)象和結(jié)果都是集合。非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作方式:一次一記錄文件系統(tǒng)的數(shù)據(jù)操作方式關(guān)系操作(續(xù))3)關(guān)系數(shù)據(jù)語言的種類關(guān)系代數(shù)語言用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢要求典型代表:ISBL關(guān)系操作(續(xù))關(guān)系數(shù)據(jù)語言的種類(續(xù))關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變元的基本對(duì)象是元組變量典型代表:APLHA,QUEL域關(guān)系演算語言謂詞變元的基本對(duì)象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言典型代表:SQL關(guān)系操作(續(xù))4)關(guān)系數(shù)據(jù)語言的特點(diǎn)關(guān)系語言是一種高度非過程化的語言存取路徑的選擇由DBMS的優(yōu)化機(jī)制來完成用戶不必用循環(huán)結(jié)構(gòu)就可以完成數(shù)據(jù)操作能夠嵌入高級(jí)語言中使用關(guān)系代數(shù)、元組關(guān)系演算和域關(guān)系演算三種語言在表達(dá)能力上完全等價(jià)3.關(guān)系的三類完整性約束實(shí)體完整性通常由關(guān)系系統(tǒng)自動(dòng)支持參照完整性早期系統(tǒng)不支持,目前大型系統(tǒng)能自動(dòng)支持用戶定義的完整性反映應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中的語義約束用戶定義后由系統(tǒng)支持第2章關(guān)系數(shù)據(jù)庫2.1關(guān)系數(shù)據(jù)庫概述2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)2.3關(guān)系的完整性2.4關(guān)系代數(shù)2.5關(guān)系演算2.6關(guān)系數(shù)據(jù)庫管理系統(tǒng)2.7小結(jié)2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模型建立在集合代數(shù)的基礎(chǔ)上關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念關(guān)系關(guān)系模式關(guān)系數(shù)據(jù)庫2.2關(guān)系數(shù)據(jù)結(jié)構(gòu)1.關(guān)系2.關(guān)系模式3.關(guān)系數(shù)據(jù)庫一、關(guān)系⒈域(Domain)
2.笛卡爾積(CartesianProduct)
3.關(guān)系(Relation)⒈域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例整數(shù)實(shí)數(shù)指定長度的字符串集合介于某個(gè)取值范圍的整數(shù){‘男’,‘女’}介于某個(gè)取值范圍的日期2.笛卡爾積(CartesianProduct)1)笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:
D1×D2×…×Dn=
{(d1,d2,…,dn)|di
Di,i=1,2,…,n}
所有域的所有取值的一個(gè)組合不能重復(fù)笛卡爾積(續(xù))例給出三個(gè)域:
D1=SUPERVISOR={張清玫,劉逸}
D2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨),
(張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇),
(張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏),
(劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨),
(劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇),
(劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏)}笛卡爾積(續(xù))2)元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡稱元組。例3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量。例笛卡爾積(續(xù))4)基數(shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個(gè)元組笛卡爾積(續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(yīng)一個(gè)域。在上例中,12個(gè)元組可列成一張二維表
笛卡爾積(續(xù))3.關(guān)系(Relation)1)關(guān)系D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為
R(D1,D2,…,Dn)
R:關(guān)系名
n:關(guān)系的目或度(Degree)關(guān)系(續(xù))1)關(guān)系(續(xù))注意關(guān)系是笛卡爾積的有限子集。無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的。由于笛卡爾積不滿足交換律,即
(d1,d2,…,dn)≠(d2,d1,…,dn)
但關(guān)系滿足交換律,即(d1,d2,…,di
,dj
,…,dn)=(d1,d2,…,dj
,di,…,dn)(i,j=1,2,…,n)解決方法:為關(guān)系的每個(gè)列附加一個(gè)屬性名以取消關(guān)系元組的有序性關(guān)系(續(xù))例在表2.1的笛卡爾積中取出有實(shí)際意義的元組來構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關(guān)系名,屬性名假設(shè):導(dǎo)師與專業(yè):1:1,導(dǎo)師與研究生:1:n于是:SAP關(guān)系可以包含三個(gè)元組{(張清玫,信息專業(yè),李勇),
(張清玫,信息專業(yè),劉晨),
(劉逸,信息專業(yè),王敏)}
關(guān)系(續(xù))2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unaryrelation)。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binaryrelation)。關(guān)系(續(xù))4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。關(guān)系(續(xù))5)屬性關(guān)系中不同列可以對(duì)應(yīng)相同的域,為了加以區(qū)分,必須對(duì)每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。關(guān)系(續(xù))6)碼候選碼若關(guān)系中的某一屬性組的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼(Candidatekey)。候選碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)。在最簡單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)。關(guān)系(續(xù))碼(續(xù))主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)。關(guān)系(續(xù))7)三類關(guān)系基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對(duì)應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)關(guān)系(續(xù))8)基本關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。②不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名關(guān)系(續(xù))例:上例中也可以只給出兩個(gè)域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專業(yè)(SPECIALITY)=計(jì)算機(jī)專業(yè),信息專業(yè)SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從PERSON域中取值。為了避免混淆,必須給這兩個(gè)屬性取不同的屬性名,而不能直接使用域名。例如定義導(dǎo)師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE)SAP(SUPERVISOR-PERSON,SPECIALITY,POSTGRADUATE-PERSON)關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù))③列的順序無所謂列的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),增加新屬性時(shí),永遠(yuǎn)是插至最后一列但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了屬性順序關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù))④任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定但許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì)。例如Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同的元組,除非用戶特別定義了相應(yīng)的約束條件。關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù))⑤行的順序無所謂行的次序可以任意交換遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE),插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì),例如FoxPro仍然區(qū)分了元組的順序關(guān)系(續(xù))基本關(guān)系的性質(zhì)(續(xù))⑥分量必須取原子值每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī)范條件中最基本的一條二、關(guān)系模式1.什么是關(guān)系模式2.定義關(guān)系模式3.關(guān)系模式與關(guān)系1.什么是關(guān)系模式關(guān)系模式(RelationSchema)是型,關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合2.定義關(guān)系模式關(guān)系模式可以形式化地表示為:
R(U,D,dom,F(xiàn))
R關(guān)系名
U
組成該關(guān)系的屬性名集合
D
屬性組U中屬性所來自的域
dom
屬性向域的映象集合
F
屬性間的數(shù)據(jù)依賴關(guān)系集合。定義關(guān)系模式(續(xù))例在上面例子中,由于導(dǎo)師和研究生出自同一個(gè)域——人,所以要取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個(gè)域,如:
dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON定義關(guān)系模式(續(xù))關(guān)系模式通常可以簡記為
R(U)
或R(A1,A2,…,An)R關(guān)系名A1,A2,…,An屬性名注:域名及屬性向域的映象常常直接說明為屬性的類型、長度。3.關(guān)系模式與關(guān)系關(guān)系模式對(duì)關(guān)系的描述靜態(tài)的、穩(wěn)定的關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容動(dòng)態(tài)的、隨時(shí)間不斷變化的關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系,通過上下文加以區(qū)別。三、關(guān)系數(shù)據(jù)庫1.關(guān)系數(shù)據(jù)庫2.關(guān)系數(shù)據(jù)庫的型與值1.關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。2.關(guān)系數(shù)據(jù)庫的型與值關(guān)系數(shù)據(jù)庫也有型和值之分關(guān)系數(shù)據(jù)庫的型稱為關(guān)系數(shù)據(jù)庫模式,是對(duì)關(guān)系數(shù)據(jù)庫的描述若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)主與物業(yè)簽訂的物業(yè)服務(wù)合同范例
- 空調(diào)設(shè)備采購與銷售合同協(xié)議
- 投資合作框架合同
- 商業(yè)空間裝修工程合同樣本
- 商業(yè)地產(chǎn)買賣居間合同書
- 原材料采購合同達(dá)成共識(shí)
- 知識(shí)改變命運(yùn)
- 自建房設(shè)計(jì)與施工總承包合同
- 植物習(xí)題庫+參考答案
- 建筑工程師勞動(dòng)合同范本
- 2024年商丘職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 《園林植物病蟲害》課件
- 空調(diào)維保服務(wù)投標(biāo)方案 (技術(shù)方案)
- 醫(yī)用氣體安裝工程作業(yè)安全技術(shù)交底
- 西方文論概覽(第二版)-第一章-課件
- T-CSPSTC 55-2020 隧道襯砌質(zhì)量無損檢測技術(shù)規(guī)程
- 遼寧省部分高中2023-2024學(xué)年高一下學(xué)期4月月考化學(xué)試題
- DL∕T 748.2-2016 火力發(fā)電廠鍋爐機(jī)組檢修導(dǎo)則 第2部分:鍋爐本體檢修
- 河北省保定市六校聯(lián)盟2023-2024學(xué)年高一下學(xué)期期中聯(lián)考 數(shù)學(xué)試題
- 高中數(shù)學(xué)必修二(人教A版2019)課后習(xí)題答案解析
- 2024屆高考化學(xué)精英模擬卷 【山東版】含答案
評(píng)論
0/150
提交評(píng)論