數據庫系統(tǒng)概論課件_第1頁
數據庫系統(tǒng)概論課件_第2頁
數據庫系統(tǒng)概論課件_第3頁
數據庫系統(tǒng)概論課件_第4頁
數據庫系統(tǒng)概論課件_第5頁
已閱讀5頁,還剩337頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據庫系統(tǒng)概論

AnIntroductiontoDatabaseSystemsAnIntroductiontoDatabaseSystems數據庫系統(tǒng)概論

AnIntroductiontoDa教材及參考書(1)教材數據庫系統(tǒng)概論(第四版)高等教育出版社,2006.5

AnIntroductiontoDatabaseSystems教材及參考書(1)教材AnIntroduction教材及參考書(2)參考書DateCJ,AnIntroductiontoDatabase

System(Ed.7),Addison-Wesley,2000上機軟件KingBaseES教學版AnIntroductiontoDatabaseSystems教材及參考書(2)參考書AnIntroduction學習方式聽課

(啟發(fā)式、討論式)讀書

(預習、復習)報告

(綜合練習)AnIntroductiontoDatabaseSystems學習方式聽課AnIntroductiontoDa考試成績平時成績(書面作業(yè)、上機練習、綜合練習)期中考試期末考試AnIntroductiontoDatabaseSystems考試成績平時成績AnIntroductiontoDat內容安排(1)基礎篇第一章緒論第二章關系數據庫第三章關系數據庫標準語言SQL第四章數據庫安全性第五章數據庫完整性設計與應用開發(fā)篇第六章關系數據理論數據庫設計第七章數據庫設計第八章數據庫編程AnIntroductiontoDatabaseSystems內容安排(1)基礎篇AnIntroductionto內容安排(2)系統(tǒng)篇第九章關系查詢處理和查詢優(yōu)化第十章數據庫恢復技術第十一章并發(fā)控制*第十二章數據庫管理系統(tǒng)第一至第十一章是本科專業(yè)的基本教程(書中有*號的部分除外)第十二至第十七章是高級教程AnIntroductiontoDatabaseSystems內容安排(2)系統(tǒng)篇AnIntroductionto數據庫系統(tǒng)概論AnIntroductiontoDatabaseSystems第一章緒論AnIntroductiontoDatabaseSystems數據庫系統(tǒng)概論AnIntroductiontoData第一章緒論1.1數據庫系統(tǒng)概述1.2數據模型1.3數據庫系統(tǒng)結構1.4數據庫系統(tǒng)的組成1.5小結AnIntroductiontoDatabaseSystems第一章緒論1.1數據庫系統(tǒng)概述AnIntroduc數據庫的地位數據庫技術產生于六十年代末,是數據管理的最新技術,是計算機科學的重要分支。數據庫技術是信息系統(tǒng)的核心和基礎,它的出現(xiàn)極大地促進了計算機應用向各行各業(yè)的滲透。數據庫的建設規(guī)模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。AnIntroductiontoDatabaseSystems數據庫的地位數據庫技術產生于六十年代末,是數據管理的最新技術第一章緒論1.1數據庫系統(tǒng)概述

1.1.1四個基本概念1.1.2數據管理技術的產生和發(fā)展1.1.3數據庫系統(tǒng)的特點

AnIntroductiontoDatabaseSystems第一章緒論1.1數據庫系統(tǒng)概述AnIntrod1.1.1四個基本概念數據(Data)數據庫(Database)數據庫管理系統(tǒng)(DBMS)數據庫系統(tǒng)(DBS)AnIntroductiontoDatabaseSystems1.1.1四個基本概念數據(Data)AnIntrod一、數據數據(Data)是數據庫中存儲的基本對象數據的定義描述事物的符號記錄數據的種類文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等數據的特點數據與其語義是不可分的AnIntroductiontoDatabaseSystems一、數據數據(Data)是數據庫中存儲的基本對象AnInt數據舉例數據的含義稱為數據的語義,數據與其語義是不可分的。例如93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數語義4:請同學給出。。。AnIntroductiontoDatabaseSystems數據舉例數據的含義稱為數據的語義,數據與其語義是不可分的。A數據舉例學生檔案中的學生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、入學時間解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入計算機系請給出另一個解釋和語義AnIntroductiontoDatabaseSystems數據舉例學生檔案中的學生記錄AnIntroduction二、數據庫數據庫的定義數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合。數據庫的基本特征數據按一定的數據模型組織、描述和儲存可為各種用戶共享冗余度較小數據獨立性較高易擴展AnIntroductiontoDatabaseSystems二、數據庫數據庫的定義AnIntroductionto三、數據庫管理系統(tǒng)什么是DBMS位于用戶與操作系統(tǒng)之間的一層數據管理軟件。是基礎軟件,是一個大型復雜的軟件系統(tǒng)

DBMS的用途科學地組織和存儲數據、高效地獲取和維護數據AnIntroductiontoDatabaseSystems三、數據庫管理系統(tǒng)什么是DBMSAnIntroductio硬件平臺基礎軟件平臺軟件基礎構架平臺應用軟件平臺軟件產品協(xié)同軟件辦公軟件數據庫系統(tǒng)操作系統(tǒng)中間件應用服務器數據庫在計算機系統(tǒng)中的位置AnIntroductiontoDatabaseSystems硬件平臺基礎軟件平臺軟件基礎構架平臺應用軟件平臺軟件產品協(xié)同DBMS的主要功能數據定義功能提供數據定義語言(DDL)定義數據庫中的數據對象數據組織、存儲和管理

分類組織、存儲和管理各種數據確定組織數據的文件結構和存取方式實現(xiàn)數據之間的聯(lián)系提供多種存取方法提高存取效率AnIntroductiontoDatabaseSystemsDBMS的主要功能數據定義功能AnIntroductionDBMS的主要功能數據操縱功能

