數據庫系統概論(第4版)第一章_第1頁
數據庫系統概論(第4版)第一章_第2頁
數據庫系統概論(第4版)第一章_第3頁
數據庫系統概論(第4版)第一章_第4頁
數據庫系統概論(第4版)第一章_第5頁
已閱讀5頁,還剩131頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database Systems數據庫系統概論數據庫系統概論 An Introduction to Database SystemsAn Introduction to Database Systems教材教材 教材教材 王珊,薩師煊:數據庫系統概論王珊,薩師煊:數據庫系統概論(第四第四版版) 高等教育出版社,高等教育出版社,2006.5 An Introduction to Database Systems內容安排內容安排 基礎篇 第一章 緒論(4學時) 第二章 關系數據庫(8學時) 第三章 關系數據庫標準語言SQL(10+6學時) 第四章 數據庫安全性

2、(4學時) 第五章 數據庫完整性(2+2學時) 設計與應用開發篇 第六章 關系數據理論數據庫設計(10學時) 第七章 數據庫設計(8學時) 系統篇 第九章 關系查詢處理和查詢優化(2學時) 第十章 數據庫恢復技術(4學時) 第十一章 并發控制(4學時)An Introduction to Database Systems第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結An Introduction to Database Systems數據庫的地位數據庫的地位v數據庫技

3、術產生于二十世紀六十年代末,是數據管理的最新技術,是計算機科學的重要分支。v數據庫技術是信息系統的核心和基礎,它的出現極大地促進了計算機應用向各行各業的滲透。v數據庫的建設規模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。An Introduction to Database Systems第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database Systems1.1.

4、1 四個基本概念四個基本概念v數據(Data)v數據庫(Database)v數據庫管理系統(DBMS)v數據庫系統(DBS)An Introduction to Database Systems一、數據一、數據v 數據(Data)是數據庫中存儲的基本對象v 數據的定義 描述事物的符號記錄v 數據的種類 文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等v 數據的特點 數據與其語義是不可分的An Introduction to Database Systems數據舉例數據舉例v 數據的含義稱為數據的語義,數據與其語義是不可分的。 例如 93是一個數據語義1:學生某門課的成績語義2:某

5、人的體重語義3:計算機系2003級學生人數語義4:請同學給出。An Introduction to Database Systems數據舉例數據舉例v學生檔案中的學生記錄(李明,男,197205,江蘇南京市,計算機系,1990) 語義:學生姓名、性別、出生年月、籍貫、所在院系、 入學時間 解釋:李明是個大學生,1972年5月出生,江蘇南京市人,1990年考入計算機系請給出另一個解釋和語義An Introduction to Database Systems二、數據庫二、數據庫v數據庫的定義 數據庫數據庫(Database,簡稱簡稱DB)是是長期儲存長期儲存在計算機內、在計算機內、有有組織組織的

6、、的、可共享可共享的的大量大量數據的集合。數據的集合。 數據按一定的數據模型組織、描述和儲存數據按一定的數據模型組織、描述和儲存,可為各種用可為各種用戶共享戶共享,冗余度較小冗余度較小,數據獨立性較高數據獨立性較高,易擴展。易擴展。v數據庫的基本特點 永久存儲永久存儲 有組織有組織 可共享可共享An Introduction to Database Systems三、數據庫管理系統三、數據庫管理系統v什么是DBMS 位于用戶與操作系統之間的一層數據管理軟件。 是基礎軟件,是一個大型復雜的軟件系統 vDBMS的用途 科學地組織和存儲數據、高效地獲取和維護數據An Introduction to

7、Database Systems硬件平臺硬件平臺基礎軟件平臺基礎軟件平臺軟件基礎構架平臺軟件基礎構架平臺應用軟件平臺應用軟件平臺軟件產品軟件產品協同軟件協同軟件辦公軟件辦公軟件 中間件中間件 應用服務器應用服務器數據庫在計算機系統中的位置數據庫在計算機系統中的位置An Introduction to Database SystemsDBMS的主要功能的主要功能 數據定義功能數據定義功能 提供數據定義語言(DDL) 定義數據庫中的數據對象 數據組織、存儲和管理數據組織、存儲和管理 分類組織、存儲和管理各種數據 確定組織數據的文件結構和存取方式 實現數據之間的聯系 提供多種存取方法提高存取效率An

