版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
海闊憑魚躍天高任鳥飛1TheoryofDatabase石家莊鐵道學(xué)院計算機與信息工程分院數(shù)據(jù)庫原理Theoryofdatabase教材及參考書
教材王珊,薩師煊:數(shù)據(jù)庫系統(tǒng)概論(第四版),高等教育出版社,2006參考書AFirstCourseinDatabaseSystemsJeffrey.D.Ullman,JenniferWidom
(美)斯坦福大學(xué)(數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程機械工業(yè)出版社)
何玉潔:數(shù)據(jù)庫原理與應(yīng)用,機械工業(yè)出版社,2007
樊金生等:PowerBuilder9.0實用教程科學(xué)出版社,2004
上機軟件SQLSERVER2000、PowerBuilder9.0
3TheoryofDatabase學(xué)習(xí)方式
聽課:啟發(fā)式、討論式
讀書:預(yù)習(xí)、復(fù)習(xí)、查閱大量資料
作業(yè)、實驗:課后作業(yè)、上機實驗、綜合練習(xí)4TheoryofDatabase掌握數(shù)據(jù)庫相關(guān)概念、原理、設(shè)計方法對數(shù)據(jù)庫系統(tǒng)有一定了解(SQLServer2000)掌握數(shù)據(jù)庫開發(fā)工具如PowerBuilder9.0達到開發(fā)小型應(yīng)用系統(tǒng)的能力對數(shù)據(jù)庫的新發(fā)展、新技術(shù)有一定了解學(xué)習(xí)要求5TheoryofDatabase平時成績(30%)(考勤、書面作業(yè)、上機實驗、綜合練習(xí))期末考試(70%)課程成績6TheoryofDatabase課程內(nèi)容基礎(chǔ)篇設(shè)計與開發(fā)篇系統(tǒng)篇應(yīng)用篇一、緒論
二、關(guān)系數(shù)據(jù)庫
三、關(guān)系數(shù)據(jù)庫
標(biāo)準(zhǔn)語言SQL
四、數(shù)據(jù)庫安全性
五、數(shù)據(jù)庫完整性數(shù)據(jù)庫系統(tǒng)設(shè)計
POWERBUILDER9.0、SQLSERVER2000六、關(guān)系數(shù)據(jù)理論
七、數(shù)據(jù)庫設(shè)計
八、數(shù)據(jù)庫編程十、數(shù)據(jù)庫恢復(fù)技術(shù)
十一、并發(fā)控制
十二、數(shù)據(jù)庫管理系統(tǒng)(SQLSERVER2000)
十三、數(shù)據(jù)庫技術(shù)
新發(fā)展7TheoryofDatabase數(shù)據(jù)庫原理TheoryofDatabase第一章緒論8TheoryofDatabase數(shù)據(jù)庫產(chǎn)生的背景1、數(shù)據(jù)密集型應(yīng)用特點:
a、涉及的數(shù)據(jù)量大;
b、數(shù)據(jù)不隨程序結(jié)束而消失;
c、數(shù)據(jù)被多個應(yīng)用程序所共享;2、應(yīng)用領(lǐng)域的驅(qū)動
a、產(chǎn)品數(shù)據(jù)管理PDM,計算機輔助設(shè)計;
b、信息管理系統(tǒng)、情報檢索系統(tǒng);數(shù)據(jù)庫是計算機科學(xué)技術(shù)的重要技術(shù)和研究課題。9TheoryofDatabase數(shù)據(jù)庫的地位數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支。數(shù)據(jù)庫技術(shù)是信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進了計算機應(yīng)用向各行各業(yè)的滲透。數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標(biāo)志。10TheoryofDatabase第一章緒論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é)11TheoryofDatabase1.1數(shù)據(jù)庫系統(tǒng)概述
1.1.1四個基本概念1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.1.3數(shù)據(jù)庫系統(tǒng)的特點
12TheoryofDatabase1.1.1四個基本概念數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)DatabaseManagementSystem數(shù)據(jù)庫系統(tǒng)(DBS)DatabaseSystem13TheoryofDatabase一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象定義反映客觀世界的事實,并可以互相區(qū)分其特征的符號。例如:一個學(xué)生:學(xué)號、姓名、性別、年齡、班級等。種類(實在的事物或抽象的事物)文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運輸情況等。特點數(shù)據(jù)與其語義是不可分的。14TheoryofDatabase數(shù)據(jù)舉例數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。例如:93是一個數(shù)據(jù)語義1:學(xué)生某門課的成績93分語義2:火車票的價格93元語義3:三年級的學(xué)生人數(shù)93人語義4:請同學(xué)給出……15TheoryofDatabase數(shù)據(jù)舉例學(xué)生檔案中的學(xué)生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學(xué)生姓名、性別、出生年月、籍貫、所在院系、入學(xué)時間解釋:李明是個男生,1972年5月出生,江蘇南京市人,1990年考入計算機系請給出另一個解釋和語義16TheoryofDatabase二、數(shù)據(jù)庫定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合?;咎卣鲾?shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享、冗余度較小數(shù)據(jù)獨立性較高、易擴展針對明確的目標(biāo)而設(shè)計、建立、加載(為用戶服務(wù))數(shù)據(jù)庫應(yīng)該反映現(xiàn)實世界中的某一方面(靜態(tài)和動態(tài)特征)17TheoryofDatabase三、數(shù)據(jù)庫管理系統(tǒng)DBMS:對DB中data進行存儲和管理的軟件系統(tǒng)。位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件;是基礎(chǔ)軟件,是一個大型復(fù)雜的軟件系統(tǒng);分類小型:ACESS,FOXPRO,DBASE等。大型:DB2,ORACLE,SQLSERVER,INFORMIX等。18TheoryofDatabase硬件平臺基礎(chǔ)軟件平臺軟件基礎(chǔ)構(gòu)架平臺應(yīng)用軟件平臺軟件產(chǎn)品協(xié)同軟件辦公軟件數(shù)據(jù)庫系統(tǒng)操作系統(tǒng)中間件應(yīng)用服務(wù)器數(shù)據(jù)庫在計算機系統(tǒng)中的位置19TheoryofDatabaseDBMS的主要功能數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(shù)據(jù)組織、存儲和管理提供數(shù)據(jù)操縱語言(DML),實現(xiàn)對數(shù)據(jù)庫的基本操作(查詢、插入、刪除和修改)分類組織、存儲和管理各種數(shù)據(jù)確定組織數(shù)據(jù)的文件結(jié)構(gòu)和存取方式實現(xiàn)數(shù)據(jù)之間的聯(lián)系提供多種存取方法提高存取效率提供數(shù)據(jù)定義語言(DDL),定義數(shù)據(jù)庫中的數(shù)據(jù)對象事務(wù)管理和運行管理數(shù)據(jù)庫的運行和維護其它功能保證數(shù)據(jù)的安全性、完整性多用戶對數(shù)據(jù)的并發(fā)使用。發(fā)生故障后的系統(tǒng)恢復(fù)數(shù)據(jù)庫初始數(shù)據(jù)裝載轉(zhuǎn)換,數(shù)據(jù)庫轉(zhuǎn)儲,介質(zhì)故障恢復(fù),數(shù)據(jù)庫的重組織,性能監(jiān)視分析等DBMS與其它軟件系統(tǒng)的通信,兩個DBMS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換,異構(gòu)數(shù)據(jù)庫之間的互訪和互操作20TheoryofDatabase四、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡稱DBS)在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫系統(tǒng)的構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員
21TheoryofDatabase
數(shù)據(jù)庫
應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具
操作系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理員用戶用戶用戶數(shù)據(jù)庫系統(tǒng)22TheoryofDatabase1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1四個基本概念
1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.1.3數(shù)據(jù)庫系統(tǒng)的特點23TheoryofDatabase數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護;數(shù)據(jù)處理的中心問題;數(shù)據(jù)管理技術(shù)的發(fā)展動力應(yīng)用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展24TheoryofDatabase數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù))數(shù)據(jù)管理技術(shù)的發(fā)展過程20世紀(jì)60年代末--現(xiàn)在20世紀(jì)50年代末--60年代中20世紀(jì)40年代中期--50年代中期人工管理階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段25TheoryofDatabase一、人工管理階段時期20世紀(jì)40年代中--50年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算 硬件水平 無直接存取存儲設(shè)備軟件水平 沒有操作系統(tǒng) 處理方式 批處理 26TheoryofDatabase人工管理階段(續(xù))特點數(shù)據(jù)的管理者:用戶(程序員),數(shù)據(jù)不保存數(shù)據(jù)面向的對象:某一應(yīng)用程序數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力:應(yīng)用程序自己控制27TheoryofDatabase應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理階段)應(yīng)用程序1數(shù)據(jù)集1應(yīng)用程序2數(shù)據(jù)集2應(yīng)用程序n數(shù)據(jù)集n...…...…28TheoryofDatabase二、文件系統(tǒng)階段時期20世紀(jì)50年代末--60年代中產(chǎn)生的背景應(yīng)用需求 科學(xué)計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理
29TheoryofDatabase文件系統(tǒng)階段(續(xù))特點數(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ù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結(jié)構(gòu)改變必須修改應(yīng)用程序數(shù)據(jù)控制能力:應(yīng)用程序自己控制30TheoryofDatabase應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(文件系統(tǒng)階段)應(yīng)用程序1文件1應(yīng)用程序2文件2應(yīng)用程序n文件n存取方法...…...…31TheoryofDatabase文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu);數(shù)據(jù)的結(jié)構(gòu)是靠程序定義和解釋的;數(shù)據(jù)只能是定長的;可以間接實現(xiàn)數(shù)據(jù)變長要求,但訪問相應(yīng)數(shù)據(jù)的應(yīng)用程序復(fù)雜了。文件間是獨立的,因此數(shù)據(jù)整體無結(jié)構(gòu);可以間接實現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對描述數(shù)據(jù)間的聯(lián)系。數(shù)據(jù)的最小存取單位是記錄;32TheoryofDatabase三、數(shù)據(jù)庫系統(tǒng)階段時期20世紀(jì)60年代末以來產(chǎn)生的背景應(yīng)用背景 大規(guī)模管理 硬件背景 大容量磁盤、磁盤陣列 軟件背景 有數(shù)據(jù)庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理 33TheoryofDatabase應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng))DBMS應(yīng)用程序1應(yīng)用程序2數(shù)據(jù)庫…34TheoryofDatabase1.1數(shù)據(jù)庫系統(tǒng)概述1.1.1四個基本概念1.1.2數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展
1.1.3數(shù)據(jù)庫系統(tǒng)的特點35TheoryofDatabase1.1.3數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)獨立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制36TheoryofDatabase數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一整體結(jié)構(gòu)化不再僅僅針對某一個應(yīng)用,而是面向全組織不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之間具有聯(lián)系數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結(jié)構(gòu)化數(shù)據(jù)的結(jié)構(gòu)用數(shù)據(jù)模型描述,無需程序定義和解釋數(shù)據(jù)可以變長數(shù)據(jù)的最小存取單位是數(shù)據(jù)項37TheoryofDatabase數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個系統(tǒng),可以被多個用戶、多個應(yīng)用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲空間避免數(shù)據(jù)之間的不相容性與不一致性使系統(tǒng)易于擴充38TheoryofDatabase數(shù)據(jù)獨立性高物理獨立性指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。邏輯獨立性指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變。數(shù)據(jù)獨立性是由DBMS的二級映像功能來保證的39TheoryofDatabase數(shù)據(jù)由DBMS統(tǒng)一管理和控制DBMS提供的數(shù)據(jù)控制功能(1)數(shù)據(jù)的安全性(Security)保護保護數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。(2)數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關(guān)系。(3)并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結(jié)果。(4)數(shù)據(jù)庫恢復(fù)(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)。40TheoryofDatabase第一章緒論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é)41TheoryofDatabase1.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)系模型42TheoryofDatabase數(shù)據(jù)模型在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講,數(shù)據(jù)模型就是對現(xiàn)實世界的模擬,建模。數(shù)據(jù)模型應(yīng)滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn)43TheoryofDatabase
1.2.1兩大類數(shù)據(jù)模型數(shù)據(jù)模型分為兩類(分屬兩個不同的層次)(1)概念模型也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設(shè)計。(2)邏輯模型和物理模型(數(shù)據(jù)模型)邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?,按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。44TheoryofDatabase兩大類數(shù)據(jù)模型(續(xù))客觀對象的抽象過程---兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。45TheoryofDatabase兩大類數(shù)據(jù)模型(續(xù))DBMS支持的數(shù)據(jù)模型概念模型認(rèn)識抽象信息世界機器世界現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界現(xiàn)實世界概念模型數(shù)據(jù)庫設(shè)計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數(shù)據(jù)庫設(shè)計人員完成46TheoryofDatabase1.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)系模型47TheoryofDatabase1.2.2數(shù)據(jù)模型的組成三要素數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束條件48TheoryofDatabase一、數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系描述的內(nèi)容與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關(guān)的對象與數(shù)據(jù)之間聯(lián)系有關(guān)的對象數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述49TheoryofDatabase二、數(shù)據(jù)操作數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關(guān)的操作規(guī)則數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)50TheoryofDatabase數(shù)據(jù)操作(續(xù))數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述51TheoryofDatabase三、數(shù)據(jù)的完整性約束條件數(shù)據(jù)的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。52TheoryofDatabase數(shù)據(jù)的完整性約束條件(續(xù))數(shù)據(jù)模型對完整性約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應(yīng)用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。53TheoryofDatabase第三講數(shù)據(jù)庫原理概念模型復(fù)習(xí)內(nèi)容1.1數(shù)據(jù)庫系統(tǒng)概述四個基本概念數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.2數(shù)據(jù)模型
兩個層次的模型模型的三要素
概念模型(E-R圖)
機器支持的數(shù)據(jù)模型概念模型(E-R圖)現(xiàn)實世界55TheoryofDatabase1.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)系模型56TheoryofDatabase1.2.3概念模型信息世界中的基本概念兩個實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系單個實體型內(nèi)的聯(lián)系概念模型的一種表示方法一個實例57TheoryofDatabase概念模型用途概念模型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次是數(shù)據(jù)庫設(shè)計的有力工具數(shù)據(jù)庫設(shè)計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應(yīng)用中的各種語義知識簡單、清晰、易于用戶理解58TheoryofDatabase一、信息世界中的基本概念(1)實體(Entity)
客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。
(3)碼(Key)唯一標(biāo)識實體的屬性集稱為碼。59TheoryofDatabase信息世界中的基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6)實體集(EntitySet)同一類型實體的集合稱為實體集60TheoryofDatabase信息世界中的基本概念(續(xù))(7)聯(lián)系(Relationship)
現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系61TheoryofDatabase二、兩個實體型之間的聯(lián)系實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)系名1n1:n聯(lián)系實體型A實體型B聯(lián)系名mnm:n聯(lián)系實體型B用圖形來表示兩個實體型之間的這三類聯(lián)系
62TheoryofDatabase二、兩個實體型之間的聯(lián)系(續(xù))一對一聯(lián)系(1:1)定義:如果對于實體集A中的每一個實體,實體集B中只有一個實體與之聯(lián)系,反之亦然,則實體集A與實體集B具有一對一聯(lián)系,記為1:1
實例一個班級只有一個班長一個班長只在一個班中任職班級班級-班長班長111:1聯(lián)系63TheoryofDatabase兩個實體型之間的聯(lián)系(續(xù))一對多聯(lián)系(1:n)定義:如果對于實體集A中的每一個實體,實體集B中有多個實體與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n實例一個班級中有若干名學(xué)生,每個學(xué)生只在一個班級中學(xué)習(xí)班級組成學(xué)生1n1:n聯(lián)系64TheoryofDatabase兩個實體型之間的聯(lián)系(續(xù))多對多聯(lián)系(m:n)定義:如果對于實體集A中的每一個實體,實體集B中有多個實體與之聯(lián)系;反之,對于實體集B中的每一個實體,實體集A中也有多個實體與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n實例課程與學(xué)生之間的聯(lián)系:一門課程同時有若干個學(xué)生選修一個學(xué)生可以同時選修多門課程課程選修學(xué)生mnm:n聯(lián)系65TheoryofDatabase三、兩個以上實體型之間的聯(lián)系兩個以上實體型之間一對多聯(lián)系若實體集E1,E2,...,En存在聯(lián)系,對于實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯(lián)系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯(lián)系是一對多的66TheoryofDatabase兩個以上實體型之間的聯(lián)系(續(xù))實例
課程、教師與參考書三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個以上實體型間1:n聯(lián)系參考書n67TheoryofDatabase兩個以上實體型之間的聯(lián)系(續(xù))多個實體型間的一對一聯(lián)系兩個以上實體型間的多對多聯(lián)系實例
供應(yīng)商、項目、零件三個實體型一個供應(yīng)商可以供給多個項目多種零件每個項目可以使用多個供應(yīng)商供應(yīng)的零件每種零件可由不同供應(yīng)商供給供應(yīng)商供應(yīng)項目mp兩個以上實體型間m:n聯(lián)系零件n68TheoryofDatabase四、單個實體型內(nèi)的聯(lián)系一對多聯(lián)系實例
職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工(干部)“領(lǐng)導(dǎo)”若干名職工一個職工僅被另外一個職工直接領(lǐng)導(dǎo)這是一對多的聯(lián)系一對一聯(lián)系
請舉例(雙職工情況)職工領(lǐng)導(dǎo)1n單個實體型內(nèi)部1:n聯(lián)系69TheoryofDatabase單個實體型內(nèi)的聯(lián)系實體型1聯(lián)系名mn單個實體型內(nèi)的m:n聯(lián)系多對多聯(lián)系請舉例(零件)70TheoryofDatabase五、概念模型的一種表示方法實體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型71TheoryofDatabaseE-R圖實體型用矩形表示,矩形框內(nèi)寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來學(xué)生教師學(xué)生學(xué)號年齡性別姓名72TheoryofDatabaseE-R圖(續(xù))聯(lián)系聯(lián)系本身:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(1:1、1:n或m:n)73TheoryofDatabase聯(lián)系的表示方法實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)系名1n1:n聯(lián)系實體型A實體型B聯(lián)系名mnm:n聯(lián)系實體型B74TheoryofDatabase聯(lián)系的表示方法示例班級班級-班長班長111:1聯(lián)系課程選修學(xué)生mnm:n聯(lián)系班級組成學(xué)生1n1:n聯(lián)系75TheoryofDatabase聯(lián)系的屬性課程選修學(xué)生mn成績聯(lián)系的屬性:聯(lián)系本身也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來
76TheoryofDatabase六、一個實例用E-R圖表示某個工廠物資管理的概念模型實體及其屬性倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規(guī)格、單價、描述供應(yīng)商:供應(yīng)商號、姓名、地址、電話號碼、帳號項目:項目號、預(yù)算、開工日期職工:職工號、姓名、年齡、職稱77TheoryofDatabase一個實例實體之間的聯(lián)系如下:
(1)一個倉庫可存放多種零件,一種零件可以存放在多個倉庫中。
倉庫和零件間有多對多聯(lián)系。用庫存量表示某零件在某倉庫中的數(shù)量,即聯(lián)系的屬性。(2)一個倉庫有多個職工當(dāng)保管員,一個職工只在一個倉庫工作。
倉庫和職工之間是一對多的聯(lián)系。(3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉庫主任領(lǐng)導(dǎo)若干保管員。
職工實體型中具有一對多的聯(lián)系。(4)供應(yīng)商、項目和零件三者之間具有多對多的聯(lián)系。78TheoryofDatabase一個實例79TheoryofDatabase1.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)系模型80TheoryofDatabase1.2.4最常用的數(shù)據(jù)模型非關(guān)系模型層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關(guān)系模型(RelationalModel)面向?qū)ο竽P?ObjectOrientedModel)對象關(guān)系模型(ObjectRelationalModel)81TheoryofDatabase1.2.5層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫管理系統(tǒng)層次模型用樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系
82TheoryofDatabase一、層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次模型
滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1.有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點2.根以外的其它結(jié)點有且只有一個雙親結(jié)點層次模型中的幾個術(shù)語根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點83TheoryofDatabase層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))
R1
根結(jié)點
R2
兄弟結(jié)點
R3
葉結(jié)點
R4
兄弟結(jié)點
R5
葉結(jié)點
葉結(jié)點圖1.16一個層次模型的示例84TheoryofDatabase層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))層次模型的特點:結(jié)點的雙親是唯一的只能直接處理一對多的實體聯(lián)系每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義子女記錄值不能脫離雙親記錄值而獨立存在85TheoryofDatabase層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.17教員學(xué)生層次數(shù)據(jù)庫模型根結(jié)點系的子女結(jié)點教員的雙親結(jié)點葉結(jié)點葉結(jié)點字段86TheoryofDatabase層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.18教員學(xué)生層次數(shù)據(jù)庫的一個值
87TheoryofDatabase二、多對多聯(lián)系在層次模型中的表示多對多聯(lián)系在層次模型中的表示用層次模型間接表示多對多聯(lián)系方法:將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結(jié)點法虛擬結(jié)點法88TheoryofDatabase三、層次模型的數(shù)據(jù)操縱與完整性約束
層次模型的數(shù)據(jù)操縱查詢插入刪除更新89TheoryofDatabase層次模型的數(shù)據(jù)操縱與完整性約束(續(xù))層次模型的完整性約束條件
無相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值如果刪除雙親結(jié)點值,相應(yīng)的子女結(jié)點也被同時刪除更新操作時,應(yīng)更新所有相應(yīng)記錄,保證數(shù)據(jù)一致性90TheoryofDatabase四、層次數(shù)據(jù)模型的存儲結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序91TheoryofDatabase層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))圖1.20層次數(shù)據(jù)庫及其實例………C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集
92TheoryofDatabase層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))鏈接法用指針來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法93TheoryofDatabase層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))子女-兄弟鏈接法每個記錄設(shè)兩類指針,分別指向最左邊的子女(每個記錄型對應(yīng)一個)和最近的兄弟94TheoryofDatabase層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次序列鏈接法按樹的前序穿越順序鏈接各記錄值95TheoryofDatabase五、層次模型的優(yōu)缺點優(yōu)點層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰
查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜
查詢子女結(jié)點必須通過雙親結(jié)點由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化
96TheoryofDatabase1.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)系模型97TheoryofDatabase1.2.6網(wǎng)狀模型網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式典型代表是DBTG系統(tǒng):亦稱CODASYL系統(tǒng)70年代由DBTG提出的一個系統(tǒng)方案奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù)實際系統(tǒng)CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE98TheoryofDatabase一、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合:1.允許一個以上的結(jié)點無雙親;2.一個結(jié)點可以有多于一個的雙親。99TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表示方法(與層次數(shù)據(jù)模型相同)實體型:用記錄類型描述每個結(jié)點表示一個記錄類型(實體)屬性:用字段描述每個記錄類型可包含若干個字段聯(lián)系:用結(jié)點之間的連線表示記錄類型(實體)之間的一對多的父子聯(lián)系100TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個結(jié)點沒有雙親結(jié)點網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系)網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網(wǎng)狀模型的一個特例101TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀模型中子女結(jié)點與雙親結(jié)點的聯(lián)系可以不唯一要為每個聯(lián)系命名,并指出與該聯(lián)系有關(guān)的雙親記錄和子女記錄
R1與R3之間的聯(lián)系L1R2與R3之間的聯(lián)系L2
R1R3R2L1L2(a)102TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))(b)網(wǎng)狀模型的例子
(c)R1R2R3L1L2R1R5R2L1R4L2L3L4L5103TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系方法:將多對多聯(lián)系直接分解成一對多聯(lián)系104TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例如:一個學(xué)生可以選修若干門課程,某一課程可以被多個學(xué)生選修,學(xué)生與課程之間是多對多聯(lián)系引進一個學(xué)生選課的聯(lián)結(jié)記錄,由3個數(shù)據(jù)項組成學(xué)號課程號成績表示某個學(xué)生選修某一門課程及其成績105TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.24學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)模型S-SCC-SC學(xué)生課程選課學(xué)號姓名系別課程號課程名學(xué)分學(xué)號課程號成績106TheoryofDatabase二、網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼:唯一標(biāo)識記錄的數(shù)據(jù)項的集合
一個聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件
107TheoryofDatabase三、網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)關(guān)鍵實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接108TheoryofDatabase網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))學(xué)生記錄課程記錄選課記錄S1S2S3S4C1C2C3S1C1AS1C2AS2C1AS2C3BS3C1BS3C2BS4C1AS4C2AS4C3B圖1.25學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫實例109TheoryofDatabase四、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親具有良好的性能,存取效率較高缺點結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握DDL、DML語言復(fù)雜,用戶不容易使用110TheoryofDatabase第五講數(shù)據(jù)庫原理關(guān)系模型1.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)系模型112TheoryofDatabase1.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)系模型計算機廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型
113TheoryofDatabase一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)
在用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。關(guān)系模型中的一些術(shù)語:
關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一張表
元組(Tuple)
:表中的一行即為一個元組
屬性(Attribute):表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名
碼(Key):也稱為碼鍵。表中的某個屬性組,它可以唯一確定一個元組。114TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))學(xué)號姓名年齡性別系名年級2005004王小明19女社會學(xué)20052005006黃大鵬20男商品學(xué)20052005008張文斌18女法律2005………………學(xué)生登記表屬性元組以學(xué)生登記表為例,認(rèn)識以上四個術(shù)語。關(guān)系碼115TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))繼續(xù)學(xué)習(xí)關(guān)系模型中的幾個術(shù)語:域(Domain):屬性的取值范圍。分量:元組中的一個屬性值。關(guān)系模式:對關(guān)系的描述,一般表示為:關(guān)系名(屬性1,屬性2,…,屬性n)例如,上面學(xué)生登記表的關(guān)系可描述為:學(xué)生(學(xué)號,姓名,年齡,性別,系,年級)116TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))在關(guān)系模型中,實體以及實體間的聯(lián)系都是用關(guān)系表示例1:學(xué)生、系、系與學(xué)生之間的一對多聯(lián)系:學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2:系、系主任、系與系主任間的一對一聯(lián)系117TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例3:學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系:
學(xué)生(學(xué)號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)118TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))關(guān)系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個分量必須是一個不可分的數(shù)據(jù)項,
不允許表中還有表。
例如,職工號姓名職稱工資扣除實發(fā)基本津貼職務(wù)房租水電86051陳平講師13051200501601122283圖1.27一個工資表(表中有表)實例工資和扣除是可分的數(shù)據(jù)項不符合關(guān)系模型要求119TheoryofDatabase關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))表1.2術(shù)語對比關(guān)系術(shù)語一般表格的術(shù)語關(guān)系名關(guān)系模式關(guān)系元組屬性屬性名屬性值分量非規(guī)范關(guān)系表名表頭(表格的描述)(一張)二維表記錄或行列列名列值一條記錄中的一個列值表中有表(大表中嵌有小表)120TheoryofDatabase二、關(guān)系數(shù)據(jù)模型的操縱與完整性約束數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系查詢插入刪除更新數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細(xì)說明“怎么干”121TheoryofDatabase關(guān)系數(shù)據(jù)模型的操縱與完整性約束(續(xù))關(guān)系的完整性約束條件實體完整性參照完整性用戶定義的完整性122TheoryofDatabase三、關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu)實體及實體間的聯(lián)系都用表來表示表以文件形式存儲有的DBMS一個表對應(yīng)一個操作系統(tǒng)文件有的DBMS自己設(shè)計文件結(jié)構(gòu)123TheoryofDatabase四、關(guān)系數(shù)據(jù)模型的優(yōu)缺點優(yōu)點建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上概念單一實體和各類聯(lián)系都用關(guān)系來表示對數(shù)據(jù)的檢索結(jié)果也是關(guān)系關(guān)系模型的存取路徑對用戶透明具有更高的數(shù)據(jù)獨立性,更好的安全保密性簡化了程序員的工作,降低了數(shù)據(jù)庫系統(tǒng)開發(fā)的難度124TheoryofDatabase關(guān)系數(shù)據(jù)模型的優(yōu)缺點(續(xù))缺點存取路徑對用戶透明導(dǎo)致查詢效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)DBMS的難度125TheoryofDatabase第一章緒論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é)126TheoryofDatabase1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu),是數(shù)據(jù)庫系統(tǒng)內(nèi)部的系統(tǒng)結(jié)構(gòu)
從數(shù)據(jù)庫最終用戶角度看(數(shù)據(jù)庫系統(tǒng)外部的體系結(jié)構(gòu)),數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為:單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/服務(wù)器瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器多層結(jié)構(gòu)等127TheoryofDatabase數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
1.3.4從用戶角度看數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)128TheoryofDatabase1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念“型”和“值”的概念型(Type)對某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明值(Value)是型的一個具體賦值例如:學(xué)生記錄型:(學(xué)號,姓名,性別,系別,年齡,籍貫)一個記錄值:(900201,李明,男,計算機,22,江蘇)129TheoryofDatabase數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))模式(Schema)數(shù)據(jù)庫邏輯結(jié)構(gòu)和特征的描述是型的描述反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系模式是相對穩(wěn)定的實例(Instance)模式的一個具體值反映數(shù)據(jù)庫某一時刻的狀態(tài)同一個模式可以有很多實例實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動130TheoryofDatabase數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))例如:在學(xué)生選課數(shù)據(jù)庫模式中,包含學(xué)生記錄、課程記錄和學(xué)生選課記錄
2008年的一個學(xué)生數(shù)據(jù)庫實例,包含:2008年學(xué)校中所有學(xué)生的記錄學(xué)校開設(shè)的所有課程的記錄所有學(xué)生選課的記錄
2008年度學(xué)生數(shù)據(jù)庫模式對應(yīng)的實例與
2008年度學(xué)生數(shù)據(jù)庫模式對應(yīng)的實例是不同的131TheoryofDatabase數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)
1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
1.3.4從用戶角度看數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)132TheoryofDatabase1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)外模式(ExternalSchema)模式(Schema)內(nèi)模式(InternalSchema)三級模式133TheoryofDatabase數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)(續(xù))圖1.28數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)134TheoryofDatabase一、模式(Schema)模式(也稱邏輯模式)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求一個數(shù)據(jù)庫只有一個模式模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層與數(shù)據(jù)的物理存儲細(xì)節(jié)和硬件環(huán)境無關(guān)與具體的應(yīng)用程序、開發(fā)工具及高級程序設(shè)計語言無關(guān)135TheoryofDatabase模式(續(xù))模式的定義數(shù)據(jù)的邏輯結(jié)構(gòu)(數(shù)據(jù)項的名字、類型、取值范圍等)數(shù)據(jù)之間的聯(lián)系與數(shù)據(jù)有關(guān)的安全性、完整性要求136TheoryofDatabase二、外模式(ExternalSchema)外模式(也稱子模式或用戶模式)數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示137TheoryofDatabase外模式(續(xù))外模式的地位:介于模式與應(yīng)用之間模式與外模式的關(guān)系:一對多外模式通常是模式的子集一個數(shù)據(jù)庫可以有多個外模式。反映了不同的用戶的應(yīng)用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可以不同外模式與應(yīng)用的關(guān)系:一對多同一外模式也可以為某一用戶的多個應(yīng)用系統(tǒng)所使用但一個應(yīng)用程序只能使用一個外模式138TheoryofDatabase外模式(續(xù))外模式的用途保證數(shù)據(jù)庫安全性的一個有力措施每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù)139TheoryofDatabase三、內(nèi)模式(InternalSchema)內(nèi)模式(也稱存儲模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲方式的描述是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式記錄的存儲方式(順序存儲,按照B樹結(jié)構(gòu)存儲,按hash方法存儲)索引的組織方式數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否加密數(shù)據(jù)存儲記錄結(jié)構(gòu)的規(guī)定一個數(shù)據(jù)庫只有一個內(nèi)模式140TheoryofDatabase內(nèi)模式(續(xù))例如學(xué)生記錄,如果按堆存儲,則插入一條新記錄總是放在學(xué)生記錄存儲的最后,如右圖所示。S10S5S1S6S7S9新插入S3(a)141TheoryofDatabase內(nèi)模式(續(xù))如果按學(xué)號升序存儲,則插入一條記錄就要找到它應(yīng)在的位置插入,如圖1.29(b)所示圖1.29記錄不同的存儲方式示意圖S1S5S6S7S9S10(b)新插入S3S116S616S1016S517S717S918(c)新插入S3如果按照學(xué)生年齡聚簇存放,假如新插入的S3是16歲,則應(yīng)插入的位置如圖
1.29(c)所示142TheoryofDatabase數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)(續(xù))1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
1.3.4從用戶角度看數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)143TheoryofDatabase1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性三級模式是對數(shù)據(jù)的三個抽象級別二級映像在DBMS內(nèi)部實現(xiàn)這三個抽象層次的聯(lián)系和轉(zhuǎn)換外模式/模式映像模式/內(nèi)模式映像144TheoryofDatabase一、外模式/模式映像模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)同一個模式可以有任意多個外模式每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映像,定義外模式與模式之間的對應(yīng)關(guān)系映像定義通常包含在各自外模式的描述中145TheoryofDatabase外模式/模式映像(續(xù))保證數(shù)據(jù)的邏輯獨立性當(dāng)模式改變時,數(shù)據(jù)庫管理員修改有關(guān)的外模式/模式映象,使外模式保持不變應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。146TheoryofDatabase二、模式/內(nèi)模式映像模式/內(nèi)模式映像定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。例如,說明邏輯記錄和字段在內(nèi)部是如何表示的數(shù)據(jù)庫中模式/內(nèi)模式映像是唯一的該映像定義通常包含在模式描述中147TheoryofDatabase模式/內(nèi)模式映像(續(xù))保證數(shù)據(jù)的物理獨立性當(dāng)數(shù)據(jù)庫的存儲結(jié)構(gòu)改變了(例如選用了另一種存儲結(jié)構(gòu)),數(shù)據(jù)庫管理員修改模式/內(nèi)模式映像,使模式保持不變應(yīng)用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。148TheoryofDatabase三級模式、兩種映像數(shù)據(jù)庫模式即全局邏輯結(jié)構(gòu)是數(shù)據(jù)庫的中心與關(guān)鍵獨立于數(shù)據(jù)庫的其他層次設(shè)計數(shù)據(jù)庫模式結(jié)構(gòu)時應(yīng)首先確定數(shù)據(jù)庫的邏輯模式149TheoryofDatabase三級模式、兩種映像數(shù)據(jù)庫的內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu)獨立于數(shù)據(jù)庫的用戶視圖,即外模式獨立于具體的存儲設(shè)備將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率
150TheoryofDatabase三級模式、兩種映像數(shù)據(jù)庫的外模式面向具體的應(yīng)用程序定義在邏輯模式之上獨立于存儲模式和存儲設(shè)備當(dāng)應(yīng)用需求發(fā)生較大變化,相應(yīng)外模式不能滿足其視圖要求時,該外模式就得做相應(yīng)改動設(shè)計外模式時應(yīng)充分考慮到應(yīng)用的擴充性
151TheoryofDatabase三級模式、兩種映像特定的應(yīng)用程序在外模式描述的數(shù)據(jù)結(jié)構(gòu)上編制的依賴于特定的外模式與數(shù)據(jù)庫的模式和存儲結(jié)構(gòu)獨立不同的應(yīng)用程序有時可以共用同一個外模式數(shù)據(jù)庫的二級映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性從底層保證了應(yīng)用程序的穩(wěn)定性,除非應(yīng)用需求本身發(fā)生變化,否則應(yīng)用程序一般不需要修改
152TheoryofDatabase三級模式、兩種映像數(shù)據(jù)與程序之間的獨立性,使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去數(shù)據(jù)的存取由DBMS管理用戶不必考慮存取路徑等細(xì)節(jié)簡化了應(yīng)用程序的編制大大減少了應(yīng)用程序的維護和修改
153TheoryofDatabase1.3.1數(shù)據(jù)庫系統(tǒng)模式的概念1.3.2數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)1.3.3數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性
1.3.4從用戶角度看數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)154TheoryofDatabase1.3.4從用戶角度看數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)單用戶結(jié)構(gòu)主從式結(jié)構(gòu)分布式結(jié)構(gòu)客戶/服務(wù)器結(jié)構(gòu)瀏覽器/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)155TheoryofDatabase一、單用戶數(shù)據(jù)庫系統(tǒng)整個數(shù)據(jù)庫系統(tǒng)(應(yīng)用程序、DBMS、數(shù)據(jù))裝在一臺計算機上,為一個用戶獨占,不同機器之間不能共享數(shù)據(jù)。早期的最簡單的數(shù)據(jù)庫系統(tǒng)156TheoryofDatabase二、主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)一個主機帶多個終端的多用戶結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng),包括應(yīng)用程序、DBMS、數(shù)據(jù),都集中存放在主機上,所有處理任務(wù)都由主機來完成各個用戶通過終端并發(fā)地存取數(shù)據(jù)庫,共享數(shù)據(jù)資源157TheoryofDatabase主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)主機終端158TheoryofDatabase主從式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))優(yōu)點易于管理、控制與維護。缺點當(dāng)終端用戶數(shù)目增加到一定程度后,主機的任務(wù)會過分繁重,成為瓶頸,從而使系統(tǒng)性能下降。系統(tǒng)的可靠性依賴主機,當(dāng)主機出現(xiàn)故障時,整個系統(tǒng)都不能使用。159TheoryofDatabase三、分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)在邏輯上是一個整體,但物理地分布在計算機網(wǎng)絡(luò)的不同結(jié)點上。網(wǎng)絡(luò)中的每個結(jié)點都可以獨立處理本地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行局部應(yīng)用同時也可以同時存取和處理多個異地數(shù)據(jù)庫中的數(shù)據(jù),執(zhí)行全局應(yīng)用160TheoryofDatabase分布式結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)(續(xù))優(yōu)點適應(yīng)了地理上分散的公司、團體和組織對于數(shù)據(jù)庫應(yīng)用的需求。缺點數(shù)據(jù)的分布存放給數(shù)據(jù)的處理、管理與維護帶來困難。當(dāng)用戶需要經(jīng)常訪問遠(yuǎn)程數(shù)據(jù)時,系統(tǒng)效率會明顯地受到網(wǎng)絡(luò)傳輸?shù)闹萍s。161TheoryofDatabase四、客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒ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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024房產(chǎn)租賃合同簡單版協(xié)議書
- 2024解除勞動合同證明書范文及注意事項
- 2024補償貿(mào)易設(shè)備進口合同書范本
- 食品安全總監(jiān)考試練習(xí)試題附答案
- 2月份消毒供應(yīng)中心業(yè)務(wù)學(xué)習(xí)、制度職責(zé)、應(yīng)急預(yù)案、三基理論考試專項試卷
- 2024年煉油、化工生產(chǎn)專用設(shè)備項目建議書
- 交付檢查體系及標(biāo)準(zhǔn)考試復(fù)習(xí)測試有答案
- 人員素質(zhì)測評理論與方法復(fù)習(xí)試題(一)
- 2024年食品篩選清洗機械合作協(xié)議書
- 2024造價技術(shù)咨詢服務(wù)合同范本
- 海姆立克急救操作考核評分標(biāo)準(zhǔn)
- 供應(yīng)商產(chǎn)品退貨記錄反饋單
- 我的家鄉(xiāng)甕安課件
- 瀝青路面結(jié)構(gòu)圖設(shè)計課件
- 水的凈化(上課用) 完整版PPT
- 初中數(shù)學(xué)人教七年級上冊(2023年更新) 一元一次方程合并同類項解一元一次方程教案
- 幼教優(yōu)質(zhì)課比賽評分表
- 腰椎間盤突出癥的護理 培訓(xùn)
- 血液透析中心各項制度
- 中級漢語練習(xí)題(一)
- 物資交舊領(lǐng)新管理辦法
評論
0/150
提交評論