提供數據操縱語言(DML)實現(xiàn)對數據庫的基本操作(查詢、插入、刪除和修改)數據庫的事務管理和運行管理數據庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制保證數據的安全性、完整性、多用戶對數據的并發(fā)使用發(fā)生故障后的系統(tǒng)恢復AnIntroductiontoDatabaseSystemsDBMS的主要功能數據操縱功能AnIntroductionDBMS的主要功能數據庫的建立和維護功能(實用程序)

數據庫初始數據裝載轉換 數據庫轉儲 介質故障恢復 數據庫的重組織 性能監(jiān)視分析等其它功能

DBMS與網絡中其它軟件系統(tǒng)的通信兩個DBMS系統(tǒng)的數據轉換異構數據庫之間的互訪和互操作AnIntroductiontoDatabaseSystemsDBMS的主要功能數據庫的建立和維護功能(實用程序)AnI四、數據庫系統(tǒng)什么是數據庫系統(tǒng)(DatabaseSystem,簡稱DBS)

在計算機系統(tǒng)中引入數據庫后的系統(tǒng)構成數據庫系統(tǒng)的構成數據庫數據庫管理系統(tǒng)(及其開發(fā)工具)應用系統(tǒng)數據庫管理員

AnIntroductiontoDatabaseSystems四、數據庫系統(tǒng)什么是數據庫系統(tǒng)(DatabaseSyste

數據庫應用系統(tǒng)應用開發(fā)工具

操作系統(tǒng)

數據庫管理系統(tǒng)

數據庫管理員用戶用戶用戶

數據庫系統(tǒng)AnIntroductiontoDatabaseSystems應用系統(tǒng)應用開發(fā)工具用戶用戶用戶數據庫1.1數據庫系統(tǒng)概述1.1.1四個基本概念

1.1.2數據管理技術的產生和發(fā)展1.1.3數據庫系統(tǒng)的特點AnIntroductiontoDatabaseSystems1.1數據庫系統(tǒng)概述1.1.1四個基本概念An數據管理技術的產生和發(fā)展什么是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護數據處理的中心問題數據管理技術的發(fā)展過程人工管理階段(20世紀40年代中--50年代中)文件系統(tǒng)階段(20世紀50年代末--60年代中)數據庫系統(tǒng)階段(20世紀60年代末--現(xiàn)在)AnIntroductiontoDatabaseSystems數據管理技術的產生和發(fā)展什么是數據管理AnIntroduc數據管理技術的產生和發(fā)展(續(xù))數據管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展AnIntroductiontoDatabaseSystems數據管理技術的產生和發(fā)展(續(xù))數據管理技術的發(fā)展動力AnI一、人工管理階段時期20世紀40年代中--50年代中產生的背景應用需求 科學計算 硬件水平 無直接存取存儲設備軟件水平 沒有操作系統(tǒng) 處理方式 批處理 AnIntroductiontoDatabaseSystems一、人工管理階段時期AnIntroductiontoD人工管理階段(續(xù))特點數據的管理者:用戶(程序員),數據不保存數據面向的對象:某一應用程序數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序自己控制AnIntroductiontoDatabaseSystems人工管理階段(續(xù))特點AnIntroductionto應用程序與數據的對應關系(人工管理階段)

應用程序1數據集1應用程序2數據集2應用程序n數據集n...…...…人工管理階段應用程序與數據之間的對應關系

AnIntroductiontoDatabaseSystems應用程序與數據的對應關系(人工管理階段)應用程序1數據集1應二、文件系統(tǒng)階段時期20世紀50年代末--60年代中產生的背景應用需求 科學計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統(tǒng) 處理方式 聯(lián)機實時處理、批處理

AnIntroductiontoDatabaseSystems二、文件系統(tǒng)階段時期AnIntroductiontoD文件系統(tǒng)階段(續(xù))特點數據的管理者:文件系統(tǒng),數據可長期保存數據面向的對象:某一應用程序數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須修改應用程序數據控制能力:應用程序自己控制AnIntroductiontoDatabaseSystems文件系統(tǒng)階段(續(xù))特點AnIntroductionto應用程序與數據的對應關系(文件系統(tǒng)階段)應用程序1文件1應用程序2文件2應用程序n文件n存取方法...…...…文件系統(tǒng)階段應用程序與數據之間的對應關系

AnIntroductiontoDatabaseSystems應用程序與數據的對應關系(文件系統(tǒng)階段)應用程序1文件1應用文件系統(tǒng)中數據的結構記錄內有結構。數據的結構是靠程序定義和解釋的。數據只能是定長的??梢蚤g接實現(xiàn)數據變長要求,但訪問相應數據的應用程序復雜了。文件間是獨立的,因此數據整體無結構??梢蚤g接實現(xiàn)數據整體的有結構,但必須在應用程序中對描述數據間的聯(lián)系。數據的最小存取單位是記錄。AnIntroductiontoDatabaseSystems文件系統(tǒng)中數據的結構記錄內有結構。AnIntroducti三、數據庫系統(tǒng)階段時期20世紀60年代末以來產生的背景應用背景 大規(guī)模管理 硬件背景 大容量磁盤、磁盤陣列 軟件背景 有數據庫管理系統(tǒng) 處理方式 聯(lián)機實時處理,分布處理,批處理 AnIntroductiontoDatabaseSystems三、數據庫系統(tǒng)階段時期AnIntroductionto1.1數據庫系統(tǒng)概述1.1.1四個基本概念1.1.2數據管理技術的產生和發(fā)展

1.1.3數據庫系統(tǒng)的特點AnIntroductiontoDatabaseSystems1.1數據庫系統(tǒng)概述1.1.1四個基本概念An1.1.3數據庫系統(tǒng)的特點數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高數據由DBMS統(tǒng)一管理和控制AnIntroductiontoDatabaseSystems1.1.3數據庫系統(tǒng)的特點數據結構化AnIntrodu數據結構化整體數據的結構化是數據庫的主要特征之一整體結構化不再僅僅針對某一個應用,而是面向全組織不僅數據內部結構化,整體是結構化的,數據之間具有聯(lián)系數據庫中實現(xiàn)的是數據的真正結構化數據的結構用數據模型描述,無需程序定義和解釋數據可以變長數據的最小存取單位是數據項AnIntroductiontoDatabaseSystems數據結構化整體數據的結構化是數據庫的主要特征之一An數據的共享性高,冗余度低,易擴充數據庫系統(tǒng)從整體角度看待和描述數據,數據面向整個系統(tǒng),可以被多個用戶、多個應用共享使用。數據共享的好處減少數據冗余,節(jié)約存儲空間避免數據之間的不相容性與不一致性使系統(tǒng)易于擴充AnIntroductiontoDatabaseSystems數據的共享性高,冗余度低,易擴充AnIntroductio數據獨立性高物理獨立性指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不變。數據獨立性是由DBMS的二級映像功能來保證的AnIntroductiontoDatabaseSystems數據獨立性高物理獨立性AnIntroductionto數據由DBMS統(tǒng)一管理和控制DBMS提供的數據控制功能(1)數據的安全性(Security)保護保護數據,以防止不合法的使用造成的數據的泄密和破壞。(2)數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。(3)并發(fā)(Concurrency)控制對多用戶的并發(fā)操作加以控制和協(xié)調,防止相互干擾而得到錯誤的結果。(4)數據庫恢復(Recovery)將數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。AnIntroductiontoDatabaseSystems數據由DBMS統(tǒng)一管理和控制DBMS提供的數據控制功能An應用程序與數據的對應關系(數據庫系統(tǒng))DBMS應用程序1應用程序2數據庫…數據庫系統(tǒng)階段應用程序與數據之間的對應關系

AnIntroductiontoDatabaseSystems應用程序與數據的對應關系(數據庫系統(tǒng))DBMS應用程序1應用第一章緒論1.1數據庫系統(tǒng)概述1.2數據模型1.3數據庫系統(tǒng)結構1.4數據庫系統(tǒng)的組成1.5小結AnIntroductiontoDatabaseSystems第一章緒論1.1數據庫系統(tǒng)概述AnIntroduct1.2數據模型1.2.1兩大類數據模型1.2.2數據模型的組成要素

1.2.3概念模型1.2.4最常用的數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI數據模型在數據庫中用數據模型這個工具來抽象、表示和處理現(xiàn)實世界中的數據和信息。通俗地講數據模型就是現(xiàn)實世界的模擬。數據模型應滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn)AnIntroductiontoDatabaseSystems數據模型在數據庫中用數據模型這個工具來抽象、表示和處理現(xiàn)實世