8、 Introduction to Database SystemsDBMS的主要功能的主要功能 數據操縱功能數據操縱功能 提供數據操縱語言(DML) 實現對數據庫的基本操作 (查詢、插入、刪除和修改) 數據庫的事務管理和運行管理數據庫的事務管理和運行管理 數據庫在建立、運行和維護時由DBMS統一管理和控制保證數據的安全性、完整性、多用戶對數據的并發使用發生故障后的系統恢復An Introduction to Database SystemsDBMS的主要功能的主要功能 數據庫的建立和維護功能數據庫的建立和維護功能(實用程序實用程序) 數據庫初始數據裝載轉換 數據庫轉儲 介質故障恢復 數據庫的重

9、組織 性能監視分析等 其它功能其它功能 DBMS與網絡中其它軟件系統的通信 兩個DBMS系統的數據轉換 異構數據庫之間的互訪和互操作An Introduction to Database Systems四、數據庫系統四、數據庫系統v什么是數據庫系統(Database System,簡稱,簡稱DBS) 在計算機系統中引入數據庫后的系統構成在計算機系統中引入數據庫后的系統構成v數據庫系統的構成 數據庫數據庫 數據庫管理系統(及其開發工具)數據庫管理系統(及其開發工具) 應用系統應用系統 數據庫管理員數據庫管理員 An Introduction to Database Systems 數據庫數據庫

10、應用系統應用系統應用開發工具 操作系統 數據庫管理系數據庫管理系統統 數據庫管理員數據庫管理員用戶用戶用戶 數據庫系統數據庫系統An Introduction to Database Systems1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database Systems數據管理技術的產生和發展數據管理技術的產生和發展v什么是數據管理 對數據進行分類、組織、編碼、存儲、檢索和維護對數據進行分類、組織、編碼、存儲、檢索

11、和維護 數據處理的中心問題數據處理的中心問題v數據管理技術的發展過程 人工管理階段人工管理階段(20世紀世紀40年代中年代中-50年代中年代中) 文件系統階段文件系統階段(20世紀世紀50年代末年代末-60年代中年代中) 數據庫系統階段數據庫系統階段(20世紀世紀60年代末年代末-現在現在)An Introduction to Database Systems數據管理技術的產生和發展數據管理技術的產生和發展(續續)v數據管理技術的發展動力 應用需求的推動應用需求的推動 計算機硬件的發展計算機硬件的發展 計算機軟件的發展計算機軟件的發展An Introduction to Database Sy

12、stems一、人工管理階段一、人工管理階段v時期 20世紀40年代中-50年代中v產生的背景 應用需求科學計算 硬件水平無直接存取存儲設備 軟件水平沒有操作系統 處理方式批處理An Introduction to Database Systems人工管理階段人工管理階段(續續)v特點 數據的管理者:用戶(程序員),數據不保存 數據面向的對象:某一應用程序 數據的共享程度:無共享、冗余度極大 數據的獨立性:不獨立,完全依賴于程序 數據的結構化:無結構 數據控制能力:應用程序自己控制An Introduction to Database Systems應用程序與數據的對應關系應用程序與數據的對應關

13、系(人工管理階段人工管理階段) 應用程序應用程序1數據集數據集1應用程序應用程序2數據集數據集2應用程序應用程序數據集數據集n.人工管理階段應用程序與數據之間的對應關系 An Introduction to Database Systems二、文件系統階段二、文件系統階段v時期 20世紀50年代末-60年代中v產生的背景 應用需求科學計算、管理 硬件水平磁盤、磁鼓 軟件水平有文件系統 處理方式聯機實時處理、批處理An Introduction to Database Systems文件系統階段文件系統階段(續續)v特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用程序 數據的共

14、享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須 修改應用程序數據控制能力:應用程序自己控制An Introduction to Database Systems應用程序與數據的對應關系應用程序與數據的對應關系(文件系統階段文件系統階段)應用程序應用程序文件文件應用程序應用程序文件文件2應用程序應用程序文件文件n存取存取方法方法.文件系統階段應用程序與數據之間的對應關系 An Introduction to Database Systems文件系統中數據的結構文件系統中數據的結構v 記錄內有結構。v 數據的結構是靠程序定義和解釋的。

