版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Theory of Database1海闊憑魚躍海闊憑魚躍 天高任鳥飛天高任鳥飛石家莊鐵道學(xué)院石家莊鐵道學(xué)院 計算機與信息工程分院計算機與信息工程分院數(shù)據(jù)庫原理Theory of databaseTheory of Database3教材及參考書 教材教材 王珊,薩師煊:數(shù)據(jù)庫系統(tǒng)概論王珊,薩師煊:數(shù)據(jù)庫系統(tǒng)概論(第四版第四版),高等教育出版社,高等教育出版社,2006 參考書參考書 A First Course in Database Systems Jeffrey.D.Ullman, Jennifer Widom (美)斯坦福大學(xué) (數(shù)據(jù)庫系統(tǒng)基礎(chǔ)教程 機械工業(yè)出版社) 何玉潔:數(shù)據(jù)庫原理
2、與應(yīng)用,何玉潔:數(shù)據(jù)庫原理與應(yīng)用, 機械工業(yè)出版社,機械工業(yè)出版社,2007 樊金生等:樊金生等:Power Builder 9.0 實用教程實用教程 科學(xué)出版社,科學(xué)出版社,2004 上機軟件上機軟件 SQL SERVER 2000、PowerBuilder 9.0 Theory of Database4學(xué)習(xí)方式 聽課:啟發(fā)式、討論式 讀書:預(yù)習(xí)、復(fù)習(xí)、查閱大量資料 作業(yè)、實驗:課后作業(yè)、上機實驗、綜合練習(xí)Theory of Database5v 掌握數(shù)據(jù)庫相關(guān)概念、原理、設(shè)計方法v 對數(shù)據(jù)庫系統(tǒng)有一定了解(SQL Server2000)v 掌握數(shù)據(jù)庫開發(fā)工具如Power Builder 9
3、.0v 達(dá)到開發(fā)小型應(yīng)用系統(tǒng)的能力v 對數(shù)據(jù)庫的新發(fā)展、新技術(shù)有一定了解學(xué)習(xí)要求Theory of Database6v平時成績(30%) (考勤、書面作業(yè)、上機實驗、綜合練習(xí))v期末考試(70%)課程成績Theory of Database7課程內(nèi)容課程內(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è)計POWER BUILDER 9.0、SQL SERVER 2000六、關(guān)系數(shù)據(jù)理論七、數(shù)據(jù)庫設(shè)計八、數(shù)據(jù)庫編程十、 數(shù)據(jù)庫恢復(fù)技術(shù)十一、并發(fā)控制十二、數(shù)據(jù)庫管理系統(tǒng)(SQL SERVER 2000)十三、數(shù)
4、據(jù)庫技術(shù) 新發(fā)展Theory of Database8數(shù)數(shù) 據(jù)據(jù) 庫庫 原原 理理Theory of Database第一章第一章 緒論緒論Theory of Database9數(shù)據(jù)庫產(chǎn)生的背景數(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ù)和研究課題。Theory of Database10數(shù)據(jù)庫的地位數(shù)據(jù)庫的地位 數(shù)據(jù)庫技術(shù)產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支。 數(shù)據(jù)庫技術(shù)是
5、信息系統(tǒng)的核心和基礎(chǔ),它的出現(xiàn)極大地促進(jìn)了計算機應(yīng)用向各行各業(yè)的滲透。 數(shù)據(jù)庫的建設(shè)規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標(biāo)志。Theory of Database11第一章第一章 緒論緒論1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成1.5 小結(jié)小結(jié)Theory of Database121.1 數(shù)據(jù)庫系統(tǒng)概述 1.1.1 四個基本概念四個基本概念 1.1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點 Theory of
6、 Database131.1.1 四個基本概念四個基本概念數(shù)據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS) Database Management System數(shù)據(jù)庫系統(tǒng)(DBS) Database SystemTheory of Database14一、數(shù)據(jù)一、數(shù)據(jù)數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象 定義 反映客觀世界的事實,并可以互相區(qū)分其特征的符號。 例如:一個學(xué)生:學(xué)號、姓名、性別、年齡、班級等。 種類(實在的事物或抽象的事物) 文本、圖形、圖像、音頻、視頻、學(xué)生的檔案記錄、貨物的運輸情況等。 特點 數(shù)據(jù)與其語義是不可分的。Theory of Database
7、15數(shù)據(jù)舉例數(shù)據(jù)舉例 數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的。 例如: 93是一個數(shù)據(jù)語義1:學(xué)生某門課的成績93分語義2:火車票的價格93元語義3:三年級的學(xué)生人數(shù)93人語義4:請同學(xué)給出Theory of Database16數(shù)據(jù)舉例數(shù)據(jù)舉例 學(xué)生檔案中的學(xué)生記錄(李明,男,197205,江蘇南京市,計算機系,1990) 語義:學(xué)生姓名、性別、出生年月、籍貫、所在院系、 入學(xué)時間 解釋:李明是個男生,1972年5月出生,江蘇南京市人,1990年考入計算機系 請給出另一個解釋和語義Theory of Database17二、數(shù)據(jù)庫二、數(shù)據(jù)庫定義數(shù)據(jù)庫數(shù)據(jù)庫(Database,簡稱簡
8、稱DB)是是長期儲存長期儲存在計算機內(nèi)、在計算機內(nèi)、有有組織組織的、的、可共享可共享的的大量大量數(shù)據(jù)的集合。數(shù)據(jù)的集合?;咎卣?數(shù)據(jù)按一定的數(shù)據(jù)按一定的數(shù)據(jù)模型數(shù)據(jù)模型組織、描述和儲存組織、描述和儲存 可為各種用戶可為各種用戶共享共享、冗余度冗余度較小較小 數(shù)據(jù)獨立性數(shù)據(jù)獨立性較高、易擴展較高、易擴展 針對明確的目標(biāo)而設(shè)計、建立、加載(為用戶服務(wù))針對明確的目標(biāo)而設(shè)計、建立、加載(為用戶服務(wù)) 數(shù)據(jù)庫應(yīng)該反映現(xiàn)實世界中的某一方面(靜態(tài)和動態(tài)特征)數(shù)據(jù)庫應(yīng)該反映現(xiàn)實世界中的某一方面(靜態(tài)和動態(tài)特征)Theory of Database18三、數(shù)據(jù)庫管理系統(tǒng)三、數(shù)據(jù)庫管理系統(tǒng) DBMS:對DB中
9、data進(jìn)行存儲和管理的軟件系統(tǒng)。 位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件; 是基礎(chǔ)軟件,是一個大型復(fù)雜的軟件系統(tǒng) ; 分類 小型:ACESS, FOXPRO, DBASE等。 大型:DB2, ORACLE, SQL SERVER, INFORMIX等。Theory of Database19硬件平臺硬件平臺基礎(chǔ)軟件平臺基礎(chǔ)軟件平臺軟件基礎(chǔ)構(gòu)架平臺軟件基礎(chǔ)構(gòu)架平臺應(yīng)用軟件平臺應(yīng)用軟件平臺軟件產(chǎn)品軟件產(chǎn)品協(xié)同軟件協(xié)同軟件辦公軟件辦公軟件中間件中間件應(yīng)用服務(wù)應(yīng)用服務(wù)器器數(shù)據(jù)庫在計算機系統(tǒng)中的位置數(shù)據(jù)庫在計算機系統(tǒng)中的位置Theory of Database20DBMS的主要功能的主要功能數(shù)據(jù)定義
10、功能數(shù)據(jù)定義功能數(shù)據(jù)操縱功能數(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ù)管理和運行管理事務(wù)管理和運行管理數(shù)據(jù)庫的運行和維護(hù)數(shù)據(jù)庫的運行和維護(hù)其它功能其它功能保證數(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ù)
11、據(jù)轉(zhuǎn)換,異構(gòu)數(shù)據(jù)庫之間的互訪和互操作Theory of Database21四、數(shù)據(jù)庫系統(tǒng)四、數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(Database System,簡稱,簡稱DBS) 在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。在計算機系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成。數(shù)據(jù)庫系統(tǒng)的構(gòu)成數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員 Theory of Database22 數(shù)據(jù)庫數(shù)據(jù)庫 應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)應(yīng)用開發(fā)工具 操作系統(tǒng) 數(shù)據(jù)庫管理系數(shù)據(jù)庫管理系統(tǒng)統(tǒng) 數(shù)據(jù)庫管理員數(shù)據(jù)庫管理員用戶用戶用戶數(shù)數(shù)據(jù)據(jù)庫庫系系統(tǒng)統(tǒng)Theory of Database231.
12、1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 1.1.1 四個基本概念四個基本概念 1.1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點 Theory of Database24數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展什么是數(shù)據(jù)管理對數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲、檢索和維護(hù);數(shù)據(jù)處理的中心問題;數(shù)據(jù)管理技術(shù)的發(fā)展動力應(yīng)用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展Theory of Database25數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展(續(xù)續(xù))數(shù)據(jù)管理技術(shù)的發(fā)展過程 20世紀(jì)世紀(jì)60年年代末代末 -現(xiàn)在現(xiàn)在 20世紀(jì)世紀(jì)50年代末
13、年代末 -60年代中年代中 20世紀(jì)世紀(jì)40年年代中期代中期 -50年代中年代中期期人工管理階段人工管理階段文件系統(tǒng)階段文件系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)階段Theory of Database26一、人工管理階段一、人工管理階段時期20世紀(jì)40年代中-50年代中產(chǎn)生的背景應(yīng)用需求科學(xué)計算硬件水平無直接存取存儲設(shè)備軟件水平?jīng)]有操作系統(tǒng)處理方式批處理Theory of Database27人工管理階段人工管理階段(續(xù)續(xù))特點數(shù)據(jù)的管理者:用戶(程序員),數(shù)據(jù)不保存數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結(jié)構(gòu)化:無結(jié)構(gòu)數(shù)據(jù)控制能力
14、:應(yīng)用程序自己控制Theory of Database28應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(人工管理階段人工管理階段)應(yīng)用程序應(yīng)用程序1數(shù)據(jù)集數(shù)據(jù)集1應(yīng)用程序應(yīng)用程序2數(shù)據(jù)集數(shù)據(jù)集2應(yīng)用程序應(yīng)用程序數(shù)據(jù)集數(shù)據(jù)集n.Theory of Database29二、文件系統(tǒng)階段二、文件系統(tǒng)階段時期20世紀(jì)50年代末-60年代中產(chǎn)生的背景應(yīng)用需求科學(xué)計算、管理硬件水平磁盤、磁鼓軟件水平有文件系統(tǒng)處理方式聯(lián)機實時處理、批處理Theory of Database30文件系統(tǒng)階段文件系統(tǒng)階段(續(xù)續(xù))特點數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應(yīng)用程序 數(shù)據(jù)的共享程度:共享性差
15、、冗余度大數(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)用程序自己控制Theory of Database31應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(文件系統(tǒng)階段文件系統(tǒng)階段)應(yīng)用程序應(yīng)用程序文件文件應(yīng)用程序應(yīng)用程序文件文件2應(yīng)用程序應(yīng)用程序文件文件n存取存取方法方法.Theory of Database32文件系統(tǒng)中數(shù)據(jù)的結(jié)構(gòu)文件系統(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); 可以
16、間接實現(xiàn)數(shù)據(jù)整體的有結(jié)構(gòu),但必須在應(yīng)用程序中對描述數(shù)據(jù)間的聯(lián)系。 數(shù)據(jù)的最小存取單位是記錄;Theory of Database33三、數(shù)據(jù)庫系統(tǒng)階段三、數(shù)據(jù)庫系統(tǒng)階段時期20世紀(jì)60年代末以來產(chǎn)生的背景應(yīng)用背景大規(guī)模管理硬件背景大容量磁盤、磁盤陣列軟件背景有數(shù)據(jù)庫管理系統(tǒng)處理方式聯(lián)機實時處理,分布處理,批處理Theory of Database34應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系應(yīng)用程序與數(shù)據(jù)的對應(yīng)關(guān)系(數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng))DBMS應(yīng)用程序應(yīng)用程序1應(yīng)用程序應(yīng)用程序2數(shù)據(jù)庫數(shù)據(jù)庫Theory of Database351.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 1.1.1 四個基本概念四個基本概念 1.
17、1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點 Theory of Database361.1.3 數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)庫系統(tǒng)的特點數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)獨立性高數(shù)據(jù)獨立性高數(shù)據(jù)由數(shù)據(jù)由DBMSDBMS統(tǒng)一管理和控制統(tǒng)一管理和控制Theory of Database37數(shù)據(jù)結(jié)構(gòu)化數(shù)據(jù)結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一 整體結(jié)構(gòu)化 不再僅僅針對某一個應(yīng)用,而是面向全組織不再僅僅針對某一個應(yīng)用,而是面向全組織 不僅數(shù)據(jù)內(nèi)部結(jié)構(gòu)化,整體是結(jié)構(gòu)化的,數(shù)據(jù)之
18、間具有聯(lián)系不僅數(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ù)的結(jié)構(gòu)用數(shù)據(jù)模型數(shù)據(jù)模型描述,無需程序定義和解釋描述,無需程序定義和解釋 數(shù)據(jù)可以數(shù)據(jù)可以變長變長 數(shù)據(jù)的最小存取單位是數(shù)據(jù)的最小存取單位是數(shù)據(jù)項數(shù)據(jù)項Theory of Database38數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)面向整個系統(tǒng),可以被多個用戶、多個應(yīng)用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲空間避免數(shù)據(jù)之間的不相容性與不一致性 使系統(tǒng)易于擴充Theory of Database39數(shù)據(jù)獨立性高數(shù)據(jù)
19、獨立性高 物理獨立性 指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。指用戶的應(yīng)用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變當(dāng)數(shù)據(jù)的物理存儲改變了,應(yīng)用程序不用改變。 邏輯獨立性 指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的。數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也可以不變輯結(jié)構(gòu)改變了,用戶程序也可以不變。 數(shù)據(jù)獨立性是由DBMS的二級映像功能來保證的Theory of Database40數(shù)據(jù)由數(shù)據(jù)由DBMS統(tǒng)一管理和控制統(tǒng)一管理和控制 DBMS提供的數(shù)據(jù)控制功能 (1)數(shù)據(jù)的安全性(Se
20、curity)保護(hù)保護(hù)數(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)。Theory of Database41第一章第一章 緒論緒論1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.4 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成1.5 小結(jié)小結(jié)Theory of Dat
21、abase42 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(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)系模型Theory of Database43數(shù)據(jù)模型數(shù)據(jù)模型 在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。 通俗地講,數(shù)據(jù)模型就是對現(xiàn)實世界的模擬,建模。 數(shù)據(jù)模型應(yīng)滿足三方面要求 能比較能比較真實真實地模擬現(xiàn)實世界地模擬現(xiàn)實世界 容易容易為人所為人所理解理解 便
22、于在計算機上便于在計算機上實現(xiàn)實現(xiàn)Theory of Database44 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 數(shù)據(jù)模型分為兩類(分屬兩個不同的層次)(1) 概念模型概念模型 也稱信息模型,它是也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建按用戶的觀點來對數(shù)據(jù)和信息建模模,用于數(shù)據(jù)庫設(shè)計。,用于數(shù)據(jù)庫設(shè)計。 (2) 邏輯模型和物理模型邏輯模型和物理模型 (數(shù)據(jù)模型)(數(shù)據(jù)模型)邏輯模型主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο筮壿嬆P椭饕ňW(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο竽P偷?,模型等,按計算機系統(tǒng)的觀點對數(shù)據(jù)建模按計算機系統(tǒng)的觀點對數(shù)據(jù)建模,用于,用于DBMS實現(xiàn)實現(xiàn)。物理
23、模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。Theory of Database45兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 (續(xù)續(xù))客觀對象的抽象過程-兩步抽象 現(xiàn)實世界中的客觀對象抽象為概念模型;現(xiàn)實世界中的客觀對象抽象為概念模型; 把概念模型轉(zhuǎn)換為某一把概念模型轉(zhuǎn)換為某一DBMS支持的數(shù)據(jù)模型。支持的數(shù)據(jù)模型。Theory of Database46兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 (續(xù)續(xù))DBMS支持的數(shù)據(jù)模型支持的數(shù)據(jù)模型概念模型概念模型
24、認(rèn)識認(rèn)識抽象抽象信息世界信息世界機器世界機器世界現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世現(xiàn)實世界界現(xiàn)實世界現(xiàn)實世界 概念模型概念模型數(shù)據(jù)庫設(shè)計人員完成數(shù)據(jù)庫設(shè)計人員完成邏輯模型邏輯模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 邏輯模型邏輯模型數(shù)據(jù)庫設(shè)計人員完成數(shù)據(jù)庫設(shè)計人員完成Theory of Database47 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網(wǎng)狀模型
25、網(wǎng)狀模型 1.2.7 關(guān)系模型關(guān)系模型Theory of Database48 1.2.2 數(shù)據(jù)模型的組成三要素數(shù)據(jù)模型的組成三要素數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)操作 完整性約束條件Theory of Database49 一、一、 數(shù)據(jù)結(jié)構(gòu)數(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)特性的描述Theory of Database50 二、數(shù)據(jù)操作二、數(shù)據(jù)操作 數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的 操作操作及有關(guān)的操作規(guī)則操作規(guī)則數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改)Theory
26、of Database51 數(shù)據(jù)操作數(shù)據(jù)操作(續(xù)續(xù)) 數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述Theory of Database52三、數(shù)據(jù)的完整性約束條件三、數(shù)據(jù)的完整性約束條件 數(shù)據(jù)的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。Theory of Database53 數(shù)據(jù)的完整性約束條件數(shù)據(jù)的完整性約束條件(續(xù)續(xù))數(shù)據(jù)模型對完整性約束條件的定義反映和規(guī)定本反映和規(guī)定本數(shù)據(jù)模型數(shù)據(jù)模型必須遵守
27、的必須遵守的基本的通用的基本的通用的完整完整性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足性約束條件。例如在關(guān)系模型中,任何關(guān)系必須滿足實體完整性和參照完整性兩個條件。實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映提供定義完整性約束條件的機制,以反映具體應(yīng)用具體應(yīng)用所所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。第三講第三講數(shù)據(jù)庫原理概念模型Theory of Database55復(fù)復(fù) 習(xí)習(xí) 內(nèi)內(nèi) 容容1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述 四個基本概念四個基本概念 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展1.2 數(shù)據(jù)模型數(shù)據(jù)模型
28、兩個層次的模型兩個層次的模型 模型的三要素模型的三要素 概念模型(概念模型(E-R圖)圖) 機器支持的數(shù)據(jù)模型機器支持的數(shù)據(jù)模型概念模型(概念模型(E-R圖)圖)現(xiàn)實世現(xiàn)實世界界Theory of Database56 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(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)系模型Theory of Database57 1.2.3 概念模型概念模型信息世界中的基本概念兩個實體
29、型之間的聯(lián)系兩個以上實體型之間的聯(lián)系單個實體型內(nèi)的聯(lián)系概念模型的一種表示方法一個實例Theory of Database58概念模型概念模型用途 概念模型用于信息世界的建模概念模型用于信息世界的建模 是現(xiàn)實世界到機器世界的一個中間層次是現(xiàn)實世界到機器世界的一個中間層次 是數(shù)據(jù)庫設(shè)計的有力工具是數(shù)據(jù)庫設(shè)計的有力工具 數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言數(shù)據(jù)庫設(shè)計人員和用戶之間進(jìn)行交流的語言對概念模型的基本要求 較強的語義表達(dá)能力較強的語義表達(dá)能力 能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識能夠方便、直接地表達(dá)應(yīng)用中的各種語義知識 簡單、清晰、易于用戶理解簡單、清晰、易于用戶理解Theory of
30、 Database59一、信息世界中的基本概念一、信息世界中的基本概念(1) 實體(Entity) 客觀存在并可相互區(qū)別的事物稱為實體??陀^存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) 唯一標(biāo)識實體的屬性集稱為碼。唯一標(biāo)識實體的屬性集稱為碼。Theory of Database60信息世界中的基本概念信息世界中的基本概念(續(xù)續(xù))(4) 域(Domain) 屬
31、性的取值范圍稱為該屬性的域?qū)傩缘娜≈捣秶Q為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實體稱為實用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型體型(6) 實體集(Entity Set) 同一類型實體的集合稱為實體集同一類型實體的集合稱為實體集Theory of Database61信息世界中的基本概念信息世界中的基本概念(續(xù)續(xù)) (7) 聯(lián)系(Relationship) 現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界 中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。中反映為實體內(nèi)部的聯(lián)系和實體之間的
32、聯(lián)系。 實體內(nèi)部實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系 實體之間實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系的聯(lián)系通常是指不同實體集之間的聯(lián)系Theory of Database62二、兩個實體型之間的聯(lián)系二、兩個實體型之間的聯(lián)系實體型實體型A聯(lián)系名聯(lián)系名實體型實體型B111:1聯(lián)系聯(lián)系實體型實體型A聯(lián)系名聯(lián)系名1n1:n聯(lián)系聯(lián)系實體型實體型A實體型實體型B聯(lián)系名聯(lián)系名mnm:n聯(lián)系聯(lián)系實體型實體型B用圖形來表示兩個實體型之間的這三類聯(lián)系用圖形來表示兩個實體型之間的這三類聯(lián)系 Theory of Database63二、兩個實體型之間的聯(lián)系(續(xù))
33、二、兩個實體型之間的聯(lián)系(續(xù)) 一對一聯(lián)系(1:1) 定義:定義: 如果對于實體集如果對于實體集A中的每一個實體,實中的每一個實體,實體集體集B中只有一個實體與之聯(lián)系,反之亦中只有一個實體與之聯(lián)系,反之亦然,然,則實體集則實體集A與實體集與實體集B具有一對一聯(lián)具有一對一聯(lián)系,系,記為記為1:1 實例一個班級只有一個班長一個班級只有一個班長一個班長只在一個班中任職一個班長只在一個班中任職班級班級班級班級-班長班長班長班長111:1聯(lián)系聯(lián)系Theory of Database64兩個實體型之間的聯(lián)系兩個實體型之間的聯(lián)系 (續(xù)續(xù))一對多聯(lián)系(1:n)定義:如果對于實體集如果對于實體集A中的每一個實體
34、,實體集中的每一個實體,實體集B中中有多個實體與之聯(lián)系,反之,對于實體集有多個實體與之聯(lián)系,反之,對于實體集B中的中的每一個實體,實體集每一個實體,實體集A中至多只有一個實體與之中至多只有一個實體與之聯(lián)系,則稱聯(lián)系,則稱實體集實體集A與實體集與實體集B有一對多聯(lián)系,有一對多聯(lián)系,記為記為1:n實例一個班級中有若干名學(xué)生,一個班級中有若干名學(xué)生,每個學(xué)生只在一個班級中學(xué)習(xí)每個學(xué)生只在一個班級中學(xué)習(xí)班級班級組成組成學(xué)生學(xué)生1n1:n聯(lián)系聯(lián)系Theory of Database65兩個實體型之間的聯(lián)系兩個實體型之間的聯(lián)系 (續(xù)續(xù)) 多對多聯(lián)系(m:n) 定義:如果對于實體集如果對于實體集A中的每一個
35、實體,實體集中的每一個實體,實體集B中有多中有多個實體與之聯(lián)系;反之,對于實體集個實體與之聯(lián)系;反之,對于實體集B中的每一個實中的每一個實體,實體集體,實體集A中也有多個實體與之聯(lián)系,則稱實體集中也有多個實體與之聯(lián)系,則稱實體集A與實體與實體B具有多對多聯(lián)系,記為具有多對多聯(lián)系,記為m:n 實例課程與學(xué)生之間的聯(lián)系:課程與學(xué)生之間的聯(lián)系:一門課程同時有若干個學(xué)生選修一門課程同時有若干個學(xué)生選修一個學(xué)生可以同時選修多門課程一個學(xué)生可以同時選修多門課程課程課程選修選修學(xué)生學(xué)生mnm:n聯(lián)系聯(lián)系Theory of Database66三、兩個以上實體型之間的聯(lián)系三、兩個以上實體型之間的聯(lián)系兩個以上實
36、體型之間一對多聯(lián)系若實體集若實體集E1,E2,.,En存在聯(lián)系,對于實體集存在聯(lián)系,對于實體集Ej(j=1,2,.,i-1,i+1,.,n)中的給定實體,)中的給定實體,最多只和最多只和Ei中的一個實體相聯(lián)系,則我們說中的一個實體相聯(lián)系,則我們說Ei與與E1,E2,.,Ei-1,Ei+1,.,En之間的聯(lián)系是一對多的之間的聯(lián)系是一對多的Theory of Database67兩個以上實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系(續(xù)續(xù))實例 課程、教師與參考書三個實體型課程、教師與參考書三個實體型一門課程可以有若干個教師講授,一門課程可以有若干個教師講授,使用若干本參考書,使用若干本參考書,每一個教
37、師只講授一門課程,每一個教師只講授一門課程,每一本參考書只供一門課程使用每一本參考書只供一門課程使用課程課程講授講授教師教師1m兩個以上實體型間兩個以上實體型間1:n聯(lián)系聯(lián)系參考書參考書nTheory of Database68兩個以上實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系(續(xù)續(xù)) 多個實體型間的一對一聯(lián)系 兩個以上實體型間的多對多聯(lián)系 實例 供應(yīng)商、項目、零件三個實體型供應(yīng)商、項目、零件三個實體型一個供應(yīng)商可以供給多個項目多種零件一個供應(yīng)商可以供給多個項目多種零件每個項目可以使用多個供應(yīng)商供應(yīng)的零件每個項目可以使用多個供應(yīng)商供應(yīng)的零件每種零件可由不同供應(yīng)商供給每種零件可由不同供應(yīng)商供給供應(yīng)
38、商供應(yīng)商供應(yīng)供應(yīng)項目項目mp兩個以上實體型間兩個以上實體型間m:n聯(lián)系聯(lián)系零件零件nTheory of Database69四、單個實體型內(nèi)的聯(lián)系四、單個實體型內(nèi)的聯(lián)系 一對多聯(lián)系 實例 職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系職工實體型內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系某一職工(干部)某一職工(干部)“領(lǐng)導(dǎo)領(lǐng)導(dǎo)”若干名職工若干名職工一個職工僅被另外一個職工直接領(lǐng)導(dǎo)一個職工僅被另外一個職工直接領(lǐng)導(dǎo)這是一對多的聯(lián)系這是一對多的聯(lián)系 一對一聯(lián)系 請舉例(雙職工情況)職工職工領(lǐng)導(dǎo)領(lǐng)導(dǎo)1n單個實體型內(nèi)部單個實體型內(nèi)部1:n聯(lián)系聯(lián)系Theory of Database70單個實體型內(nèi)的聯(lián)系單個實體型內(nèi)的聯(lián)系實體型實
39、體型1聯(lián)系名聯(lián)系名mn單個實體型內(nèi)的單個實體型內(nèi)的m:n聯(lián)系聯(lián)系多對多聯(lián)系請舉例(零件)Theory of Database71五、五、 概念模型的一種表示方法概念模型的一種表示方法實體聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型Theory of Database72E-R圖圖實體型用矩形表示,矩形框內(nèi)寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來學(xué)生學(xué)生教師教師學(xué)生學(xué)生學(xué)號學(xué)號年齡年齡性別性別姓名姓名Theory of Database73E-R圖圖(續(xù)續(xù))聯(lián)系聯(lián)系本身: 用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分用菱形表示,菱形框
40、內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(的類型(1:1、1:n或或m:n) Theory of Database74聯(lián)系的表示方法聯(lián)系的表示方法實體型實體型A聯(lián)系名聯(lián)系名實體型實體型B111:1聯(lián)系聯(lián)系實體型實體型A聯(lián)系名聯(lián)系名1n1:n聯(lián)系聯(lián)系實體型實體型A實體型實體型B聯(lián)系名聯(lián)系名mnm:n聯(lián)系聯(lián)系實體型實體型BTheory of Database75聯(lián)系的表示方法示例聯(lián)系的表示方法示例班級班級班級班級-班長班長班長班長111:1聯(lián)系聯(lián)系課程課程選修選修學(xué)生學(xué)生mnm:n聯(lián)系聯(lián)系班級班級組成組成學(xué)生學(xué)生1n1
41、:n聯(lián)系聯(lián)系Theory of Database76聯(lián)系的屬性聯(lián)系的屬性課程課程選修選修學(xué)生學(xué)生mn成績成績聯(lián)系的屬性:聯(lián)系本身也可以有屬性。聯(lián)系本身也可以有屬性。如果一個聯(lián)系具有屬性,則這如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系些屬性也要用無向邊與該聯(lián)系連接起來連接起來 Theory of Database77六、一個實例六、一個實例用E-R圖表示某個工廠物資管理的概念模型 實體及其屬性 倉庫: 倉庫號、面積、電話號碼 零件 :零件號、名稱、規(guī)格、單價、描述 供應(yīng)商:供應(yīng)商號、姓名、地址、電話號碼、帳號 項目:項目號、預(yù)算、開工日期 職工:職工號、姓名、年齡、職稱 Theory
42、of Database78一個實例一個實例 實體之間的聯(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)系。Theory of Database79一個實例一個實例Theory of Database80 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)
43、據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(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)系模型Theory of Database81 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型非關(guān)系模型層次模型層次模型(Hierarchical Model)網(wǎng)狀模型網(wǎng)狀模型(Network Model)關(guān)系模型(Relational Model) 面向?qū)ο竽P?Object Oriented Model)對象關(guān)系模型(Object Relational Model)Theory
44、of Database821.2.5 層次模型層次模型 層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型 層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(Information Management System)數(shù)據(jù)庫管理系統(tǒng) 層次模型用樹形結(jié)構(gòu)樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系 Theory of Database83一、一、 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次模型 滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1. 有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點2. 根以外的其它結(jié)點有
45、且只有一個雙親結(jié)點根以外的其它結(jié)點有且只有一個雙親結(jié)點層次模型中的幾個術(shù)語根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點Theory of Database84層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)續(xù)) 1 根結(jié)點根結(jié)點 2 兄弟結(jié)點兄弟結(jié)點 3 葉結(jié)點葉結(jié)點 4 兄弟結(jié)點兄弟結(jié)點 5 葉結(jié)點葉結(jié)點 葉結(jié)點葉結(jié)點圖圖1.16 一個層次模型的示例一個層次模型的示例Theory of Database85層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)續(xù))層次模型的特點:結(jié)點的雙親是唯一的結(jié)點的雙親是唯一的只能直接處理一對多的實體聯(lián)系只能直接處理一對多的實體聯(lián)系每個
46、記錄類型可以定義一個排序字段,也稱為碼字段每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義任何記錄值只有按其路徑查看時,才能顯出它的全部意義子女記錄值不能脫離雙親記錄值而獨立存在子女記錄值不能脫離雙親記錄值而獨立存在Theory of Database86層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)續(xù))圖1.17 教員學(xué)生層次數(shù)據(jù)庫模型 根結(jié)點根結(jié)點系的子女結(jié)點系的子女結(jié)點教員的雙親結(jié)點教員的雙親結(jié)點葉結(jié)點葉結(jié)點葉結(jié)點葉結(jié)點字段字段Theory of Database87層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)續(xù))圖1.18 教員學(xué)生
47、層次數(shù)據(jù)庫的一個值 Theory of Database88二、多對多聯(lián)系在層次模型中的表示二、多對多聯(lián)系在層次模型中的表示多對多聯(lián)系在層次模型中的表示用層次模型用層次模型間接間接表示多對多聯(lián)系表示多對多聯(lián)系方法:將多對多聯(lián)系方法:將多對多聯(lián)系分解分解成一對多聯(lián)系成一對多聯(lián)系分解方法分解方法 冗余結(jié)點法冗余結(jié)點法 虛擬結(jié)點法虛擬結(jié)點法Theory of Database89三、層次模型的數(shù)據(jù)操縱與完整性約束三、層次模型的數(shù)據(jù)操縱與完整性約束 層次模型的數(shù)據(jù)操縱層次模型的數(shù)據(jù)操縱查詢插入刪除更新 Theory of Database90層次模型的數(shù)據(jù)操縱與完整性約束(續(xù))層次模型的數(shù)據(jù)操縱與完整
48、性約束(續(xù))層次模型的完整性約束條件層次模型的完整性約束條件 無相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值如果刪除雙親結(jié)點值,相應(yīng)的子女結(jié)點也被同時刪除更新操作時,應(yīng)更新所有相應(yīng)記錄,保證數(shù)據(jù)一致性Theory of Database91四、層次數(shù)據(jù)模型的存儲結(jié)構(gòu)四、層次數(shù)據(jù)模型的存儲結(jié)構(gòu)鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序放,即通過物理空間的位置相鄰來實現(xiàn)層次順序Theory of Database92層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))圖圖1.20 層次數(shù)據(jù)庫及其實例層次數(shù)
49、據(jù)庫及其實例 C8C6C4B6C9C2B4C14C7C5C3B1A1圖圖1.21 鄰接法鄰接法 按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集 Theory of Database93層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))鏈接法用指針來反映數(shù)據(jù)之間的層次聯(lián)系用指針來反映數(shù)據(jù)之間的層次聯(lián)系子女兄弟鏈接法子女兄弟鏈接法層次序列鏈接法層次序列鏈接法Theory of Database94層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù)) 子女子女-兄弟鏈接法兄弟鏈接法每個記錄設(shè)兩類指針,分別指向最左邊的子女(每個記錄型對應(yīng)一個)和最近的兄弟Theory of
50、Database95層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))層次序列鏈接法層次序列鏈接法按樹的前序穿越順序鏈接各記錄值Theory of Database96五、層次模型的優(yōu)缺點五、層次模型的優(yōu)缺點優(yōu)點層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰 查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型查詢效率高,性能優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然多對多聯(lián)系表示不自然對插入和刪除操作的限制多,應(yīng)用程序的編寫比較對插入和刪除操作的限制多,應(yīng)用程序的編寫比較復(fù)雜復(fù)雜 查詢子女結(jié)點必須通過雙
51、親結(jié)點查詢子女結(jié)點必須通過雙親結(jié)點由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化 Theory of Database97 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(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)系模型Theory of Database981.2.6 網(wǎng)狀模型網(wǎng)狀模型 網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀數(shù)據(jù)庫系統(tǒng)采用網(wǎng)狀模型網(wǎng)狀模型作為數(shù)據(jù)的組織方式作為數(shù)據(jù)的組織方式 典型代表是典型代
52、表是DBTG系統(tǒng):系統(tǒng): 亦稱CODASYL系統(tǒng) 70年代由DBTG提出的一個系統(tǒng)方案 奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術(shù) 實際系統(tǒng)實際系統(tǒng) Cullinet Software Inc.公司的 IDMS Univac公司的 DMS1100 Honeywell公司的IDS/2 HP公司的IMAGETheory of Database99一、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)一、網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合:滿足下面兩個條件的基本層次聯(lián)系的集合:1. 允許一個以上的結(jié)點無雙親;允許一個以上的結(jié)點無雙親;2. 一個結(jié)點可以有多于一個的雙親一個結(jié)點可以有多于一個的雙親。T
53、heory of Database100網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù)) 表示方法(與層次數(shù)據(jù)模型相同)實體型實體型:用記錄類型描述:用記錄類型描述 每個結(jié)點表示一個記錄類型(實體)每個結(jié)點表示一個記錄類型(實體)屬性屬性:用字段描述:用字段描述 每個記錄類型可包含若干個字段每個記錄類型可包含若干個字段聯(lián)系聯(lián)系:用結(jié)點之間的連線表示記錄類:用結(jié)點之間的連線表示記錄類型型(實體)之(實體)之 間的間的一對多的父子聯(lián)系一對多的父子聯(lián)系Theory of Database101網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀模型與層次模型的區(qū)別 網(wǎng)狀模型允許多個結(jié)
54、點沒有雙親結(jié)點網(wǎng)狀模型允許多個結(jié)點沒有雙親結(jié)點 網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點網(wǎng)狀模型允許結(jié)點有多個雙親結(jié)點 網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系)網(wǎng)狀模型允許兩個結(jié)點之間有多種聯(lián)系(復(fù)合聯(lián)系) 網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界 層次模型實際上是網(wǎng)狀模型的一個特例層次模型實際上是網(wǎng)狀模型的一個特例Theory of Database102網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(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)系聯(lián)系L1R2與與R3之間之間的
55、聯(lián)系的聯(lián)系L2 R1R3R2L1L2(a)Theory of Database103網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))(b) 網(wǎng)狀模型的例子 (c) R1R2R3L1L2R1R5R2L1R4L2L3L4L5Theory of Database104網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型用網(wǎng)狀模型間接間接表示多對多聯(lián)系表示多對多聯(lián)系方法:方法: 將多對多聯(lián)系將多對多聯(lián)系直接直接分解成一對多聯(lián)系分解成一對多聯(lián)系Theory of Database105網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))例如:一個學(xué)生
56、可以選修若干門課程,某一某一課程可以被多個多個學(xué)生選修,學(xué)生與課程之間是多對多多對多聯(lián)系 引進(jìn)一個學(xué)生選課的聯(lián)結(jié)記錄,由3個數(shù)據(jù)項組成學(xué)號課程號成績表示某個學(xué)生選修某一門課程及其成績 Theory of Database106網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)(續(xù))圖1.24 學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)模型 S-SCC-SC學(xué)生課程選課學(xué)號姓名系別課程號課程名學(xué)分學(xué)號課程號成績Theory of Database107二、二、網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束網(wǎng)狀數(shù)據(jù)庫系統(tǒng)(如DBTG)對數(shù)據(jù)操縱加了一些限制,提供了一定的完整性約束碼碼:唯一標(biāo)識記錄的
57、數(shù)據(jù)項的集合:唯一標(biāo)識記錄的數(shù)據(jù)項的集合 一個聯(lián)系中雙親記錄與子女記錄之間是一個聯(lián)系中雙親記錄與子女記錄之間是一對多一對多聯(lián)系聯(lián)系支持雙親記錄和子女記錄之間某些約束條件支持雙親記錄和子女記錄之間某些約束條件 Theory of Database108三、網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)三、網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)關(guān)鍵實現(xiàn)記錄之間的聯(lián)系實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接單向鏈接雙向鏈接雙向鏈接環(huán)狀鏈接環(huán)狀鏈接向首鏈接向首鏈接Theory of Database109網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)(續(xù))學(xué)生記錄學(xué)生記錄課程記錄課程記錄選課記錄選課記錄S1S2S3S4C1C2C3S1 C1
58、AS1 C2 AS2 C1 AS2 C3 BS3 C1 BS3 C2 BS4 C1 AS4 C2 AS4 C3 B圖1.25 學(xué)生/選課/課程的網(wǎng)狀數(shù)據(jù)庫實例Theory of Database110四、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點四、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點優(yōu)點 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親 具有良好的性能,存取效率較高具有良好的性能,存取效率較高缺點 結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握變得越來越復(fù)雜,不利于最終用戶掌握 DD
59、L、DML語言復(fù)雜,用戶不容易使用語言復(fù)雜,用戶不容易使用第五講第五講數(shù)據(jù)庫原理關(guān)系模型Theory of Database112 1.2 數(shù)據(jù)模型數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(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)系模型Theory of Database1131.2.7 關(guān)系模型關(guān)系模型 關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式 1970年美國IBM公司San Jose研究室的研究員E.F.Cod
60、d首次提出了數(shù)據(jù)庫系統(tǒng)的關(guān)系模型 計算機廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型 Theory of Database114一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 在在用戶觀點用戶觀點下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成。和列組成。 關(guān)系模型中的一些術(shù)語關(guān)系模型中的一些術(shù)語: 關(guān)系(關(guān)系(Relation):一個關(guān)系對應(yīng)通常說的一張表 元組(元組(Tuple) :表中的一行即為一個元組 屬性(屬性(Attribute):表中的一列即為一個屬性,給每一個屬性 起一個名稱即屬性名 碼(碼(Key):也稱為碼鍵。表
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026河北省定向華中師范大學(xué)選調(diào)生招錄備考考試題庫及答案解析
- 2026福建龍巖市面向教育部直屬師范大學(xué)、福建省復(fù)合型碩士層次公費師范畢業(yè)生“雙向選擇”專項招聘8人筆試重點題庫及答案解析
- 2025廣西百色市科學(xué)技術(shù)館面向全市公開選調(diào)館長1人參考考試試題及答案解析
- 2025年綏陽人民法院公開招聘聘用制書記員備考題庫及一套參考答案詳解
- 2025廣西梧州市龍投人力資源有限公司招聘筆試重點試題及答案解析
- 中電科發(fā)展規(guī)劃研究院有限公司2026屆校園招聘備考題庫及完整答案詳解一套
- 2025年全球芯片代工市場競爭格局與產(chǎn)能擴張計劃行業(yè)報告
- 2025年煙臺市檢察機關(guān)公開招聘聘用制書記員的備考題庫(24人)及1套參考答案詳解
- 中國火箭公司2026校園招聘考試重點題庫及答案解析
- 2025年西安高新區(qū)第十一初級中學(xué)教師招聘筆試重點題庫及答案解析
- 幼兒園健康教育活動設(shè)計與實施知到課后答案智慧樹章節(jié)測試答案2025年春漢中職業(yè)技術(shù)學(xué)院
- 敦煌集團(tuán)面試題目及答案
- 化工廠冬季四防培訓(xùn)課件
- 帶狀皰疹的護(hù)理醫(yī)學(xué)課件
- DB37-T 5317-2025《旋挖成孔灌注樁施工技術(shù)規(guī)程》
- T-GDCLPA-003-2024 農(nóng)光互補項目認(rèn)定標(biāo)準(zhǔn)
- 2025年廣西貴港市農(nóng)村電力服務(wù)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- Unit4 Fun with numbers 同步練習(xí)(含答案)
- 辦公樓裝修設(shè)計合同
- 《海岸護(hù)衛(wèi)紅樹林》課件
- 山東省青島萊西市(五四制)2024-2025學(xué)年八年級上學(xué)期期末考試道德與法治試題
評論
0/150
提交評論