1.2.1兩大類數據模型數據模型分為兩類(分屬兩個不同的層次)(1)概念模型也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。(2)邏輯模型和物理模型

邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統(tǒng)的觀點對數據建模,用于DBMS實現(xiàn)。物理模型是對數據最底層的抽象,描述數據在系統(tǒng)內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。AnIntroductiontoDatabaseSystems1.2.1兩大類數據模型數據模型分為兩類(分屬兩個不同兩大類數據模型(續(xù))客觀對象的抽象過程---兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的數據模型。AnIntroductiontoDatabaseSystems兩大類數據模型(續(xù))客觀對象的抽象過程---兩步抽象An兩大類數據模型(續(xù))DBMS支持的數據模型概念模型認識抽象信息世界機器世界現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界現(xiàn)實世界概念模型數據庫設計人員完成邏輯模型物理模型由DBMS完成概念模型邏輯模型數據庫設計人員完成AnIntroductiontoDatabaseSystems兩大類數據模型(續(xù))DBMS支持的數據模型概念模型認識信息1.2數據模型

1.2.1兩大類數據模型

1.2.2數據模型的組成要素

1.2.3概念模型1.2.4最常用的數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI1.2.2數據模型的組成要素數據結構數據操作完整性約束條件AnIntroductiontoDatabaseSystems1.2.2數據模型的組成要素數據結構AnIntrod一、數據結構什么是數據結構描述數據庫的組成對象,以及對象之間的聯(lián)系描述的內容與數據類型、內容、性質有關的對象與數據之間聯(lián)系有關的對象數據結構是對系統(tǒng)靜態(tài)特性的描述AnIntroductiontoDatabaseSystems一、數據結構什么是數據結構AnIntroduction二、數據操作數據操作對數據庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則數據操作的類型查詢更新(包括插入、刪除、修改)AnIntroductiontoDatabaseSystems二、數據操作數據操作AnIntroductionto數據操作(續(xù))數據模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先級)實現(xiàn)操作的語言數據操作是對系統(tǒng)動態(tài)特性的描述請舉例說明AnIntroductiontoDatabaseSystems數據操作(續(xù))數據模型對操作的定義AnIntroduc三、數據的完整性約束條件數據的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數據模型中數據及其聯(lián)系所具有的制約和儲存規(guī)則用以限定符合數據模型的數據庫狀態(tài)以及狀態(tài)的變化,以保證數據的正確、有效、相容。AnIntroductiontoDatabaseSystems三、數據的完整性約束條件數據的完整性約束條件AnIntr數據的完整性約束條件(續(xù))數據模型對完整性約束條件的定義反映和規(guī)定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。AnIntroductiontoDatabaseSystems數據的完整性約束條件(續(xù))數據模型對完整性約束條件的定義A1.2數據模型

1.2.1兩大類數據模型1.2.2數據模型的組成要素

1.2.3概念模型1.2.4最常用的數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI1.2.3概念模型信息世界中的基本概念兩個實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系單個實體型內的聯(lián)系概念模型的一種表示方法一個實例AnIntroductiontoDatabaseSystems1.2.3概念模型信息世界中的基本概念AnIntro概念模型概念模型的用途概念模型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解AnIntroductiontoDatabaseSystems概念模型概念模型的用途AnIntroductionto一、信息世界中的基本概念(1)實體(Entity)