15、v 數據只能是定長的。 可以間接實現數據變長要求,但訪問相應數據的應用程序復雜了。可以間接實現數據變長要求,但訪問相應數據的應用程序復雜了。v 文件間是獨立的,因此數據整體無結構。 可以間接實現數據整體的有結構,但必須在應用程序中對描述數據可以間接實現數據整體的有結構,但必須在應用程序中對描述數據間的聯系間的聯系。v 數據的最小存取單位是記錄。An Introduction to Database Systems三、數據庫系統階段三、數據庫系統階段v時期 20世紀60年代末以來v產生的背景 應用背景大規模管理 硬件背景大容量磁盤、磁盤陣列 軟件背景有數據庫管理系統 處理方式聯機實時處理,分布處

16、理,批處理An Introduction to Database Systems1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 An Introduction to Database Systems1.1.3 數據庫系統的特點數據庫系統的特點v數據結構化v數據的共享性高,冗余度低,易擴充v數據獨立性高v數據由DBMS統一管理和控制An Introduction to Database Systems數據結構化數據結構化v整體數據的結構化整體數據的結構化是數據庫

17、的主要特征之一 v整體結構化 不再僅僅針對某一個應用,而是面向全組織不再僅僅針對某一個應用,而是面向全組織 不僅數據內部結構化,整體是結構化的,數據之間具有聯系不僅數據內部結構化,整體是結構化的,數據之間具有聯系v數據庫中實現的是數據的真正結構化 數據的結構用數據的結構用數據模型數據模型描述,無需程序定義和解釋描述,無需程序定義和解釋 數據可以數據可以變長變長 數據的最小存取單位是數據的最小存取單位是數據項數據項An Introduction to Database Systems數據的共享性高,冗余度低,易擴充數據的共享性高,冗余度低,易擴充v數據庫系統從整體角度看待和描述數據,數據面向整個

18、系統,可以被多個用戶、多個應用共享使用。v數據共享的好處 減少數據冗余,節約存儲空間 避免數據之間的不相容性與不一致性 使系統易于擴充An Introduction to Database Systems數據獨立性高數據獨立性高v 物理獨立性 指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不用改變當數據的物理存儲改變了,應用程序不用改變。v 邏輯獨立性 指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不

19、變輯結構改變了,用戶程序也可以不變。v 數據獨立性是由DBMS的二級映像功能來保證的An Introduction to Database Systems數據由數據由DBMS統一管理和控制統一管理和控制v DBMS提供的數據控制功能 (1)數據的安全性(Security)保護保護數據,以防止不合法的使用造成的數據的泄密和破壞。 (2)數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。 (3)并發(Concurrency)控制對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果。 (4)數據庫恢復(Recovery)將數據庫從錯誤狀態恢復到某

20、一已知的正確狀態。An Introduction to Database Systems應用程序與數據的對應關系應用程序與數據的對應關系(數據庫系統數據庫系統)DBMS應用程序應用程序1應用程序應用程序2數據庫數據庫數據庫系統階段應用程序與數據之間的對應關系 An Introduction to Database Systems第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結An Introduction to Database Systems 1.2 數據模型數據模型

21、 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 Systems數據模型數據模型v 在數據庫中用數據模型這個工具來抽象、表示和處理抽象、表示和處理現實世界中的數據和信息。v 通俗地講數據模型就是現實世界的模擬。v 數據模型應滿足三方面要求 能比較能比較真實真實地模擬現實世界地模擬現實世界 容易容易為人所為人所理解理解 便于在計算機上便

22、于在計算機上實現實現An Introduction to Database Systems 1.2.1 兩大類數據模型兩大類數據模型v 數據模型分為兩類(分屬兩個不同的層次)(1) 概念模型概念模型 也稱信息模型,它是按用戶的觀點來對數據和信息建也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。模,用于數據庫設計。 (2) 邏輯模型和物理模型邏輯模型和物理模型 邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統的觀點對數據建模,用于模型等,按計算機系統的觀點對數據建模,用于DBMS實現實現。 物理模型

