數據庫系統--第1章_第1頁
數據庫系統--第1章_第2頁
數據庫系統--第1章_第3頁
數據庫系統--第1章_第4頁
數據庫系統--第1章_第5頁
已閱讀5頁,還剩134頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database System數據庫系統概論An Introduction to Database System An Introduction to Database System內容安排(內容安排(1) 基礎篇基礎篇n第第1章章 緒論緒論n第第2章章 關系數據庫關系數據庫n第第3章章 關系數據庫標準語言關系數據庫標準語言SQLn第第4章章 數據庫安全性數據庫安全性n第第5章章 數據庫完整性數據庫完整性 設計與應用開發篇設計與應用開發篇n第第6章章 關系數據理論關系數據理論n第第7章章 數據庫設計數據庫設計n第第8章章 數據庫編程數據庫編程An Intr

2、oduction to Database System內容安排(內容安排(2) 系統篇系統篇n第第9章章 關系查詢處理和查詢優化關系查詢處理和查詢優化n第第10章章 數據庫恢復技術數據庫恢復技術n第第11章章 并發控制并發控制n* 第第12章章 數據庫管理系統數據庫管理系統第第1至第至第11章是本科專業的基本教程章是本科專業的基本教程(書中有(書中有*號的部分除外)號的部分除外)第第12至第至第16章是新技術篇(本科生、研究生選讀)章是新技術篇(本科生、研究生選讀)An Introduction to Database System數據庫系統概論第一章第一章 緒論緒論An Introducti

3、on to Database System第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系統的結構數據庫系統的結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結An Introduction to Database System數據庫的地位數據庫的地位v數據庫技術產生于六十年代末,是數據管理的有效技數據庫技術產生于六十年代末,是數據管理的有效技術,是計算機科學的重要分支。術,是計算機科學的重要分支。v數據庫技術是信息系統的核心和基礎,它的出現極大數據庫技術是信息系統的核心和基礎,它的出現極大地促進了計算機應用向各行各業的滲透。地促進了

4、計算機應用向各行各業的滲透。v數據庫已經成為每個人生活中不可缺少的部分數據庫已經成為每個人生活中不可缺少的部分。An Introduction to Database System1.1 數據庫系統概述數據庫系統概述 1.1.1 數據庫的數據庫的4個基本概念個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database System1.1.1 數據庫的數據庫的4個基本概念個基本概念v數據數據(Data)v數據庫(數據庫(Database)v數據庫管理系統數據庫管理系統(DBMS)v數

5、據庫系統數據庫系統(DBS)An Introduction to Database System1. 數據數據v數據(數據(Data)是數據庫中存儲的基本對象)是數據庫中存儲的基本對象v數據的定義數據的定義n描述事物的符號記錄描述事物的符號記錄v數據的種類數據的種類n數字、文字、圖形、圖像、音頻、視頻、學生的檔數字、文字、圖形、圖像、音頻、視頻、學生的檔案記錄等案記錄等An Introduction to Database System數據舉例數據舉例v數據的含義稱為數據的語義,數據與其語義是不數據的含義稱為數據的語義,數據與其語義是不可分的可分的。n例如例如 93是一個數據是一個數據語義語義

6、1:學生某門課的成績:學生某門課的成績語義語義2:某人的體重:某人的體重語義語義3:計算機系:計算機系2013級學生人數級學生人數語義語義4:請同學給出:請同學給出An Introduction to Database System數據舉例數據舉例v學生檔案中的學生記錄學生檔案中的學生記錄(李明,男,(李明,男,199505,江蘇南京市,計算機系,江蘇南京市,計算機系,2013)n語義:學生姓名、性別、出生年月、出生地、所在院語義:學生姓名、性別、出生年月、出生地、所在院系、入學時間系、入學時間n解釋:李明是個大學生,解釋:李明是個大學生,1995年年5月出生,江蘇南京市月出生,江蘇南京市人,

7、人, 2013年考入計算機系年考入計算機系An Introduction to Database System2. 數據庫數據庫v數據庫的定義數據庫的定義n數據庫(數據庫(Database,簡稱,簡稱DB)是)是長期儲存長期儲存在計算機在計算機內、內、有組織有組織的、的、可共享可共享的的大量大量數據的集合。數據的集合。v數據庫的基本特征數據庫的基本特征n數據按一定的數據模型組織、描述和儲存數據按一定的數據模型組織、描述和儲存n可為各種用戶共享可為各種用戶共享n冗余度較小冗余度較小n數據獨立性較高數據獨立性較高n易擴展易擴展An Introduction to Database System3.

8、 數據庫管理系統數據庫管理系統v什么是數據庫管理系統什么是數據庫管理系統n位于用戶與操作系統之間的一層數據管理軟件位于用戶與操作系統之間的一層數據管理軟件n是基礎軟件,是一個大型復雜的軟件系統是基礎軟件,是一個大型復雜的軟件系統 v數據庫管理系統的用途數據庫管理系統的用途n科學地組織和存儲數據、高效地獲取和維護數據科學地組織和存儲數據、高效地獲取和維護數據An Introduction to Database System硬件平臺硬件平臺基礎軟件平臺基礎軟件平臺軟件基礎構架平臺軟件基礎構架平臺應用軟件平臺應用軟件平臺軟件產品軟件產品協同軟件協同軟件辦公軟件辦公軟件 中間件中間件 應用服務器應用

9、服務器數據庫在計算機系統中的位置數據庫在計算機系統中的位置An Introduction to Database System數據庫管理系統的主要功能數據庫管理系統的主要功能n數據定義功能數據定義功能l提供數據定義語言(提供數據定義語言(DDL)l定義數據庫中的數據對象定義數據庫中的數據對象n數據組織、存儲和管理數據組織、存儲和管理l分類組織、存儲和管理各種數據分類組織、存儲和管理各種數據l確定組織數據的文件結構和存取方式確定組織數據的文件結構和存取方式l實現數據之間的聯系實現數據之間的聯系l提供多種存取方法提高存取效率提供多種存取方法提高存取效率An Introduction to Data

10、base System數據庫管理系統的主要功能數據庫管理系統的主要功能n數據操縱功能數據操縱功能l提供數據操縱語言(提供數據操縱語言(DML)l實現對數據庫的基本操作實現對數據庫的基本操作 (查詢、插入、刪除和修改)(查詢、插入、刪除和修改)n數據庫的事務管理和運行管理數據庫的事務管理和運行管理l數據庫在建立、運行和維護時由數據庫管理系統統一管數據庫在建立、運行和維護時由數據庫管理系統統一管理和控制理和控制l保證數據的安全性、完整性、多用戶對數據的并發使用保證數據的安全性、完整性、多用戶對數據的并發使用l發生故障后的系統恢復發生故障后的系統恢復An Introduction to Databa

11、se System數據庫管理系統的主要功能數據庫管理系統的主要功能n數據庫的建立和維護功能數據庫的建立和維護功能l數據庫初始數據的裝載和轉換數據庫初始數據的裝載和轉換l數據庫轉儲、恢復功能數據庫轉儲、恢復功能l數據庫的重組織數據庫的重組織l性能監視、分析等性能監視、分析等n其它功能其它功能l數據庫管理系統與網絡中其它軟件系統的通信數據庫管理系統與網絡中其它軟件系統的通信l數據庫管理系統系統之間的數據轉換數據庫管理系統系統之間的數據轉換l異構數據庫之間的互訪和互操作異構數據庫之間的互訪和互操作An Introduction to Database System4.數據庫系統數據庫系統v數據庫系統

12、數據庫系統(Database System,簡稱,簡稱DBS)v數據庫系統的構成數據庫系統的構成n數據庫數據庫n數據庫管理系統(及其應用開發工具)數據庫管理系統(及其應用開發工具)n應用程序應用程序n數據庫管理員數據庫管理員 An Introduction to Database System 數據庫數據庫 應用系統應用系統應用開發工具應用開發工具 操作系統操作系統 數據庫管理系統數據庫管理系統 數據庫管理員數據庫管理員用戶用戶用戶用戶用戶用戶 數據庫系統數據庫系統An Introduction to Database System1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念

13、四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database System數據管理技術的產生和發展數據管理技術的產生和發展v什么是數據管理什么是數據管理n對數據進行分類、組織、編碼、存儲、檢索和維護對數據進行分類、組織、編碼、存儲、檢索和維護n數據處理的中心問題數據處理的中心問題v數據管理技術的發展過程數據管理技術的發展過程n人工管理階段(人工管理階段(20世紀世紀50年代中之前)年代中之前)n文件系統階段(文件系統階段(20世紀世紀50年代末年代末-60年代中)年代中)n數據庫

14、系統階段(數據庫系統階段(20世紀世紀60年代末年代末-現在)現在)An Introduction to Database System數據管理技術的產生和發展(續)數據管理技術的產生和發展(續)v數據管理技術的發展動力數據管理技術的發展動力n應用需求的推動應用需求的推動n計算機硬件的發展計算機硬件的發展n計算機軟件的發展計算機軟件的發展An Introduction to Database System1. 人工管理階段人工管理階段v時期時期n20世紀世紀50年代中之前年代中之前v產生的背景產生的背景n應用背景應用背景科學計算科學計算n硬件背景硬件背景無直接存取存儲設備無直接存取存儲設備n軟

15、件背景軟件背景沒有操作系統沒有操作系統n處理方式處理方式批處理批處理An Introduction to Database System人工管理階段(續)人工管理階段(續)v特點特點n數據的管理者:用戶(程序員),數據不保存數據的管理者:用戶(程序員),數據不保存n數據面向的對象:某一應用程序數據面向的對象:某一應用程序 n數據的共享程度:無共享、冗余度極大數據的共享程度:無共享、冗余度極大n數據的獨立性:不獨立,完全依賴于程序數據的獨立性:不獨立,完全依賴于程序n數據的結構化:無結構數據的結構化:無結構n數據控制能力:應用程序自己控制數據控制能力:應用程序自己控制An Introductio

16、n to Database System應用程序與數據的對應關系(人工管理階段)應用程序與數據的對應關系(人工管理階段) 應用程序應用程序1數據集數據集1應用程序應用程序2數據集數據集2應用程序應用程序n數據集數據集n.人工管理階段人工管理階段 應用程序與數據之間的對應關系應用程序與數據之間的對應關系 An Introduction to Database System2. 文件系統階段文件系統階段v時期時期n20世紀世紀50年代末年代末-60年代中年代中v產生的背景產生的背景n應用背景應用背景科學計算、數據管理科學計算、數據管理n硬件背景硬件背景磁盤、磁鼓磁盤、磁鼓n軟件背景軟件背景有文件系

17、統有文件系統n處理方式處理方式聯機實時處理、批處理聯機實時處理、批處理An Introduction to Database System文件系統階段(續)文件系統階段(續)v 特點特點n 數據的管理者:文件系統,數據可長期保存數據的管理者:文件系統,數據可長期保存n 數據面向的對象:某一應用數據面向的對象:某一應用 n 數據的共享程度:共享性差、冗余度大數據的共享程度:共享性差、冗余度大n 數據的結構化:記錄內有結構,整體無結構數據的結構化:記錄內有結構,整體無結構n 數據的獨立性:獨立性差數據的獨立性:獨立性差n 數據控制能力:應用程序自己控制數據控制能力:應用程序自己控制An Intro

18、duction to Database System應用程序與數據的對應關系(文件系統階段)應用程序與數據的對應關系(文件系統階段)應用程序應用程序文件文件應用程序應用程序文件文件2應用程序應用程序文件文件n存取存取方法方法.文件系統階段文件系統階段 應用程序與數據之間的對應關系應用程序與數據之間的對應關系 An Introduction to Database System3. 數據庫系統階段數據庫系統階段v時期時期n20世紀世紀60年代末以來年代末以來v產生的背景產生的背景n應用背景應用背景大規模數據管理大規模數據管理n硬件背景硬件背景大容量磁盤、磁盤陣列大容量磁盤、磁盤陣列n軟件背景軟件

19、背景有數據庫管理系統有數據庫管理系統n處理方式處理方式聯機實時處理聯機實時處理,分布處理分布處理,批處理批處理v文件系統到數據庫系統,標志著數據管理技術的飛躍文件系統到數據庫系統,標志著數據管理技術的飛躍An Introduction to Database System1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database System一個例子一個例子v 學生的信息包括學號、姓名、性別、年齡、專業和獎勵學生的信

20、息包括學號、姓名、性別、年齡、專業和獎勵n用文件系統實現學籍管理用文件系統實現學籍管理l數據存儲數據存儲定長記錄定長記錄 存儲在存儲在“學生基本信息學生基本信息”文件中文件中變長記錄變長記錄 存放在另一個存放在另一個”獎勵獎勵”文件文件“學生基本信息學生基本信息”表中的表中的位置和長度描述位置和長度描述“獎勵獎勵”文件中記錄的開始位置和長度文件中記錄的開始位置和長度l查詢數據查詢數據編寫應用程序,實現數據的錄入和查找編寫應用程序,實現數據的錄入和查找n缺點:缺點:程序員程序員必須必須關注記錄結構和不同文件中記錄之關注記錄結構和不同文件中記錄之間的聯系,工作量大,編程復雜,開發速度慢間的聯系,工

21、作量大,編程復雜,開發速度慢An Introduction to Database System一個例子(續)一個例子(續)獎勵獎勵2011校獎學金,校獎學金,2012國家獎學金國家獎學金2012校優秀學生校優秀學生“獎勵獎勵”文件的結構和內容文件的結構和內容學號學號姓名姓名性別性別年齡年齡專業專業位置位置長度長度20100001 史玉明史玉明女女20計算機計算機03020100100 李明虎李明虎男男21機械機械301520100234張翔張翔男男21化工化工450“學生基本信息學生基本信息”文件的結構和內容文件的結構和內容An Introduction to Database System

22、一個例子(續)一個例子(續)n數據庫系統管理數據庫系統管理l存儲數據存儲數據建立兩張表建立兩張表: STUDENT表表-存放學生的基本信息,存放學生的基本信息, AWARD表表-存放學生的獎勵情況存放學生的獎勵情況使用使用兩條插入命令兩條插入命令 完成完成學生基本信息和獎勵情況學生基本信息和獎勵情況的的數據數據錄入功能錄入功能l查詢功能查詢功能 可以用一條查詢語句實現可以用一條查詢語句實現An Introduction to Database System1.1.3 數據庫系統的特點數據庫系統的特點v數據結構化數據結構化v數據的共享性高,冗余度低且易擴充數據的共享性高,冗余度低且易擴充v數據獨

23、立性高數據獨立性高v數據由數據庫管理系統統一管理和控制數據由數據庫管理系統統一管理和控制An Introduction to Database System數據結構化數據結構化v數據的整體結構化數據的整體結構化是數據庫的主要特征之一是數據庫的主要特征之一 v整體結構化整體結構化n不再僅僅針對某一個應用,而是面向全組織不再僅僅針對某一個應用,而是面向全組織n不僅數據內部結構化,整體是結構化的,數據之間具不僅數據內部結構化,整體是結構化的,數據之間具有聯系有聯系n數據記錄可以數據記錄可以變長變長n數據的最小存取單位是數據的最小存取單位是數據項數據項數據的用數據的用數據模型數據模型描述,無需應用程序

24、定義描述,無需應用程序定義An Introduction to Database System數據的共享性高,冗余度低且易擴充數據的共享性高,冗余度低且易擴充v數據面向整個系統,可以被多個用戶、多個應數據面向整個系統,可以被多個用戶、多個應用共享使用。用共享使用。v數據共享的好處數據共享的好處n減少數據冗余,節約存儲空間減少數據冗余,節約存儲空間n避免數據之間的不相容性與不一致性避免數據之間的不相容性與不一致性 n使系統易于擴充使系統易于擴充An Introduction to Database System數據獨立性高數據獨立性高v物理獨立性物理獨立性n指用戶的應用程序與數據庫中數據的物理存

25、儲是相互指用戶的應用程序與數據庫中數據的物理存儲是相互獨立的。當數據的物理存儲改變了,應用程序不用改獨立的。當數據的物理存儲改變了,應用程序不用改變。變。v邏輯獨立性邏輯獨立性n指用戶的應用程序與數據庫的邏輯結構是相互獨立的。指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,應用程序不用改變。數據的邏輯結構改變了,應用程序不用改變。 v數據獨立性由數據庫管理系統的二級映像功能來數據獨立性由數據庫管理系統的二級映像功能來保證。保證。An Introduction to Database System數據由數據管理系統統一管理和控制數據由數據管理系統統一管理和控制v數據庫管理系

26、統提供的數據控制功能數據庫管理系統提供的數據控制功能(1)數據的安全性()數據的安全性(Security)保護)保護保護數據以防止不合法的使用造成的數據的泄密和破壞。保護數據以防止不合法的使用造成的數據的泄密和破壞。(2)數據的完整性()數據的完整性(Integrity)檢查)檢查保證數據的正確性、有效性和相容性。保證數據的正確性、有效性和相容性。(3)并發()并發(Concurrency)控制)控制對多用戶的并發操作加以控制和協調,防止相互干擾而得到對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果。錯誤的結果。(4)數據庫恢復()數據庫恢復(Recovery)將數據庫從錯誤狀態

27、恢復到某一已知的正確狀態。將數據庫從錯誤狀態恢復到某一已知的正確狀態。An Introduction to Database System應用程序與數據的對應關系(數據庫系統階段)應用程序與數據的對應關系(數據庫系統階段)數據庫管數據庫管理系統理系統應用程序應用程序1應用程序應用程序2數據庫數據庫數據庫系統階段數據庫系統階段 應用程序與數據之間的對應關系應用程序與數據之間的對應關系 An Introduction to Database System數據庫概念小結數據庫概念小結v 數據庫是長期存儲在計算機內有組織的大量的共享的數據集數據庫是長期存儲在計算機內有組織的大量的共享的數據集合。合。v

28、 可以供各種用戶共享,具有最小冗余度和較高的數據獨立性。可以供各種用戶共享,具有最小冗余度和較高的數據獨立性。v 數據庫管理系統數據庫管理系統在數據庫建立、運用和維護時對數據庫進行在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性、安全性,并在多用戶同時統一控制,以保證數據的完整性、安全性,并在多用戶同時使用數據庫時進行并發控制,在發生故障后對數據庫進行恢使用數據庫時進行并發控制,在發生故障后對數據庫進行恢復。復。An Introduction to Database System第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系

29、統的結構數據庫系統的結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結An Introduction to Database System1.2 數據模型數據模型v數據模型是對現實世界數據特征的抽象。數據模型是對現實世界數據特征的抽象。v通俗地講數據模型就是通俗地講數據模型就是現實世界的模擬現實世界的模擬。v數據模型應滿足三方面要求數據模型應滿足三方面要求n能比較能比較真實真實地模擬現實世界地模擬現實世界n容易容易為人所為人所理解理解n便于在計算機上便于在計算機上實現實現v數據模型是數據庫系統的數據模型是數據庫系統的核心和基礎核心和基礎An Introduction to Datab

30、ase System 1.2 數據模型數據模型 1.2.1 兩類數據模型兩類數據模型 1.2.2 概念模型概念模型 1.2.3 數據模型的組成要素數據模型的組成要素 1.2.4 常用的數據模型常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System 1.2.1 兩類數據模型兩類數據模型v 數據模型分為兩類(兩個不同的層次)數據模型分為兩類(兩個不同的層次)(1) 概念模型概念模型 也稱信息模型,它是按用戶的觀點來對數也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計

31、。據和信息建模,用于數據庫設計。 (2) 邏輯模型和物理模型邏輯模型和物理模型 n邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象數邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象數據模型、對象關系數據模型、半結構化數據模型等。按計算機系據模型、對象關系數據模型、半結構化數據模型等。按計算機系統的觀點對數據建模,用于統的觀點對數據建模,用于DBMS實現。實現。n物理模型是對數據最底層的抽象,描述數據在系統內部的表示方物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。An Int

32、roduction to Database System兩類數據模型(續)兩類數據模型(續)v客觀對象的抽象過程客觀對象的抽象過程-兩步抽象兩步抽象n現實世界中的客觀對象抽象為概念模型;現實世界中的客觀對象抽象為概念模型;l將現實世界抽象為信息世界將現實世界抽象為信息世界n把概念模型轉換為某一數據庫管理系統支持的數據模把概念模型轉換為某一數據庫管理系統支持的數據模型。型。l將信息世界轉換為機器世界將信息世界轉換為機器世界An Introduction to Database System兩類數據模型(續)兩類數據模型(續)數據庫管理系統支持的數據模型數據庫管理系統支持的數據模型概念模型概念模型

33、認識認識抽象抽象信息世界信息世界機器世界機器世界現實世界中客觀對象的抽象過程現實世界中客觀對象的抽象過程現實世界現實世界 概念模型概念模型數據庫設計人員完成數據庫設計人員完成邏輯模型邏輯模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 邏輯模型邏輯模型數據庫設計人員完成數據庫設計人員完成數據庫設計工具協助完成數據庫設計工具協助完成An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 概念模型概念模型 1.2.3 數據模型的組成要素數據模型的組成要素 1.2.4 最常用的數據模型最常用的數據

34、模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System1.2.2 概念模型概念模型v概念模型的用途概念模型的用途n概念模型用于信息世界的建模概念模型用于信息世界的建模n是現實世界到機器世界的一個中間層次是現實世界到機器世界的一個中間層次n是數據庫設計的有力工具是數據庫設計的有力工具n數據庫設計人員和用戶之間進行交流的語言數據庫設計人員和用戶之間進行交流的語言v對概念模型的基本要求對概念模型的基本要求n較強的語義表達能力較強的語義表達能力n簡單、清晰、易于用戶理解簡單、清晰、易于用戶理解A

35、n Introduction to Database System 1.2.2 概念模型概念模型1. 信息世界中的基本概念信息世界中的基本概念2. 概念模型的一種表示方法:實體概念模型的一種表示方法:實體-聯系方法聯系方法An Introduction to Database System1. 信息世界中的基本概念信息世界中的基本概念(1)實體()實體(Entity) 客觀存在并可相互區別的事物稱為實體。客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念。可以是具體的人、事、物或抽象的概念。(2)屬性()屬性(Attribute) 實體所具有的某一特性稱為屬性。實體所具有的

36、某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。一個實體可以由若干個屬性來刻畫。 (3)碼()碼(Key) 唯一標識實體的屬性集稱為碼。唯一標識實體的屬性集稱為碼。An Introduction to Database System信息世界中的基本概念(續)信息世界中的基本概念(續)(4)實體型()實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實體稱為用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型實體型(5)實體集()實體集(Entity Set) 同一類型實體的集合稱為實體集同一類型實體的集合稱為實體集An Introduction to Database

37、System信息世界中的基本概念(續)信息世界中的基本概念(續)(6)聯系()聯系(Relationship) n現實世界中事物內部以及事物之間的聯系在信息世界現實世界中事物內部以及事物之間的聯系在信息世界 中反映為實體(型)內部的聯系和實體(型)之間的聯中反映為實體(型)內部的聯系和實體(型)之間的聯系。系。n實體內部的聯系實體內部的聯系通常是指組成實體的各屬性之間的聯系通常是指組成實體的各屬性之間的聯系n實體之間的聯系實體之間的聯系通常是指不同實體集之間的聯系通常是指不同實體集之間的聯系n實體之間的聯系有實體之間的聯系有一對一一對一、一對多一對多和和多對多多對多等多種類型等多種類型An I

38、ntroduction to Database System實體實體-聯系方法聯系方法v實體實體-聯系方法(聯系方法(Entity-Relationship Approach)n用用E-R圖來描述現實世界的概念模型圖來描述現實世界的概念模型nE-R方法也稱為方法也稱為E-R模型模型An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 概念模型概念模型 1.2.3 數據模型的組成要素數據模型的組成要素 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀

39、模型 1.2.7 關系模型關系模型An Introduction to Database System 1.2.3 數據模型的組成要素數據模型的組成要素v數據結構數據結構 v數據操作數據操作 v數據的完整性約束條件數據的完整性約束條件An Introduction to Database System 1. 數據結構數據結構v數據模型的數據結構數據模型的數據結構n描述數據庫的組成對象,以及對象之間的聯系描述數據庫的組成對象,以及對象之間的聯系v描述的內容描述的內容1. 與對象的類型、內容、性質有關與對象的類型、內容、性質有關2. 與數據之間聯系有關與數據之間聯系有關v數據結構是對系統靜態特性的

40、描述數據結構是對系統靜態特性的描述An Introduction to Database System 2. 數據操作數據操作 v數據操作數據操作n對數據庫中各種對象(型)的實例(值)允許執行的對數據庫中各種對象(型)的實例(值)允許執行的 操作的集合,操作的集合,包括包括操作操作及有關的及有關的操作規則操作規則v數據操作的類型數據操作的類型n查詢查詢n更新(包括插入、刪除、修改)更新(包括插入、刪除、修改)An Introduction to Database System數據操作(續)數據操作(續) v數據模型對操作的定義數據模型對操作的定義n操作的確切含義操作的確切含義n操作符號操作符號

41、n操作規則(如優先級)操作規則(如優先級)n實現操作的語言實現操作的語言v數據操作是對系統動態特性的描述數據操作是對系統動態特性的描述An Introduction to Database System3. 數據的完整性約束條件數據的完整性約束條件 v數據的完整性約束條件數據的完整性約束條件n一組完整性規則的集合一組完整性規則的集合n完整性規則:給定的數據模型中數據及其聯系所具有完整性規則:給定的數據模型中數據及其聯系所具有的制約和依存規則的制約和依存規則n用以限定符合數據模型的數據庫狀態以及狀態的變化,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效和相容以保證數據的正

42、確、有效和相容An Introduction to Database System數據的完整性約束條件(續)數據的完整性約束條件(續)v數據模型對完整性約束條件的定義數據模型對完整性約束條件的定義n反映和規定必須遵守的反映和規定必須遵守的基本的通用的基本的通用的完整性約束條件。完整性約束條件。n提供定義完整性約束條件的機制,以反映提供定義完整性約束條件的機制,以反映具體應用具體應用所所涉及的數據必須遵守的特定的語義約束條件。涉及的數據必須遵守的特定的語義約束條件。An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據

43、模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 常用的數據模型常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System 1.2.4 常用的數據模型常用的數據模型v 層次模型(層次模型(Hierarchical Model)v 網狀模型(網狀模型(Network Model)v 關系模型(關系模型(Relational Model))v 面向對象數據模型(面向對象數據模型(Object Oriented Data Model)v 對

44、象關系數據模型(對象關系數據模型(Object Relational Data Model)v 半結構化數據模型(半結構化數據模型(Semistruture Data Model)An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 常用的數據模型常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System1.

45、2.5 層次模型層次模型v層次模型是數據庫系統中最早出現的數據模型層次模型是數據庫系統中最早出現的數據模型 v層次數據庫系統的典型代表是層次數據庫系統的典型代表是IBM公司的公司的IMS(Information Management System)數據庫)數據庫管理系統管理系統v層次模型用層次模型用樹形結構樹形結構來表示各類實體以及實體間來表示各類實體以及實體間的聯系的聯系 An Introduction to Database System1. 層次模型的數據結構層次模型的數據結構v層次模型層次模型 滿足下面兩個條件的基本層次聯系的集合為層次模型滿足下面兩個條件的基本層次聯系的集合為層次模型

46、1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點有且只有一個結點沒有雙親結點,這個結點稱為根結點2. 根以外的其它結點有且只有一個雙親結點根以外的其它結點有且只有一個雙親結點v層次模型中的幾個術語層次模型中的幾個術語n根結點,雙親結點,兄弟結點,葉結點根結點,雙親結點,兄弟結點,葉結點An Introduction to Database System層次模型的數據結構(續)層次模型的數據結構(續) 1 1 根結點根結點 2 2 兄弟結點兄弟結點 3 3 葉結點葉結點 4 4 兄弟結點兄弟結點 5 5 葉結點葉結點 葉結點葉結點圖圖1.9 一個層次模型的示例一個層次模型的示例An Int

47、roduction to Database System層次模型的數據結構(續)層次模型的數據結構(續)v層次模型的特點:層次模型的特點:n結點的雙親是唯一的結點的雙親是唯一的n只能直接處理一對多的實體聯系只能直接處理一對多的實體聯系n每個記錄類型可以定義一個排序字段,也稱為碼字段每個記錄類型可以定義一個排序字段,也稱為碼字段n任何記錄值只有按其路徑查看時,才能顯出它的全部意義任何記錄值只有按其路徑查看時,才能顯出它的全部意義n沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在An Introduction to Database System層次模型

48、的數據結構(續)層次模型的數據結構(續)圖圖1.10 教員學生層次數據庫模型教員學生層次數據庫模型 根結點根結點記錄型系的子女記錄型系的子女結點結點記錄型教員的雙記錄型教員的雙親結點親結點葉結點葉結點葉結點葉結點字段字段An Introduction to Database System層次模型的數據結構(續)層次模型的數據結構(續)圖圖1.11 教員學生層次數據庫的一個值教員學生層次數據庫的一個值 An Introduction to Database System2. 層次模型的數據操縱與完整性約束層次模型的數據操縱與完整性約束 v層次模型的數據操縱層次模型的數據操縱n查詢查詢n插入插入n

49、刪除刪除n更新更新 An Introduction to Database System層次模型的完整性約束條件(續)層次模型的完整性約束條件(續)v層次模型的完整性約束條件層次模型的完整性約束條件 n無相應的雙親結點值就不能插入子女結點值無相應的雙親結點值就不能插入子女結點值n如果刪除雙親結點值,則相應的子女結點值也被同時如果刪除雙親結點值,則相應的子女結點值也被同時刪除刪除n更新操作時,應更新所有相應記錄,以保證數據的一更新操作時,應更新所有相應記錄,以保證數據的一致性致性An Introduction to Database System3.層次模型的優缺點層次模型的優缺點v優點優點n層

50、次模型的數據結構比較簡單清晰層次模型的數據結構比較簡單清晰 n查詢效率高,性能優于關系模型,不低于網狀模型查詢效率高,性能優于關系模型,不低于網狀模型n層次數據模型提供了良好的完整性支持層次數據模型提供了良好的完整性支持v缺點缺點n結點之間的多對多聯系表示不自然結點之間的多對多聯系表示不自然n對插入和刪除操作的限制多,應用程序的編寫比較對插入和刪除操作的限制多,應用程序的編寫比較復雜復雜 n查詢子女結點必須通過雙親結點查詢子女結點必須通過雙親結點n層次命令趨于程序化層次命令趨于程序化 An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩

51、大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System1.2.6 網狀模型網狀模型v網狀數據庫系統采用網狀數據庫系統采用網狀模型網狀模型作為數據的組織方式作為數據的組織方式 v典型代表是典型代表是DBTG系統:系統:n亦稱亦稱CODASYL系統系統n20世紀世紀70年代由年代由DBTG提出的一個系統方案提出的一個系統方案v實際系統實際系統nC

52、ullinet Software公司的公司的 IDMSnUnivac公司的公司的 DMS1100nHoneywell公司的公司的IDS/2nHP公司的公司的IMAGEAn Introduction to Database System1. 網狀模型的數據結構網狀模型的數據結構v網狀模型網狀模型滿足下面兩個條件的基本層次聯系的集合:滿足下面兩個條件的基本層次聯系的集合:1. 允許一個以上的結點無雙親;允許一個以上的結點無雙親;2. 一個結點可以有多于一個的雙親。一個結點可以有多于一個的雙親。An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據

53、結構(續)v表示方法(與層次數據模型相同)表示方法(與層次數據模型相同)實體型實體型:用記錄類型描述:用記錄類型描述 每個結點表示一個記錄類型(實體)每個結點表示一個記錄類型(實體)屬性屬性:用字段描述:用字段描述 每個記錄類型可包含若干個字段每個記錄類型可包含若干個字段聯系聯系:用結點之間的連線表示記錄類型(實體)之:用結點之間的連線表示記錄類型(實體)之 間的間的一對多的父子聯系一對多的父子聯系An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據結構(續)v網狀模型與層次模型的區別網狀模型與層次模型的區別n網狀模型允許多個結點沒有雙親結

54、點網狀模型允許多個結點沒有雙親結點n網狀模型允許結點有多個雙親結點網狀模型允許結點有多個雙親結點n網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型允許兩個結點之間有多種聯系(復合聯系)n網狀模型可以更直接地描述現實世界網狀模型可以更直接地描述現實世界n層次模型實際上是網狀模型的一個特例層次模型實際上是網狀模型的一個特例An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據結構(續)v網狀模型中子女結點與雙親結點的聯系可以不唯一網狀模型中子女結點與雙親結點的聯系可以不唯一要為每個聯系命名,并指出與該聯系有關的雙親記錄和子要為每個聯系命名,

55、并指出與該聯系有關的雙親記錄和子女記錄女記錄 R1與與R3之間之間的聯系的聯系L1R2與與R3之之間的聯間的聯系系L2 網狀模型的例子網狀模型的例子 An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據結構(續)多對多聯系在網狀模型中的表示多對多聯系在網狀模型中的表示n用網狀模型用網狀模型間接間接表示多對多聯系表示多對多聯系n方法:方法: 將多對多聯系將多對多聯系直接直接分解成一對多聯系分解成一對多聯系An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據結構(續)例如:一個學生可以選修若

56、干門課程,某一課程可以被例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯系多個學生選修,學生與課程之間是多對多聯系 n引進一個學生選課的聯結記錄,由引進一個學生選課的聯結記錄,由3個數據項組成個數據項組成l學號學號l課程號課程號l成績成績l表示某個學生選修某一門課程及其成績表示某個學生選修某一門課程及其成績 An Introduction to Database System網狀模型的數據結構(續)網狀模型的數據結構(續)圖圖1.13 學生學生/選課選課/課程的網狀數據模型課程的網狀數據模型 An Introduction to Database Syst

57、em2. 網狀模型的操縱與完整性約束網狀模型的操縱與完整性約束v網狀數據庫系統(如網狀數據庫系統(如DBTG)對數據操縱加)對數據操縱加 了一些限制,提供了一定的完整性約束了一些限制,提供了一定的完整性約束n碼:唯一標識記錄的數據項的集合碼:唯一標識記錄的數據項的集合 n一個聯系中雙親記錄與子女記錄之間是一對多聯系一個聯系中雙親記錄與子女記錄之間是一對多聯系n支持雙親記錄和子女記錄之間某些約束條件支持雙親記錄和子女記錄之間某些約束條件 An Introduction to Database System3. 網狀模型的優缺點網狀模型的優缺點v優點優點n能夠更為直接地描述現實世界,如一個結點可以

58、有多能夠更為直接地描述現實世界,如一個結點可以有多個雙親個雙親n具有良好的性能,存取效率較高具有良好的性能,存取效率較高v缺點缺點n結構比較復雜,而且隨著應用環境的擴大,數據庫的結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握結構就變得越來越復雜,不利于最終用戶掌握nDDL、DML語言復雜,用戶不容易使用語言復雜,用戶不容易使用n記錄之間聯系是通過存取路徑實現的,用戶必須了解記錄之間聯系是通過存取路徑實現的,用戶必須了解系統結構的細節系統結構的細節An Introduction to Database System 1.2 數據模型數據模型 1.2.1 兩

59、大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database System1.2.7 關系模型關系模型v關系數據庫系統采用關系模型作為數據的組織方式關系數據庫系統采用關系模型作為數據的組織方式 v1970年美國年美國IBM公司公司San Jose研究室的研究員研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型首次提出了數據庫系統的關系模型 v計算機廠商

60、新推出的數據庫管理系統幾乎都支持關計算機廠商新推出的數據庫管理系統幾乎都支持關系模型系模型 An Introduction to Database System1. 關系模型的數據結構關系模型的數據結構 v 在在用戶觀點用戶觀點下,關系模型中數據的邏輯結構是一張二維表,下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。它由行和列組成。學學 號號姓姓 名名年年 齡齡性性 別別系系 名名年年 級級2013004王小明王小明19女女社會學社會學20132013006黃大鵬黃大鵬20男男商品學商品學20132013008張文斌張文斌18女女法律法律2013學生登記表學生登記表屬性屬性元組元組A

溫馨提示

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

評論

0/150

提交評論