客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。

(3)碼(Key)唯一標識實體的屬性集稱為碼。AnIntroductiontoDatabaseSystems一、信息世界中的基本概念(1)實體(Entity)An信息世界中的基本概念(續(xù))(4)域(Domain)屬性的取值范圍稱為該屬性的域。(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6)實體集(EntitySet)同一類型實體的集合稱為實體集AnIntroductiontoDatabaseSystems信息世界中的基本概念(續(xù))(4)域(Domain)An信息世界中的基本概念(續(xù))(7)聯(lián)系(Relationship)

現(xiàn)實世界中事物內部以及事物之間的聯(lián)系在信息世界中反映為實體內部的聯(lián)系和實體之間的聯(lián)系。實體內部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系AnIntroductiontoDatabaseSystems信息世界中的基本概念(續(xù))(7)聯(lián)系(Relationsh二、兩個實體型之間的聯(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)系

AnIntroductiontoDatabaseSystems二、兩個實體型之間的聯(lián)系實體型A聯(lián)系名實體型B111:1聯(lián)系二、兩個實體型之間的聯(lián)系(續(xù))一對一聯(lián)系(1:1)實例一個班級只有一個正班長一個班長只在一個班中任職定義:如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1

班級班級-班長班長111:1聯(lián)系AnIntroductiontoDatabaseSystems二、兩個實體型之間的聯(lián)系(續(xù))一對一聯(lián)系(1:1)班兩個實體型之間的聯(lián)系(續(xù))一對多聯(lián)系(1:n)實例一個班級中有若干名學生,每個學生只在一個班級中學習定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n班級組成學生1n1:n聯(lián)系AnIntroductiontoDatabaseSystems兩個實體型之間的聯(lián)系(續(xù))一對多聯(lián)系(1:n)班級組成學生兩個實體型之間的聯(lián)系(續(xù))多對多聯(lián)系(m:n)實例課程與學生之間的聯(lián)系:一門課程同時有若干個學生選修一個學生可以同時選修多門課程定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n課程選修學生mnm:n聯(lián)系AnIntroductiontoDatabaseSystems兩個實體型之間的聯(lián)系(續(xù))多對多聯(lián)系(m:n)課程選修學生三、兩個以上實體型之間的聯(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)系是一對多的AnIntroductiontoDatabaseSystems三、兩個以上實體型之間的聯(lián)系兩個以上實體型之間一對多聯(lián)系An兩個以上實體型之間的聯(lián)系(續(xù))實例

課程、教師與參考書三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用課程講授教師1m兩個以上實體型間1:n聯(lián)系參考書nAnIntroductiontoDatabaseSystems兩個以上實體型之間的聯(lián)系(續(xù))實例課程講授教師1m兩個以上實兩個以上實體型之間的聯(lián)系(續(xù))多個實體型間的一對一聯(lián)系兩個以上實體型間的多對多聯(lián)系實例

供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給供應商供應項目mp兩個以上實體型間m:n聯(lián)系零件nAnIntroductiontoDatabaseSystems兩個以上實體型之間的聯(lián)系(續(xù))多個實體型間的一對一聯(lián)系供應商四、單個實體型內的聯(lián)系一對多聯(lián)系實例

職工實體型內部具有領導與被領導的聯(lián)系某一職工(干部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯(lián)系一對一聯(lián)系

請舉例職工領導1n單個實體型內部1:n聯(lián)系AnIntroductiontoDatabaseSystems四、單個實體型內的聯(lián)系一對多聯(lián)系職工領導1n單個實體型內部1單個實體型內的聯(lián)系實體型1聯(lián)系名mn單個實體型內的m:n聯(lián)系多對多聯(lián)系請舉例AnIntroductiontoDatabaseSystems單個實體型內的聯(lián)系實體型1聯(lián)系名mn單個實體型內的m:n聯(lián)系五、概念模型的一種表示方法實體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型AnIntroductiontoDatabaseSystems五、概念模型的一種表示方法實體-聯(lián)系方法(E-R方法)AnE-R圖實體型用矩形表示,矩形框內寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來學生教師學生學號年齡性別姓名AnIntroductiontoDatabaseSystemsE-R圖實體型學生教師學生學號年齡性別姓名AnIntrodE-R圖(續(xù))聯(lián)系聯(lián)系本身:用菱形表示,菱形框內寫明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n)AnIntroductiontoDatabaseSystemsE-R圖(續(xù))聯(lián)系AnIntroductiontoDa聯(lián)系的表示方法實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)系名1n1:n聯(lián)系實體型A實體型B聯(lián)系名mnm:n聯(lián)系實體型BAnIntroductiontoDatabaseSystems聯(lián)系的表示方法實體型A聯(lián)系名實體型B111:1聯(lián)系實體型A聯(lián)聯(lián)系的表示方法示例班級班級-班長班長111:1聯(lián)系課程選修學生mnm:n聯(lián)系班級組成學生1n1:n聯(lián)系AnIntroductiontoDatabaseSystems聯(lián)系的表示方法示例班級班級-班長班長111:1聯(lián)系課程選修學聯(lián)系的屬性課程選修學生mn成績聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也可以有屬性。如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來