23、是對數據最底層的抽象,描述數據在系統內部的表示物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。An Introduction to Database Systems兩大類數據模型兩大類數據模型 (續續)v客觀對象的抽象過程-兩步抽象 現實世界中的客觀對象抽象為概念模型;現實世界中的客觀對象抽象為概念模型; 把概念模型轉換為某一把概念模型轉換為某一DBMS支持的數據模型。支持的數據模型。An Introduction to Database Systems兩大類數據模型兩大類數據模型 (

24、續續)DBMS支持的數據模型支持的數據模型概念模型概念模型認識認識抽象抽象信息世界信息世界機器世界機器世界現實世界中客觀對象的抽象過程現實世界中客觀對象的抽象過程現實世現實世界界現實世界現實世界 概念模型概念模型數據庫設計人員完成數據庫設計人員完成邏輯模型邏輯模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 邏輯模型邏輯模型數據庫設計人員完成數據庫設計人員完成An Introduction to Database Systems 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.

25、4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database Systems 1.2.2 數據模型的組成要素數據模型的組成要素v數據結構 v數據操作 v完整性約束條件An Introduction to Database Systems 一、一、 數據結構數據結構v什么是數據結構 描述數據庫的組成對象,以及對象之間的聯系v描述的內容 與數據類型、內容、性質有關的對象 與數據之間聯系有關的對象v數據結構是對系統靜態特性的描述An Introduction to Database

26、 Systems 二、數據操作二、數據操作 v數據操作 對數據庫中各種對象(型)的實例(值)允許執行的 操作操作及有關的操作規則操作規則v數據操作的類型 查詢 更新(包括插入、刪除、修改)An Introduction to Database Systems 數據操作數據操作(續續) v數據模型對操作的定義 操作的確切含義 操作符號 操作規則(如優先級) 實現操作的語言v數據操作是對系統動態特性的描述An Introduction to Database Systems三、數據的完整性約束條件三、數據的完整性約束條件 v數據的完整性約束條件 一組完整性規則的集合。 完整性規則:給定的數據模型中

27、數據及其聯系所具有的制約和依存規則 用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。An Introduction to Database Systems 數據的完整性約束條件數據的完整性約束條件(續續)v數據模型對完整性約束條件的定義 反映和規定本反映和規定本數據模型數據模型必須遵守的必須遵守的基本的通用的基本的通用的完整完整性約束條件。例如在關系模型中,任何關系必須滿足性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。實體完整性和參照完整性兩個條件。 提供定義完整性約束條件的機制,以反映提供定義完整性約束條件的機制,以反映具體應用具

28、體應用所所涉及的數據必須遵守的特定的語義約束條件涉及的數據必須遵守的特定的語義約束條件。An Introduction to Database Systems 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 Systems 1.2.3 概念模型概念模型v信息世界中的基本概念v兩個實體型之間的聯系v兩個以上實體

29、型之間的聯系v單個實體型內的聯系v概念模型的一種表示方法v一個實例An Introduction to Database Systems概念模型概念模型v概念模型的用途 概念模型用于信息世界的建模概念模型用于信息世界的建模 是現實世界到機器世界的一個中間層次是現實世界到機器世界的一個中間層次 是數據庫設計的有力工具是數據庫設計的有力工具 數據庫設計人員和用戶之間進行交流的語言數據庫設計人員和用戶之間進行交流的語言v對概念模型的基本要求 較強的語義表達能力較強的語義表達能力 能夠方便、直接地表達應用中的各種語義知識能夠方便、直接地表達應用中的各種語義知識 簡單、清晰、易于用戶理解簡單、清晰、易于

30、用戶理解An Introduction to Database Systems一、信息世界中的基本概念一、信息世界中的基本概念(1) 實體(Entity) 客觀存在并可相互區別的事物稱為實體。客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) 唯一標識實體的屬性集稱為碼。唯一標識實體的屬性集稱為碼。An Introduction to Database Sys

31、tems信息世界中的基本概念信息世界中的基本概念(續續)(4) 域(Domain) 屬性的取值范圍稱為該屬性的域屬性的取值范圍稱為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實體稱為實用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型體型(6) 實體集(Entity Set) 同一類型實體的集合稱為實體集同一類型實體的集合稱為實體集An Introduction to Database Systems信息世界中的基本概念信息世界中的基本概念(續續)(7) 聯系(Relationship) 現實世界中事物內部以及事物之間的聯系在信息世界現實世界