AnIntroductiontoDatabaseSystems聯(lián)系的屬性課程選修學生mn成績聯(lián)系的屬性:AnIntrod六、一個實例用E-R圖表示某個工廠物資管理的概念模型實體倉庫:倉庫號、面積、電話號碼零件:零件號、名稱、規(guī)格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱AnIntroductiontoDatabaseSystems六、一個實例用E-R圖表示某個工廠物資管理的概念模型AnI一個實例實體之間的聯(lián)系如下:(1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯(lián)系。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯(lián)系。職工實體型中具有一對多的聯(lián)系(3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯(lián)系AnIntroductiontoDatabaseSystems一個實例實體之間的聯(lián)系如下:AnIntroduction一個實例AnIntroductiontoDatabaseSystems一個實例AnIntroductiontoDatabas1.2數據模型1.2.1兩大類數據模型1.2.2數據模型的組成要素

1.2.3概念模型

1.2.4最常用的數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI1.2.4最常用的數據模型非關系模型層次模型(HierarchicalModel)網狀模型(NetworkModel)關系模型(RelationalModel)面向對象模型(ObjectOrientedModel)對象關系模型(ObjectRelationalModel)AnIntroductiontoDatabaseSystems1.2.4最常用的數據模型非關系模型AnIntrodu1.2.5層次模型層次模型是數據庫系統(tǒng)中最早出現(xiàn)的數據模型層次數據庫系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數據庫管理系統(tǒng)層次模型用樹形結構來表示各類實體以及實體間的聯(lián)系

AnIntroductiontoDatabaseSystems1.2.5層次模型層次模型是數據庫系統(tǒng)中最早出現(xiàn)的數據模型一、層次數據模型的數據結構層次模型

滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1.有且只有一個結點沒有雙親結點,這個結點稱為根結點2.根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點AnIntroductiontoDatabaseSystems一、層次數據模型的數據結構層次模型AnIntroduct層次數據模型的數據結構(續(xù))

R1

根結點

R2

兄弟結點

R3

葉結點

R4

兄弟結點

R5

葉結點

葉結點圖1.16一個層次模型的示例AnIntroductiontoDatabaseSystems層次數據模型的數據結構(續(xù))層次數據模型的數據結構(續(xù))層次模型的特點:結點的雙親是唯一的只能直接處理一對多的實體聯(lián)系每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在AnIntroductiontoDatabaseSystems層次數據模型的數據結構(續(xù))層次模型的特點:AnIntro層次數據模型的數據結構(續(xù))圖1.17教員學生層次數據庫模型根結點記錄型系的子女結點記錄型教員的雙親結點葉結點葉結點字段AnIntroductiontoDatabaseSystems層次數據模型的數據結構(續(xù))圖1.17教員學生層次數據庫層次數據模型的數據結構(續(xù))圖1.18教員學生層次數據庫的一個值

AnIntroductiontoDatabaseSystems層次數據模型的數據結構(續(xù))圖1.18教員學生層次數據庫二、多對多聯(lián)系在層次模型中的表示多對多聯(lián)系在層次模型中的表示用層次模型間接表示多對多聯(lián)系方法將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結點法虛擬結點法AnIntroductiontoDatabaseSystems二、多對多聯(lián)系在層次模型中的表示多對多聯(lián)系在層次模型中的表示三、層次模型的數據操縱與完整性約束

層次模型的數據操縱查詢插入刪除更新AnIntroductiontoDatabaseSystems三、層次模型的數據操縱與完整性約束層次模型的數據操縱An層次模型的數據操縱與完整性約束(續(xù))層次模型的完整性約束條件

無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性AnIntroductiontoDatabaseSystems層次模型的數據操縱與完整性約束(續(xù))層次模型的完整性約束條件四、層次數據模型的存儲結構鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序AnIntroductiontoDatabaseSystems四、層次數據模型的存儲結構鄰接法AnIntroductio層次數據模型的存儲結構(續(xù))圖1.20層次數據庫及其實例…A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖1.21鄰接法按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集

AnIntroductiontoDatabaseSystems層次數據模型的存儲結構(續(xù))圖1.20層次數據庫及其實例層次數據模型的存儲結構(續(xù))鏈接法用指引來反映數據之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法AnIntroductiontoDatabaseSystems層次數據模型的存儲結構(續(xù))鏈接法AnIntroducti層次數據模型的存儲結構(續(xù))子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟AnIntroductiontoDatabaseSystems層次數據模型的存儲結構(續(xù))子女-兄弟鏈接法AnIntro層次數據模型的存儲結構(續(xù))層次序列鏈接法按樹的前序穿越順序鏈接各記錄值AnIntroductiontoDatabaseSystems層次數據模型的存儲結構(續(xù))層次序列鏈接法AnIntrod五、層次模型的優(yōu)缺點優(yōu)點層次模型的數據結構比較簡單清晰

查詢效率高,性能優(yōu)于關系模型,不低于網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多,應用程序的編寫比較復雜

查詢子女結點必須通過雙親結點由于結構嚴密,層次命令趨于程序化

AnIntroductiontoDatabaseSystems五、層次模型的優(yōu)缺點優(yōu)點AnIntroductionto1.2數據模型1.2.1兩大類數據模型1.2.2數據模型的組成要素

1.2.3概念模型1.2.4最常用的數據模型1.2.5層次模型

1.2.6網狀模型1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI1.2.6網狀模型網狀數據庫系統(tǒng)采用網狀模型作為數據的組織方式典型代表是DBTG系統(tǒng):亦稱CODASYL系統(tǒng)70年代由DBTG提出的一個系統(tǒng)方案奠定了數據庫系統(tǒng)的基本概念、方法和技術實際系統(tǒng)CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGEAnIntroductiontoDatabaseSystems1.2.6網狀模型網狀數據庫系統(tǒng)采用網狀模型作為數據的組織1.網狀數據模型的數據結構網狀模型滿足下面兩個條件的基本層次聯(lián)系的集合:1.允許一個以上的結點無雙親;2.一個結點可以有多于一個的雙親。AnIntroductiontoDatabaseSystems1.網狀數據模型的數據結構網狀模型AnIntroducti網狀數據模型的數據結構(續(xù))表示方法(與層次數據模型相同)實體型:用記錄類型描述每個結點表示一個記錄類型(實體)屬性:用字段描述每個記錄類型可包含若干個字段聯(lián)系:用結點之間的連線表示記錄類型(實體)之間的一對多的父子聯(lián)系AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))表示方法(與層次數據模型相同)A網狀數據模型的數據結構(續(xù))網狀模型與層次模型的區(qū)別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯(lián)系(復合聯(lián)系)網狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網狀模型的一個特例AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))網狀模型與層次模型的區(qū)別AnI網狀數據模型的數據結構(續(xù))網狀模型中子女結點與雙親結點的聯(lián)系可以不唯一要為每個聯(lián)系命名,并指出與該聯(lián)系有關的雙親記錄和子女記錄

R1與R3之間的聯(lián)系L1R2與R3之間的聯(lián)系L2

AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))網狀模型中子女結點與雙親結點的聯(lián)網狀數據模型的數據結構(續(xù))網狀模型的例子

AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))網狀模型的例子AnIntro網狀數據模型的數據結構(續(xù))多對多聯(lián)系在網狀模型中的表示用網狀模型間接表示多對多聯(lián)系方法:將多對多聯(lián)系直接分解成一對多聯(lián)系AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))多對多聯(lián)系在網狀模型中的表示An網狀數據模型的數據結構(續(xù))例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯(lián)系引進一個學生選課的聯(lián)結記錄,由3個數據項組成學號課程號成績表示某個學生選修某一門課程及其成績AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))例如:一個學生可以選修若干門課程網狀數據模型的數據結構(續(xù))圖1.24學生/選課/課程的網狀數據模型AnIntroductiontoDatabaseSystems網狀數據模型的數據結構(續(xù))圖1.24學生/選課/課程的網狀數據模型的操縱與完整性約束(續(xù))網狀數據庫系統(tǒng)(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束碼:唯一標識記錄的數據項的集合

一個聯(lián)系中雙親記錄與子女記錄之間是一對多聯(lián)系支持雙親記錄和子女記錄之間某些約束條件

AnIntroductiontoDatabaseSystems網狀數據模型的操縱與完整性約束(續(xù))網狀數據庫系統(tǒng)(如DBT三、網狀數據模型的存儲結構關鍵實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接AnIntroductiontoDatabaseSystems三、網狀數據模型的存儲結構關鍵AnIntroduction網狀數據模型的存儲結構(續(xù))圖1.25學生/選課/課程的網狀數據庫實例

學生記錄課程記錄選課記錄AnIntroductiontoDatabaseSystems網狀數據模型的存儲結構(續(xù))圖1.25學生/選課/課程的四、網狀數據模型的優(yōu)缺點優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環(huán)境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用AnIntroductiontoDatabaseSystems四、網狀數據模型的優(yōu)缺點優(yōu)點AnIntroduction1.2數據模型1.2.1兩大類數據模型1.2.2數據模型的組成要素

1.2.3概念模型1.2.4最常用的數據模型1.2.5層次模型1.2.6網狀模型

1.2.7關系模型AnIntroductiontoDatabaseSystems1.2數據模型1.2.1兩大類數據模型AnI1.2.7關系模型關系數據庫系統(tǒng)采用關系模型作為數據的組織方式1970年美國IBM公司SanJose研究室的研究員E.F.Codd首次提出了數據庫系統(tǒng)的關系模型計算機廠商新推出的數據庫管理系統(tǒng)幾乎都支持關系模型

AnIntroductiontoDatabaseSystems1.2.7關系模型關系數據庫系統(tǒng)采用關系模型作為數據的組織一、關系數據模型的數據結構

在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。學號姓名年齡性別系名年級2005004王小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005………………學生登記表屬性元組AnIntroductiontoDatabaseSystems一、關系數據模型的數據結構在用戶觀點下,關系模型中數據的邏關系數據模型的數據結構(續(xù))關系(Relation)一個關系對應通常說的一張表元組(Tuple)表中的一行即為一個元組屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))關系(Relation)AnI關系數據模型的數據結構(續(xù))主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))主碼(Key)AnIntrod關系數據模型的數據結構(續(xù))例1學生、系、系與學生之間的一對多聯(lián)系:學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯(lián)系AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))例1AnIntroductio關系數據模型的數據結構(續(xù))例3學生、課程、學生與課程之間的多對多聯(lián)系:

學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))例3AnIntroductio關系數據模型的數據結構(續(xù))關系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數據項,不允許表中還有表

圖1.27中工資和扣除是可分的數據項,不符合關系模型要求

職工號姓名職稱工資扣除實發(fā)基本津貼職務房租水電86051陳平講師13051200501601122283圖1.27一個工資表(表中有表)實例AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))關系必須是規(guī)范化的,滿足一定的規(guī)關系數據模型的數據結構(續(xù))關系術語一般表格的術語關系名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規(guī)范關系表中有表(大表中嵌有小表)表1.2術語對比AnIntroductiontoDatabaseSystems關系數據模型的數據結構(續(xù))關系術語一般表格的術語關系名表名二、關系數據模型的操縱與完整性約束數據操作是集合操作,操作對象和操作結果都是關系查詢插入刪除更新數據操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”AnIntroductiontoDatabaseSystems二、關系數據模型的操縱與完整性約束數據操作是集合操作,操作對關系數據模型的操縱與完整性約束(續(xù))關系的完整性約束條件實體完整性參照完整性用戶定義的完整性AnIntroductiontoDatabaseSystems關系數據模型的操縱與完整性約束(續(xù))關系的完整性約束條件A三、關系數據模型的存儲結構實體及實體間的聯(lián)系都用表來表示表以文件形式存儲有的DBMS一個表對應一個操作系統(tǒng)文件有的DBMS自己設計文件結構AnIntroductiontoDatabaseSystems三、關系數據模型的存儲結構實體及實體間的聯(lián)系都用表來表示An四、關系數據模型的優(yōu)缺點優(yōu)點建立在嚴格的數學概念的基礎上概念單一實體和各類聯(lián)系都用關系來表示對數據的檢索結果也是關系關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發(fā)建立的工作AnIntroductiontoDatabaseSystems四、關系數據模型的優(yōu)缺點優(yōu)點AnIntroduction關系數據模型的優(yōu)缺點(續(xù))缺點存取路徑對用戶透明導致查詢效率往往不如非關系數據模型為提高性能,必須對用戶的查詢請求進行優(yōu)化增加了開發(fā)DBMS的難度AnIntroductiontoDatabaseSystems關系數據模型的優(yōu)缺點(續(xù))缺點AnIntroduction第一章緒論1.1數據庫系統(tǒng)概述1.2數據模型1.3數據庫系統(tǒng)結構1.4數據庫系統(tǒng)的組成1.5小結AnIntroductiontoDatabaseSystems第一章緒論1.1數據庫系統(tǒng)概述AnIntroduc1.3數據庫系統(tǒng)結構從數據庫管理系統(tǒng)角度看,數據庫系統(tǒng)通常采用三級模式結構,是數據庫系統(tǒng)內部的系統(tǒng)結構