32、中事物內部以及事物之間的聯系在信息世界 中反映為實體內部的聯系和實體之間的聯系。中反映為實體內部的聯系和實體之間的聯系。 實體內部實體內部的聯系通常是指組成實體的各屬性之間的聯系的聯系通常是指組成實體的各屬性之間的聯系 實體之間實體之間的聯系通常是指不同實體集之間的聯系的聯系通常是指不同實體集之間的聯系An Introduction to Database Systems二、兩個實體型之間的聯系二、兩個實體型之間的聯系實體型實體型A聯系名聯系名實體型實體型B111:1聯系聯系實體型實體型A聯系名聯系名1n1:n聯系聯系實體型實體型A實體型實體型B聯系名聯系名mnm:n聯系聯系實體型實體型B用圖

33、形來表示兩個實體型之間的這三類聯系用圖形來表示兩個實體型之間的這三類聯系 An Introduction to Database Systems二、兩個實體型之間的聯系(續)二、兩個實體型之間的聯系(續) v一對一聯系(1:1) 實例一個班級只有一個正班長一個班級只有一個正班長一個班長只在一個班中任職一個班長只在一個班中任職 定義:定義: 如果對于實體集如果對于實體集A中的每一個實體,實中的每一個實體,實體集體集B中至多有一個(也可以沒有)實體中至多有一個(也可以沒有)實體與之聯系,反之亦然,與之聯系,反之亦然,則稱實體集則稱實體集A與實與實體集體集B具有一對一聯系,具有一對一聯系,記為記為1

34、:1 班級班級班級班級-班長班長班長班長111:1聯系聯系An Introduction to Database Systems兩個實體型之間的聯系兩個實體型之間的聯系 (續續)v一對多聯系(1:n) 實例一個班級中有若干名學生,一個班級中有若干名學生,每個學生只在一個班級中學習每個學生只在一個班級中學習 定義:如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中中有有n個實體(個實體(n0)與之聯系,反之,對于實體)與之聯系,反之,對于實體集集B中的每一個實體,實體集中的每一個實體,實體集A中至多只有一個中至多只有一個實體與之聯系,則稱實體與之聯系,則稱實體集實體集

35、A與實體集與實體集B有一對有一對多聯系,記為多聯系,記為1:n班級班級組成組成學生學生1n1:n聯系聯系An Introduction to Database Systems兩個實體型之間的聯系兩個實體型之間的聯系 (續續)v多對多聯系(m:n) 實例課程與學生之間的聯系:課程與學生之間的聯系:一門課程同時有若干個學生選修一門課程同時有若干個學生選修一個學生可以同時選修多門課程一個學生可以同時選修多門課程 定義:如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中中有有n個實體(個實體(n0)與之聯系,反之,對于實)與之聯系,反之,對于實體集體集B中的每一個實體,實體

36、集中的每一個實體,實體集A中也有中也有m個實個實體(體(m0)與之聯系,則稱實體集)與之聯系,則稱實體集A與實體與實體B具有多對多聯系,記為具有多對多聯系,記為m:n課程課程選修選修學生學生mnm:n聯系聯系An Introduction to Database Systems三、兩個以上實體型之間的聯系三、兩個以上實體型之間的聯系v兩個以上實體型之間一對多聯系 若實體集若實體集E1,E2,.,En存在聯系,對于實體集存在聯系,對于實體集Ej(j=1,2,.,i-1,i+1,.,n)中的給定實體,)中的給定實體,最多只和最多只和Ei中的一個實體相聯系,則我們說中的一個實體相聯系,則我們說Ei與

37、與E1,E2,.,Ei-1,Ei+1,.,En之間的聯系是一對多的之間的聯系是一對多的An Introduction to Database Systems兩個以上實體型之間的聯系兩個以上實體型之間的聯系(續續)v實例 課程、教師與參考書三個實體型課程、教師與參考書三個實體型一門課程可以有若干個教師講授,一門課程可以有若干個教師講授,使用若干本參考書,使用若干本參考書,每一個教師只講授一門課程,每一個教師只講授一門課程,每一本參考書只供一門課程使用每一本參考書只供一門課程使用課程課程講授講授教師教師1m兩個以上實體型間兩個以上實體型間1:n聯系聯系參考書參考書nAn Introduction