從數據庫最終用戶角度看(數據庫系統(tǒng)外部的體系結構),數據庫系統(tǒng)的結構分為:單用戶結構主從式結構分布式結構客戶/服務器瀏覽器/應用服務器/數據庫服務器多層結構等AnIntroductiontoDatabaseSystems1.3數據庫系統(tǒng)結構從數據庫管理系統(tǒng)角度看,數據庫系統(tǒng)通常數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念1.3.2數據庫系統(tǒng)的三級模式結構1.3.3數據庫的二級映像功能與數據獨立性

AnIntroductiontoDatabaseSystems數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念An1.3.1數據庫系統(tǒng)模式的概念“型”和“值”的概念型(Type)對某一類數據的結構和屬性的說明值(Value)是型的一個具體賦值例如學生記錄型:(學號,姓名,性別,系別,年齡,籍貫)一個記錄值:(900201,李明,男,計算機,22,江蘇)AnIntroductiontoDatabaseSystems1.3.1數據庫系統(tǒng)模式的概念“型”和“值”的概念An數據庫系統(tǒng)模式的概念(續(xù))模式(Schema)數據庫邏輯結構和特征的描述是型的描述反映的是數據的結構及其聯(lián)系模式是相對穩(wěn)定的實例(Instance)模式的一個具體值反映數據庫某一時刻的狀態(tài)同一個模式可以有很多實例實例隨數據庫中的數據的更新而變動AnIntroductiontoDatabaseSystems數據庫系統(tǒng)模式的概念(續(xù))模式(Schema)AnIntr數據庫系統(tǒng)模式的概念(續(xù))例如:在學生選課數據庫模式中,包含學生記錄、課程記錄和學生選課記錄2003年的一個學生數據庫實例,包含:2003年學校中所有學生的記錄學校開設的所有課程的記錄所有學生選課的記錄

2002年度學生數據庫模式對應的實例與2003年度學生數據庫模式對應的實例是不同的AnIntroductiontoDatabaseSystems數據庫系統(tǒng)模式的概念(續(xù))例如:在學生選課數據庫模式中,包數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念1.3.2數據庫系統(tǒng)的三級模式結構

1.3.3數據庫的二級映像功能與數據獨立性

AnIntroductiontoDatabaseSystems數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念An1.3.2數據庫系統(tǒng)的三級模式結構模式(Schema)

外模式(ExternalSchema)內模式(InternalSchema)AnIntroductiontoDatabaseSystems1.3.2數據庫系統(tǒng)的三級模式結構模式(Schema)An數據庫系統(tǒng)的三級模式結構(續(xù))圖1.28數據庫系統(tǒng)的三級模式結構AnIntroductiontoDatabaseSystems數據庫系統(tǒng)的三級模式結構(續(xù))圖1.28數據庫系統(tǒng)的三級一、模式(Schema)模式(也稱邏輯模式)數據庫中全體數據的邏輯結構和特征的描述所有用戶的公共數據視圖,綜合了所有用戶的需求一個數據庫只有一個模式模式的地位:是數據庫系統(tǒng)模式結構的中間層與數據的物理存儲細節(jié)和硬件環(huán)境無關與具體的應用程序、開發(fā)工具及高級程序設計語言無關AnIntroductiontoDatabaseSystems一、模式(Schema)模式(也稱邏輯模式)AnIntro模式(續(xù))模式的定義數據的邏輯結構(數據項的名字、類型、取值范圍等)數據之間的聯(lián)系數據有關的安全性、完整性要求AnIntroductiontoDatabaseSystems模式(續(xù))模式的定義AnIntroductiontoD二、外模式(ExternalSchema)外模式(也稱子模式或用戶模式)數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特征的描述數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示AnIntroductiontoDatabaseSystems二、外模式(ExternalSchema)外模式(也稱子模外模式(續(xù))外模式的地位:介于模式與應用之間模式與外模式的關系:一對多外模式通常是模式的子集一個數據庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同外模式與應用的關系:一對多同一外模式也可以為某一用戶的多個應用系統(tǒng)所使用但一個應用程序只能使用一個外模式AnIntroductiontoDatabaseSystems外模式(續(xù))外模式的地位:介于模式與應用之間AnIntro外模式(續(xù))外模式的用途保證數據庫安全性的一個有力措施每個用戶只能看見和訪問所對應的外模式中的數據AnIntroductiontoDatabaseSystems外模式(續(xù))外模式的用途AnIntroductionto三、內模式(InternalSchema)內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在數據庫內部的表示方式記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)索引的組織方式數據是否壓縮存儲數據是否加密數據存儲記錄結構的規(guī)定一個數據庫只有一個內模式AnIntroductiontoDatabaseSystems三、內模式(InternalSchema)內模式(也稱存儲內模式(續(xù))例如學生記錄,如果按堆存儲,則插入一條新記錄總是放在學生記錄存儲的最后,如右圖所示AnIntroductiontoDatabaseSystems內模式(續(xù))例如學生記錄,如果按堆存儲,則插入一條新記錄總是內模式(續(xù))如果按學號升序存儲,則插入一條記錄就要找到它應在的位置插入,如圖1.29(b)所示如果按照學生年齡聚簇存放,假如新插入的S3是16歲,則應插入的位置如圖1.29(c)所示

圖1.29記錄不同的存儲方式示意圖AnIntroductiontoDatabaseSystems內模式(續(xù))如果按學號升序存儲,則插入一條記錄就要找到它應在數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念1.3.2數據庫系統(tǒng)的三級模式結構1.3.3數據庫的二級映像功能與數據獨立性

AnIntroductiontoDatabaseSystems數據庫系統(tǒng)結構(續(xù))1.3.1數據庫系統(tǒng)模式的概念An1.3.3數據庫的二級映像功能與數據獨立性三級模式是對數據的三個抽象級別二級映象在DBMS內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換外模式/模式映像模式/內模式映像AnIntroductiontoDatabaseSystems1.3.3數據庫的二級映像功能與數據獨立性三級模式是對數據一、外模式/模式映象模式:描述的是數據的全局邏輯結構外模式:描述的是數據的局部邏輯結構同一個模式可以有任意多個外模式每一個外模式,數據庫系統(tǒng)都有一個外模式/模式映象,定義外模式與模式之間的對應關系映象定義通常包含在各自外模式的描述中AnIntroductiontoDatabaseSystems一、外模式/模式映象模式:描述的是數據的全局邏輯結構AnI外模式/模式映象(續(xù))保證數據的邏輯獨立性當模式改變時,數據庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。AnIntroductiontoDatabaseSystems外模式/模式映象(續(xù))保證數據的邏輯獨立性AnIntrod二、模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內部是如何表示的數據庫中模式/內模式映象是唯一的該映象定義通常包含在模式描述中AnIntroductiontoDatabaseSystems二、模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與模式/內模式映象(續(xù))保證數據的物理獨立性當數據庫的存儲結構改變了(例如選用了另一種存儲結構),數據庫管理員修改模式/內模式映象,使模式保持不變應用程序不受影響。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))保證數據的物理獨立性AnIntrod模式/內模式映象(續(xù))數據庫模式即全局邏輯結構是數據庫的中心與關鍵獨立于數據庫的其他層次設計數據庫模式結構時應首先確定數據庫的邏輯模式AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))數據庫模式AnIntroductio模式/內模式映象(續(xù))數據庫的內模式依賴于它的全局邏輯結構獨立于數據庫的用戶視圖,即外模式獨立于具體的存儲設備將全局邏輯結構中所定義的數據結構及其聯(lián)系按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率

AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))數據庫的內模式AnIntroduct模式/內模式映象(續(xù))數據庫的外模式面向具體的應用程序定義在邏輯模式之上獨立于存儲模式和存儲設備當應用需求發(fā)生較大變化,相應外模式不能滿足其視圖要求時,該外模式就得做相應改動設計外模式時應充分考慮到應用的擴充性

AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))數據庫的外模式AnIntroduct模式/內模式映象(續(xù))特定的應用程序在外模式描述的數據結構上編制的依賴于特定的外模式與數據庫的模式和存儲結構獨立不同的應用程序有時可以共用同一個外模式數據庫的二級映像保證了數據庫外模式的穩(wěn)定性從底層保證了應用程序的穩(wěn)定性,除非應用需求本身發(fā)生變化,否則應用程序一般不需要修改

AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))特定的應用程序AnIntroduct模式/內模式映象(續(xù))數據與程序之間的獨立性,使得數據的定義和描述可以從應用程序中分離出去數據的存取由DBMS管理用戶不必考慮存取路徑等細節(jié)簡化了應用程序的編制大大減少了應用程序的維護和修改

AnIntroductiontoDatabaseSystems模式/內模式映象(續(xù))數據與程序之間的獨立性,使得數據的定義第一章緒論1.1數據庫系統(tǒng)概述1.2數據模型1.3數據庫系統(tǒng)結構1.4數據庫系統(tǒng)的組成1.5小結AnIntroductiontoDatabaseSystems第一章緒論1.1數據庫系統(tǒng)概述AnIntroduc1.4數據庫系統(tǒng)的組成數據庫數據庫管理系統(tǒng)(及其開發(fā)工具)應用系統(tǒng)數據庫管理員AnIntroductiontoDatabaseSystems1.4數據庫系統(tǒng)的組成數據庫AnIntroduction數據庫系統(tǒng)的組成(續(xù))硬件平臺及數據庫軟件人員AnIntroductiontoDatabaseSystems數據庫系統(tǒng)的組成(續(xù))硬件平臺及數據庫AnIntrodu一、硬件平臺及數據庫數據庫系統(tǒng)對硬件資源的要求(1)足夠大的內存操作系統(tǒng)DBMS的核心模塊數據緩沖區(qū)應用程序AnIntroductiontoDatabaseSystems一、硬件平臺及數據庫數據庫系統(tǒng)對硬件資源的要求AnIntr硬件平臺及數據庫(續(xù))(2)足夠大的外存磁盤或磁盤陣列數據庫光盤、磁帶數據備份(3)較高的通道能力,提高數據傳送率AnIntroductiontoDatabaseSystems硬件平臺及數據庫(續(xù))(2)足夠大的外存AnI二、軟件DBMS支持DBMS運行的操作系統(tǒng)與數據庫接口的高級語言及其編譯系統(tǒng)以DBMS為核心的應用開發(fā)工具為特定應用環(huán)境開發(fā)的數據庫應用系統(tǒng)AnIntroduction

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論