38、to Database Systems兩個以上實體型之間的聯系兩個以上實體型之間的聯系(續續)v 多個實體型間的一對一聯系v 兩個以上實體型間的多對多聯系 實例 供應商、項目、零件三個實體型供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給每種零件可由不同供應商供給供應商供應商供應供應項目項目mp兩個以上實體型間兩個以上實體型間m:n聯系聯系零件零件nAn Introduction to Database Systems四、單個實體型內的聯系四、單個實

39、體型內的聯系v 一對多聯系 實例 職工實體型內部具有領導與被領導的聯系職工實體型內部具有領導與被領導的聯系某一職工(干部)某一職工(干部)“領導領導”若干名職工若干名職工一個職工僅被另外一個職工直接領導一個職工僅被另外一個職工直接領導這是一對多的聯系這是一對多的聯系v一對一聯系 請舉例職工職工領導領導1n單個實體型內部單個實體型內部1:n聯系聯系An Introduction to Database Systems單個實體型內的聯系單個實體型內的聯系實體型實體型1聯系名聯系名mn單個實體型內的單個實體型內的m:n聯系聯系v多對多聯系請舉例An Introduction to Database

40、Systems五、五、 概念模型的一種表示方法概念模型的一種表示方法v實體聯系方法(E-R方法) 用E-R圖來描述現實世界的概念模型 E-R方法也稱為E-R模型An Introduction to Database SystemsE-R圖圖v實體型用矩形表示,矩形框內寫明實體名。v屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來學生學生教師教師學生學生學號學號年齡年齡性別性別姓名姓名An Introduction to Database SystemsE-R圖圖(續續)v聯系 聯系本身: 用菱形表示,菱形框內寫明聯系名,并用無向邊分用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連

41、接起來,同時在無向邊旁標上聯系別與有關實體連接起來,同時在無向邊旁標上聯系的類型(的類型(1:1、1:n或或m:n) An Introduction to Database Systems聯系的表示方法聯系的表示方法實體型實體型A聯系名聯系名實體型實體型B111:1聯系聯系實體型實體型A聯系名聯系名1n1:n聯系聯系實體型實體型A實體型實體型B聯系名聯系名mnm:n聯系聯系實體型實體型BAn Introduction to Database Systems聯系的表示方法示例聯系的表示方法示例班級班級班級班級-班長班長班長班長111:1聯系聯系課程課程選修選修學生學生mnm:n聯系聯系班級班級組

42、成組成學生學生1n1:n聯系聯系An Introduction to Database Systems聯系的屬性聯系的屬性課程課程選修選修學生學生mn成績成績v聯系的屬性:聯系本身也是一種實體型,也聯系本身也是一種實體型,也 可以有屬性。如果一個聯系具可以有屬性。如果一個聯系具有屬性,則這些屬性也要用無有屬性,則這些屬性也要用無向邊與該聯系連接起來向邊與該聯系連接起來 An Introduction to Database Systems六、一個實例六、一個實例用E-R圖表示某個工廠物資管理的概念模型v 實體 倉庫: 倉庫號、面積、電話號碼 零件 :零件號、名稱、規格、單價、描述 供應商:供應

43、商號、姓名、地址、電話號碼、帳號 項目:項目號、預算、開工日期 職工:職工號、姓名、年齡、職稱 An Introduction to Database Systems一個實例一個實例v實體之間的聯系如下: (1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯系。職工實體型中具有一對多的聯系 (3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯系An Introducti

44、on to Database Systems一個實例一個實例An Introduction to Database Systems 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 Systems 1.2.4 最常用的數據模型最常用的數據模型v非關系模型 層次模型層次模型(Hierarchical Model)

45、 網狀模型網狀模型(Network Model)v關系模型(Relational Model) v面向對象模型(Object Oriented Model)v對象關系模型(Object Relational Model)An Introduction to Database Systems 1.2 數據模型數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introducti

46、on to Database Systems1.2.7 關系模型關系模型v 關系數據庫系統采用關系模型作為數據的組織方式 v 1970年美國IBM公司San Jose研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型 v 計算機廠商新推出的數據庫管理系統幾乎都支持關系模型 An Introduction to Database Systems一、關系數據模型的數據結構一、關系數據模型的數據結構 v 在在用戶觀點用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。列組成。學 號姓 名年 齡性 別系 名年 級2005004王

47、小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005學生登記表學生登記表屬性屬性元組元組An Introduction to Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續) 關系(關系(Relation)一個關系對應通常說的一張表 元組(元組(Tuple)表中的一行即為一個元組 屬性(屬性(Attribute) 表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名An Introduction to Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續) 主碼(主碼(

48、Key)表中的某個屬性組,它可以唯一確定一個元組。 域(域(Domain)屬性的取值范圍。 分量分量元組中的一個屬性值。 關系模式關系模式對關系的描述關系名(屬性1,屬性2,屬性n)學生(學號,姓名,年齡,性別,系,年級)An Introduction to Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續)例1學生、系、系與學生之間的一對多聯系:學生(學號,姓名,年齡,性別,系號,年級)學生(學號,姓名,年齡,性別,系號,年級)系系 (系號,系名,辦公地點系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯系An Introduction to

49、Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續)例3學生、課程、學生與課程之間的多對多聯系: 學生(學號,姓名,年齡,性別,系號,年級)學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)課程(課程號,課程名,學分)選修(學號,課程號,成績)選修(學號,課程號,成績)An Introduction to Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續)v 關系必須是規范化的,滿足一定的規范條件關系必須是規范化的,滿足一定的規范條件最基本的規范條件:關系的每一個分量必須是一個不可分的數據項, 不允許

50、表中還有表 圖圖1.27中工資和扣除是可分的數據項中工資和扣除是可分的數據項 ,不符合關系模型要求不符合關系模型要求 職工號姓名職 稱工 資扣 除實 發基 本津 貼職務房 租水 電86051陳 平講 師13051200501601122283圖圖1.27 一個工資表一個工資表(表中有表表中有表)實例實例 An Introduction to Database Systems關系數據模型的數據結構(續)關系數據模型的數據結構(續)關系術語一般表格的術語關系名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規范關系表中有表(大表中嵌有

51、小表)表表1.2 術語對比術語對比 An Introduction to Database Systems二、關系數據模型的操縱與完整性約束二、關系數據模型的操縱與完整性約束v 數據操作是集合操作,數據操作是集合操作,操作對象和操作結果都是關系操作對象和操作結果都是關系 查詢 插入 刪除 更新v 數據操作是集合操作,數據操作是集合操作,操作對象和操作結果都是關系,即操作對象和操作結果都是關系,即若干元組的若干元組的集合集合v 存取路徑對用戶隱蔽,用戶只要指出存取路徑對用戶隱蔽,用戶只要指出“干什么干什么”,不必詳細說明不必詳細說明“怎怎么干么干”An Introduction to Datab

52、ase Systems關系數據模型的操縱與完整性約束(續)關系數據模型的操縱與完整性約束(續)v關系的完整性約束條件 實體完整性 參照完整性 用戶定義的完整性An Introduction to Database Systems三、關系數據模型的存儲結構三、關系數據模型的存儲結構v實體及實體間的聯系都用表來表示v表以文件形式存儲 有的DBMS一個表對應一個操作系統文件 有的DBMS自己設計文件結構An Introduction to Database Systems四、關系數據模型的優缺點四、關系數據模型的優缺點v優點優點 建立在嚴格的數學概念的基礎上建立在嚴格的數學概念的基礎上 概念單一概念

53、單一實體和各類聯系都用關系來表示對數據的檢索結果也是關系 關系模型的存取路徑對用戶透明關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作An Introduction to Database Systems關系數據模型的優缺點(續)關系數據模型的優缺點(續)v缺點缺點 存取路徑對用戶透明導致查詢效率往往不如非 關系數據模型 為提高性能,必須對用戶的查詢請求進行優化 增加了開發DBMS的難度An Introduction to Database Systems第一章第一章 緒論緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型

54、1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結An Introduction to Database Systems1.3 數據庫系統結構數據庫系統結構v從數據庫管理系統角度看,數據庫系統通常采用三級模式結構,是數據庫系統內部的系統結構 v從數據庫最終用戶角度看(數據庫系統外部的體系結構) ,數據庫系統的結構分為: 單用戶結構 主從式結構 分布式結構 客戶服務器 瀏覽器應用服務器數據庫服務器多層結構等An Introduction to Database Systems數據庫系統結構(續)數據庫系統結構(續)1.3.1 數據庫系統模式的概念數據庫系

55、統模式的概念 1.3.2 數據庫系統的三級模式結構數據庫系統的三級模式結構 1.3.3 數據庫的二級映像功能與數據獨立性數據庫的二級映像功能與數據獨立性 An Introduction to Database Systems1.3.1 數據庫系統模式的概念數據庫系統模式的概念v“型” 和“值” 的概念 型(Type)對某一類數據的結構和屬性的說明 值(Value)是型的一個具體賦值例如學生記錄型: (學號,姓名,性別,系別,年齡,籍貫)一個記錄值: (900201,李明,男,計算機,22,江蘇)An Introduction to Database Systems數據庫系統模式的概念(續)數據

56、庫系統模式的概念(續)v模式(模式(Schema) 數據庫邏輯結構和特征的描述數據庫邏輯結構和特征的描述 是型的描述是型的描述 反映的是數據的結構及其聯系反映的是數據的結構及其聯系 模式是相對穩定的模式是相對穩定的v實例(實例(Instance) 模式的一個具體值模式的一個具體值 反映數據庫某一時刻的狀態反映數據庫某一時刻的狀態 同一個模式可以有很多實例同一個模式可以有很多實例 實例隨數據庫中的數據的更新而變動實例隨數據庫中的數據的更新而變動An Introduction to Database Systems數據庫系統模式的概念數據庫系統模式的概念 (續)(續)例如:在學生選課數據庫模式中,

57、包含學生記錄、課程記錄和學生選課記錄 2003年的一個學生數據庫實例,包含:2003年學校中所有學生的記錄學校開設的所有課程的記錄所有學生選課的記錄 2002年度學生數據庫模式對應的實例與 2003年度學生數據庫模式對應的實例是不同的 An Introduction to Database Systems數據庫系統結構(續)數據庫系統結構(續)1.3.1 數據庫系統模式的概念數據庫系統模式的概念 1.3.2 數據庫系統的三級模式結構數據庫系統的三級模式結構 1.3.3 數據庫的二級映像功能與數據獨立性數據庫的二級映像功能與數據獨立性 An Introduction to Database Sy

58、stems1.3.2 數據庫系統的三級模式結構數據庫系統的三級模式結構v模式(Schema) v外模式(External Schema)v內模式(Internal Schema) An Introduction to Database Systems數據庫系統的三級模式結構(續)數據庫系統的三級模式結構(續)圖1.28 數據庫系統的三級模式結構 An Introduction to Database Systems一、模式(一、模式(Schema)v模式(也稱邏輯模式) 數據庫中全體數據的邏輯結構和特征的描述數據庫中全體數據的邏輯結構和特征的描述 所有用戶的公共數據視圖,綜合了所有用戶的需求所

59、有用戶的公共數據視圖,綜合了所有用戶的需求v一個數據庫只有一個模式v模式的地位:是數據庫系統模式結構的中間層 與數據的物理存儲細節和硬件環境無關與數據的物理存儲細節和硬件環境無關 與具體的應用程序、開發工具及高級程序設計語言無關與具體的應用程序、開發工具及高級程序設計語言無關An Introduction to Database Systems模式(續)模式(續)v模式的定義 數據的邏輯結構(數據項的名字、類型、取值范圍等)數據的邏輯結構(數據項的名字、類型、取值范圍等) 數據之間的聯系數據之間的聯系 數據有關的安全性、完整性要求數據有關的安全性、完整性要求An Introduction to

60、 Database Systems二、外模式(二、外模式(External Schema)v 外模式(也稱子模式或用戶模式) 數據庫用戶(包括應用程序員和最終用戶)使用的數據庫用戶(包括應用程序員和最終用戶)使用的局部局部數據數據的邏輯結構和特征的描述的邏輯結構和特征的描述 數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示示An Introduction to Database Systems外模式(續)外模式(續)v 外模式的地位:介于模式與應用之間 模式與外模式的關系:一對多 外模式通常是模式的子集外模式通常是模式的子集 一個數據庫

溫馨提示

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

評論

0/150

提交評論