數據庫原理教學第1章1_第1頁
數據庫原理教學第1章1_第2頁
數據庫原理教學第1章1_第3頁
數據庫原理教學第1章1_第4頁
數據庫原理教學第1章1_第5頁
已閱讀5頁,還剩146頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1數據庫系統概論數據庫系統概論An Introduction to Database Systems第一章第一章 緒論緒論2第一章 緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結3教學重點及難點 教學重點教學重點 數據庫相關術語含義及其聯系。 概念數據模型的基本術語及表示方法。 數據庫的體系結構。 數據庫系統的特點及組成。 教學難點教學難點 概念數據模型以及圖的應用。 數據庫的體系結構。4數據庫的地位 數據庫技術是信息系統的核心和基礎,數據庫的建設規模、數據庫信息量的大小和使用頻度是衡

2、量一個國家信息化程度的重要標志。5第一章 緒論1.1 數據庫系統概述數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 61.1.1 四個基本概念 數據(Data) 數據庫(Database) 數據庫管理系統(DBMS) 數據庫系統(DBS)7一、數據 數據(Data)是數據庫中存儲的基本對象 數據的定義 描述事物的符號記錄 數據的種類 文本、圖形、圖像、音頻、視頻、學生的檔案記錄、貨物的運輸情況等 數據的特點 數據與其語義是不可分的8數據舉例 數據的含義稱為數據的語義,數據與其語義是

3、不可分的。 例如 93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數語義4:請同學給出。9二、數據庫 數據庫的定義 數據庫數據庫(Database,簡稱簡稱DB)是是長期儲存長期儲存在計算在計算機內、機內、有組織有組織的、的、可共享可共享的的大量大量數據的集合。數據的集合。 數據庫的基本特征 數據按一定的數據模型組織、描述和儲存數據按一定的數據模型組織、描述和儲存 可為各種用戶共享可為各種用戶共享 冗余度較小冗余度較小 數據獨立性較高數據獨立性較高 易擴展易擴展10三、數據庫管理系統 什么是DBMS? 位于用戶與操作系統之間的一層數據管理軟件。 DBMS

4、的用途 科學地組織和存儲數據、高效地獲取和維護數據。11硬件平臺硬件平臺基礎軟件平臺基礎軟件平臺軟件基礎構架平臺軟件基礎構架平臺應用軟件平臺應用軟件平臺軟件產品軟件產品協同軟件協同軟件辦公軟件辦公軟件 中間件中間件 應用服務器應用服務器數據庫在計算機系統中的位置12DBMS的主要功能 數據定義功能數據定義功能 提供數據定義語言(DDL) 定義數據庫中的數據對象 數據組織、存儲和管理數據組織、存儲和管理 分類組織、存儲和管理各種數據 確定組織數據的文件結構和存取方式 實現數據之間的聯系 提供多種存取方法提高存取效率13DBMS的主要功能 數據操縱功能數據操縱功能 提供數據操縱語言(DML) 實現

5、對數據庫的基本操作 (查詢、插入、刪除和修改) 數據庫的事務管理和運行管理數據庫的事務管理和運行管理 數據庫在建立、運行和維護時由DBMS統一管理和控制保證數據的安全性、完整性,實現并發控制及系統恢復14DBMS的主要功能 其它功能其它功能 數據庫轉儲 數據庫的重組織性能監視分析DBMS與網絡中其它軟件系統的通信 兩個DBMS系統的數據轉換 異構數據庫之間的互訪和互操作15四、數據庫系統 什么是數據庫系統(Database System)?)? 在計算機系統中引入數據庫后的系統構成在計算機系統中引入數據庫后的系統構成 數據庫系統的構成 數據庫數據庫 數據庫管理系統(及其開發工具)數據庫管理系統

6、(及其開發工具) 應用系統應用系統 數據庫管理員數據庫管理員 16 數據庫數據庫 應用系統應用系統應用開發工具 操 作 系統 數據庫管理系數據庫管理系統統 數據庫管理員數據庫管理員用戶用戶用戶 數據庫系統數據庫系統171.1 數據庫系統概述 1.1.1 四個基本概念四個基本概念 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 18數據管理技術的產生和發展 什么是數據管理? 對數據進行分類、組織、編碼、存儲、檢索和維護對數據進行分類、組織、編碼、存儲、檢索和維護 數據處理的中心問題數據處理的中心問題 數據管理技術的發展過程 人工管理階段

7、人工管理階段(20世紀世紀40年代中年代中-50年代中年代中) 文件系統階段文件系統階段(20世紀世紀50年代末年代末-60年代中年代中) 數據庫系統階段數據庫系統階段(20世紀世紀60年代末年代末-現在現在)19數據管理技術的產生和發展 數據管理技術的發展動力 應用需求的推動應用需求的推動 計算機硬件的發展計算機硬件的發展 計算機軟件的發展計算機軟件的發展20一、人工管理階段 時期 20世紀40年代中-50年代中 產生的背景 應用需求- 科學計算 硬件水平- 無直接存取存儲設備 軟件水平- 沒有操作系統 處理方式- 批處理21人工管理階段 特點 數據的管理者:用戶(程序員),數據不保存 數據

8、面向的對象:某一應用程序 數據的共享程度:無共享、冗余度極大 數據的獨立性:不獨立,完全依賴于程序 數據的結構化:無結構 數據控制能力:應用程序自己控制22應用程序與數據的對應關系(人工管理階段) 應用程序應用程序1數據集數據集1應用程序應用程序2數據集數據集2應用程序應用程序數據集數據集n.人工管理階段應用程序與數據之間的對應關系 23二、文件系統階段 時期 20世紀50年代末-60年代中 產生的背景 應用需求- 科學計算、管理 硬件水平- 磁盤、磁鼓 軟件水平- 有文件系統 處理方式- 聯機實時處理、批處理24文件系統階段v特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用

9、程序 數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須 修改應用程序數據控制能力:應用程序自己控制25應用程序與數據的對應關系(文件系統階段)應用程序應用程序文件文件應用程序應用程序文件文件2應用程序應用程序文件文件n存取存取方法方法.文件系統階段應用程序與數據之間的對應關系 26三、數據庫系統階段 時期 20世紀60年代末以來 產生的背景 應用背景-大規模管理 硬件背景-大容量磁盤、磁盤陣列 軟件背景-有數據庫管理系統 處理方式-聯機實時處理,分布處理,批處理271.1 數據庫系統概述 1.1.1 四個基本概念四個基本概念

10、 1.1.2 數據管理技術的產生和發展數據管理技術的產生和發展 1.1.3 數據庫系統的特點數據庫系統的特點 281.1.3 數據庫系統的特點 數據結構化 數據的共享性高,冗余度低,易擴充 數據獨立性高 數據由DBMS統一管理和控制29數據結構化學生編號學生編號 姓名姓名 性別性別 年齡年齡 系系家庭出身家庭出身 籍貫籍貫 政治面貌政治面貌日期日期 學校學校 學歷名學歷名學號學號 課程號課程號 學期學期 成績成績日期日期 獎懲條目獎懲條目姓名姓名 與本人關系與本人關系 詳細情況詳細情況課程號課程號 課程名稱課程名稱某學校信息系統中的學生數據某學校信息系統中的學生數據學生基本記錄學生基本記錄學生

11、人事記錄學生人事記錄學生學籍記錄學生學籍記錄學生選課記錄學生選課記錄獎懲情況記錄獎懲情況記錄家庭成員記錄家庭成員記錄課程記錄課程記錄30數據的共享性高 數據面向整個系統,可以被多個用戶、多個應用共享使用。 數據共享的好處 減少數據冗余,節約存儲空間 避免數據之間的不相容性與不一致性 使系統易于擴充31數據獨立性高 物理獨立性 指用戶的應用程序與存儲在磁盤上的數據庫中數據是指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不相互獨立的。當數據的物理存儲改變了,應用程序不用改變用改變。 邏輯獨立性 指用戶的應用程序與數據庫的邏輯結構是相互獨立的。指用戶的應用

12、程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不變數據的邏輯結構改變了,用戶程序也可以不變。 數據獨立性是由DBMS的二級映像功能來保證的32數據由DBMS統一管理和控制 DBMS提供的數據控制功能 (1)數據的安全性(Security)保護 (2)數據的完整性(Integrity)檢查 (3)并發(Concurrency)控制 (4)數據庫恢復(Recovery)33應用程序與數據的對應關系(數據庫系統)DBMS應用程序應用程序1應用程序應用程序2數據庫數據庫數據庫系統階段應用程序與數據之間的對應關系 34第一章 緒論1.1 數據庫系統概述數據庫系統概述1.2 數據

13、模型數據模型1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結35 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型36數據模型 數據模型就是現實世界的模擬現實世界的模擬。 數據模型應滿足三方面要求 能比較能比較真實真實地模擬現實世界地模擬現實世界 容易容易為人所為人所理解理解 便于在計算機上便于在計算機上實現實現37 1.2.1

14、 兩大類數據模型 數據模型分為兩類(1) 概念模型概念模型 也稱信息模型,按用戶的觀點對數據和信也稱信息模型,按用戶的觀點對數據和信息建模,用于數據庫設計。息建模,用于數據庫設計。 (2) 邏輯模型和物理模型邏輯模型和物理模型 邏輯模型主要包括網狀模型、層次模型、關系模型、面邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等向對象模型等。 物理模型是對數據最底層的抽象,描述數據在系統內部物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式、存儲方式和存取方法。的表示方式、存儲方式和存取方法。38兩大類數據模型 客觀對象的抽象過程-兩步抽象 現實世界中的客觀對象抽象為現實世界中的

15、客觀對象抽象為概念模型概念模型; 把概念模型轉換為某一把概念模型轉換為某一DBMS支持的數據模型支持的數據模型。39兩大類數據模型 DBMS支持的數據模型支持的數據模型概念模型概念模型認識認識抽象抽象信息世界信息世界機器世界機器世界現實世界中客觀對象的抽象過程現實世界中客觀對象的抽象過程現實世界現實世界 概念模型概念模型數據庫設計人員完成數據庫設計人員完成邏輯模型邏輯模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 邏輯模型邏輯模型數據庫設計人員完成數據庫設計人員完成40 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1

16、.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型41 1.2.2 數據模型的組成要素 數據結構 數據操作 完整性約束條件42 一、 數據結構 什么是數據結構? 描述數據庫的組成對象,以及對象之間的聯系 描述的內容 與數據類型、內容、性質有關的對象 與數據之間聯系有關的對象 數據結構是對系統靜態特性的描述43 二、數據操作 數據操作 對數據庫中各種對象允許執行的操作操作及操作規則操作規則 數據操作的類型 查詢 更新(包括插入、刪除、修改) 數據操作是對系統動態特性的描述44三、數據的

17、完整性約束條件 數據的完整性約束條件一組完整性規則的集合。用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。45小結:1. 數據庫的四個基本概念2. 數據管理技術經歷的3個階段3. 數據模型的分類4. 數據模型的三要素46 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型47 1.2.3 概念模型 信息世界中的基本概念 兩個實體型之間的聯系 兩

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

19、 客觀存在并可相互區別的事物稱為實體。客觀存在并可相互區別的事物稱為實體。可以是具體的人、事、物或抽象的概念可以是具體的人、事、物或抽象的概念。(2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) 唯一標識實體的屬性集稱為碼。唯一標識實體的屬性集稱為碼。50信息世界中的基本概念(4) 域(Domain) 屬性的取值范圍稱為該屬性的域屬性的取值范圍稱為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實用實體名及其屬性名集合

20、來抽象和刻畫同類實體稱為實體型體稱為實體型(6) 實體集(Entity Set) 同一類型實體的集合稱為實體集同一類型實體的集合稱為實體集51信息世界中的基本概念(7) 聯系(Relationship) 現實世界中事物內部以及事物之間的聯系在信息世現實世界中事物內部以及事物之間的聯系在信息世界中反映為實體內部的聯系和實體之間的聯系。界中反映為實體內部的聯系和實體之間的聯系。 實體內部實體內部的聯系通常是指組成實體的各屬性之間的的聯系通常是指組成實體的各屬性之間的聯系聯系 實體之間實體之間的聯系通常是指不同實體集之間的聯系的聯系通常是指不同實體集之間的聯系52二、兩個實體型之間的聯系 一對一聯系

21、(1:1) 定義:定義: 如果對于實體集如果對于實體集A中的每一個實體,中的每一個實體,實體集實體集B中至多有一個(也可以沒中至多有一個(也可以沒有)實體與之聯系,反之亦然,有)實體與之聯系,反之亦然,則則稱實體集稱實體集A與實體集與實體集B具有一對一具有一對一聯系,聯系,記為記為1:1 班級班級班級班級-班長班長班長班長111:1聯系聯系53兩個實體型之間的聯系 (續) 一對多聯系(1:n) 定義:如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有n個實體(個實體(n0)與之聯系,反之,)與之聯系,反之,對于實體集對于實體集B中的每一個實體,實體集中的每一個

22、實體,實體集A中中至多只有一個實體與之聯系,則稱至多只有一個實體與之聯系,則稱實體集實體集A與實體集與實體集B有一對多聯系,記為有一對多聯系,記為1:n班級班級組成組成學生學生1n1:n聯系聯系54兩個實體型之間的聯系 (續) 多對多聯系(m:n)定義:如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有n個實體(個實體(n0)與之聯系,反之,對于)與之聯系,反之,對于實體集實體集B中的每一個實體,實體集中的每一個實體,實體集A中也有中也有m個實體(個實體(m0)與之聯系,則稱實體集)與之聯系,則稱實體集A與與實體實體B具有多對多聯系,記為具有多對多聯系,記為m

23、:n課程課程選修選修學生學生mnm:n聯系聯系55兩個以上實體型之間的聯系 實例 課程、教師與參考書三個實體型課程、教師與參考書三個實體型一門課程可以有若干個教師講授,一門課程可以有若干個教師講授,使用若干本參考書,使用若干本參考書,每一個教師只講授一門課程,每一個教師只講授一門課程,每一本參考書只供一門課程使用每一本參考書只供一門課程使用課程課程講授講授教師教師1m兩個以上實體型間兩個以上實體型間1:n聯系聯系參考書參考書n56兩個以上實體型之間的聯系 實例 供應商、項目、零件三個實體型供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件一個供應商可以供給多個項目多種零件每個項目可

24、以使用多個供應商供應的零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給每種零件可由不同供應商供給供應商供應商供應供應項目項目mp兩個以上實體型間兩個以上實體型間m:n聯系聯系零件零件n57四、單個實體型內的聯系 實例 職工實體型內部具有領導與被領職工實體型內部具有領導與被領導的聯系某一職工(干部)導的聯系某一職工(干部)“領導領導”若干名職工一個職工僅被另外一個若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯系職工直接領導這是一對多的聯系職工職工領導領導1n單個實體型內部單個實體型內部1:n聯系聯系58五、 概念模型的一種表示方法 實體聯系方法(E-R方法) 用E-R

25、圖來描述現實世界的概念模型 E-R方法也稱為E-R模型59E-R圖 實體型用矩形表示,矩形框內寫明實體名。 屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來學生學生教師教師學生學生學號學號年齡年齡性別性別姓名姓名60E-R圖(續) 聯系聯系本身: 用菱形表示,菱形框內寫明聯系名,并用無用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(邊旁標上聯系的類型(1:1、1:n或或m:n) 聯系名聯系名實體實體1實體實體2xy61聯系的表示方法示例班級班級班級班級-班長班長班長班長111:1聯系聯系課程課程選修選修學

26、生學生mnm:n聯系聯系班級班級組成組成學生學生1n1:n聯系聯系62聯系的屬性課程課程選修選修學生學生mn成績成績v聯系的屬性:聯系本身也是一種實體型,也聯系本身也是一種實體型,也 可以有屬性。如果一個聯系具可以有屬性。如果一個聯系具有屬性,則這些屬性也要用無有屬性,則這些屬性也要用無向邊與該聯系連接起來向邊與該聯系連接起來 63六、一個實例用E-R圖表示某個工廠物資管理的概念模型 實體 倉庫: 倉庫號、面積、電話號碼 零件 :零件號、名稱、規格、單價、描述 供應商:供應商號、姓名、地址、電話號碼、帳號 項目:項目號、預算、開工日期 職工:職工號、姓名、年齡、職稱 64實例1 實體之間的聯系

27、如下: (1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫由多個職工管理,一個職工只能在一個倉庫工作。 (3)職工之間具有領導-被領導關系。即倉庫主任領導若干職工。(4)供應商、項目和零件三者之間具有多對多的聯系。65實例166實例2 某旅行社管理系統涉及的部分信息如下:. (1)景點:景點編號、景點名稱、地點、景點描述。 (2)線路:線路編號、線路名稱、線路描述。 (3)導游:工號、姓名、等級。 (4)團隊:團隊編號、人數、開始日期、截止日期。 其中:每條線路由多個景點組成,不同線路的景點存在交叉;每條線路有多名導游,但一名

28、導游只負責一條線路;每條線路可同時存在多個旅游團隊,但每個團隊只旅游一條線路。p 建立一個反映上述局部應用的ER模型,要求標注聯系類型(可省略實體屬性)。67實例2旅游景點線路導游團隊負責組成mnk11l68畫E-R圖注意點 根據語義區分實體和屬性 根據語義進行歸類 聯系名不能同名 分析語義確定聯系的類型69 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型70 1.2.

29、4 最常用的數據模型 非關系模型 層次模型層次模型(Hierarchical Model) 網狀模型網狀模型(Network Model) 關系模型(Relational Model) 面向對象模型(Object Oriented Model) 對象關系模型(Object Relational Model)711.2.5 層次模型 層次模型是數據庫系統中最早出現的數據模型 層次模型用樹形結構樹形結構來表示各類實體以及實體間的聯系 72一、 層次數據模型的數據結構 層次模型層次模型的兩個條件層次模型的兩個條件1. 有且只有一個結點沒有雙親結點,這個結點稱有且只有一個結點沒有雙親結點,這個結點稱為

30、根結點為根結點2. 根以外的其它結點有且只有一個雙親結點根以外的其它結點有且只有一個雙親結點73層次數據模型的數據結構 1 根結點根結點 2 兄弟結點兄弟結點 3 葉結點葉結點 4 兄弟結點兄弟結點 5 葉結點葉結點 葉結點葉結點圖圖1.16 一個層次模型的示例一個層次模型的示例74層次數據模型的數據結構 層次模型的特點: 結點的雙親是唯一的結點的雙親是唯一的 只能直接處理一對多的實體聯系只能直接處理一對多的實體聯系 任何記錄值只有按其路徑查看時,才能顯出它的任何記錄值只有按其路徑查看時,才能顯出它的全部意義全部意義75層次數據模型的數據結構圖1.17 教員學生層次數據庫模型 根結點根結點記錄

31、型系的子女結點記錄型系的子女結點記錄型教員的雙親結點記錄型教員的雙親結點葉結點葉結點葉結點葉結點字段字段76層次數據模型的數據結構圖1.18 教員學生層次數據庫的一組值 77二、多對多聯系在層次模型中的表示 方法方法將多對多聯系將多對多聯系分解分解成一對多聯系成一對多聯系 分解方法分解方法 冗余結點法冗余結點法 虛擬結點法虛擬結點法78二、多對多聯系在層次模型中的表示學生學生課程課程選修選修nm 學號學號 姓名姓名 成績成績課程號課程號 課程名課程名課程號課程號 課程名課程名學號學號 姓名姓名 成績成績冗余結點法冗余結點法學號學號 姓名姓名 成績成績課程號課程號 課程名課程名V.CV.S虛擬結

32、點法虛擬結點法(a)(b)(c)79三、層次模型的數據操縱與完整性約束 層次模型的數據操縱層次模型的數據操縱 查詢 插入 刪除 更新 80層次模型的數據操縱與完整性約束 層次模型的完整性約束條件層次模型的完整性約束條件 無相應的雙親結點值就不能插入子女結點值 如果刪除雙親結點值,則相應的子女結點值也被同時刪除 更新操作時,應更新所有相應記錄,以保證數據的一致性81四、層次數據模型的存儲結構 鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次接存放,即通過物理空間的位置相鄰來實現層次順序。順序。82層次數據模型的存

33、儲結構圖圖1.20 層次數據庫及其實例層次數據庫及其實例 A1A2C8C6C4B6C9C2B4C14C7C5C3B1A1圖圖1.21 鄰接法鄰接法 按鄰接法存放圖按鄰接法存放圖1.20(b)中以根記錄中以根記錄A1為首的層次為首的層次記錄實例集記錄實例集按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集 83層次數據模型的存儲結構 鏈接法: 用指引針反映數據之間的層次聯系用指引針反映數據之間的層次聯系 子女兄弟鏈接法子女兄弟鏈接法 層次序列鏈接法層次序列鏈接法84層次數據模型的存儲結構n 子女子女-兄弟鏈接法兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和

34、最近的兄弟85層次數據模型的存儲結構 層次序列鏈接法層次序列鏈接法按樹的前序穿越順序鏈接各記錄值86五、層次模型的優缺點 優點 層次模型的數據結構比較簡單清晰層次模型的數據結構比較簡單清晰 查詢效率高,性能優于關系模型,不低于網查詢效率高,性能優于關系模型,不低于網狀模型狀模型 層次數據模型提供了良好的完整性支持層次數據模型提供了良好的完整性支持 缺點 多對多聯系表示不自然多對多聯系表示不自然 對插入和刪除操作的限制多,應用程序的編對插入和刪除操作的限制多,應用程序的編寫比較復雜寫比較復雜 查詢子女結點必須通過雙親結點查詢子女結點必須通過雙親結點 由于結構嚴密,層次命令趨于程序化由于結構嚴密,

35、層次命令趨于程序化 87 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型881.2.6 網狀模型 網狀數據庫系統采用網狀數據庫系統采用網狀模型網狀模型作為數據的組織方作為數據的組織方式式 891.網狀數據模型的數據結構 網狀模型網狀模型網狀模型的兩個條件:網狀模型的兩個條件:1. 允許一個以上的結點無雙親;允許一個以上的結點無雙親;2. 一個結點可以有多于一個的雙親一個

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

37、網狀模型允許兩個結點之間有多種聯系網狀模型允許兩個結點之間有多種聯系 網狀模型可以更直接地去描述現實世界網狀模型可以更直接地去描述現實世界 層次模型實際上是網狀模型的一個特例層次模型實際上是網狀模型的一個特例92網狀數據模型的數據結構v網狀模型中子女結點與雙親結點的聯系可以不唯一要為每個聯系命名,并指出與該聯系有關的雙親記錄和子女記錄 R1與與R3之間的之間的聯系聯系L1R2與與R3之間的之間的聯系聯系L2 93網狀數據模型的數據結構網狀模型的例子 94網狀數據模型的數據結構多對多聯系在網狀模型中的表示 用網狀模型用網狀模型間接間接表示多對多聯系表示多對多聯系 方法:方法: 將多對多聯系將多對

38、多聯系直接直接分解成一對多聯系分解成一對多聯系95網狀數據模型的數據結構例如:學生與課程之間的多對多聯系 n引進一個學生選課的聯結記錄:學號課程號成績表示某個學生選修某一門課程及其成績 96網狀數據模型的數據結構圖1.24 學生/選課/課程的網狀數據模型 97三、網狀數據模型的存儲結構 關鍵 實現記錄之間的聯系實現記錄之間的聯系 常用方法 單向鏈接單向鏈接 雙向鏈接雙向鏈接 環狀鏈接環狀鏈接 向首鏈接向首鏈接98網狀數據模型的存儲結構圖1.25 學生/選課/課程的網狀數據庫實例學生記錄學生記錄課程記錄課程記錄選課記錄選課記錄99四、網狀數據模型的優缺點 優點 能夠更為直接地描述現實世界,如一個

39、結點可以有能夠更為直接地描述現實世界,如一個結點可以有多個雙親多個雙親 具有良好的性能,存取效率較高具有良好的性能,存取效率較高 缺點 結構比較復雜,而且隨著應用環境的擴大,數據庫結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握的結構就變得越來越復雜,不利于最終用戶掌握 DDL、DML語言復雜,用戶不容易使用語言復雜,用戶不容易使用100小結 概念模型, E-R 模型 數據模型 層次模型 網狀模型101 1.2 數據模型 1.2.1 兩大類數據模型兩大類數據模型 1.2.2 數據模型的組成要素數據模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最

40、常用的數據模型最常用的數據模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型1021.2.7 關系模型 1970年美國年美國IBM公司公司San Jose研究室的研究員研究室的研究員E.F.Codd首次提出了數據庫系統的關系模型首次提出了數據庫系統的關系模型 。103一、關系數據模型的數據結構 在在用戶觀點用戶觀點下,關系模型中數據的邏輯結構是一張二維表,下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。它由行和列組成。學 號姓 名年 齡性 別系 名年 級王小明19女社會學2005黃大鵬20男商品學2005張文斌18女法律2005學生登記表學

41、生登記表屬性屬性元組元組104關系數據模型的數據結構關系關系(Relation)一個關系對應通常說的一張表一個關系對應通常說的一張表元組元組(Tuple)表中的一行即為一個元組表中的一行即為一個元組屬性屬性(Attribute)表中的一列即為一個屬性,給每一個屬性起一個名稱表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名即屬性名105關系數據模型的數據結構 主碼(主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。表中的某個屬性組,它可以唯一確定一個元組。 域(域(Domain)屬性的取值范圍。屬性的取值范圍。 分量分量元組中的一個屬性值。元組中的一個屬性值。 關系模式關系模式對關系

42、的描述對關系的描述關系名(屬性關系名(屬性1,屬性,屬性2,屬性,屬性n)例子:學生(學號,姓名,年齡,性別,系,年例子:學生(學號,姓名,年齡,性別,系,年級)級)106關系數據模型的數據結構 在關系模型中,聯系也是用關系來表示的。在關系模型中,聯系也是用關系來表示的。例例1,學生、系、系與學生之間的一對多聯系:,學生、系、系與學生之間的一對多聯系:學生(學號,姓名,年齡,性別,學生(學號,姓名,年齡,性別,系號系號,年級),年級)系系 (系號,系名,辦公地點系號,系名,辦公地點)例例2系、系主任、系與系主任間的一對一聯系系、系主任、系與系主任間的一對一聯系 系系 (系號,系名,辦公地點,系

43、號,系名,辦公地點,系主任系主任)107關系數據模型的數據結構例例3,學生、課程、學生與課程之間的多對多聯系:,學生、課程、學生與課程之間的多對多聯系: 學生(學號,姓名,年齡,性別,系號,年級)學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)課程(課程號,課程名,學分)選修(學號,課程號,成績)選修(學號,課程號,成績)108關系數據模型的數據結構 關系必須是規范化的關系必須是規范化的 最基本的規范條件是:關系的每一個分量必須是一個不可分的數據項職工號姓名職 稱工 資扣 除實 發基 本津 貼職務房 租水 電86051陳 平講 師13051200501601122283圖

44、圖1.27 一個工資表一個工資表(表中有表表中有表)實例實例 109關系數據模型的數據結構關系術語一般表格的術語關系名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規范關系表中有表(大表中嵌有小表)表表1.2 術語對比術語對比 110二、關系數據模型的操縱與完整性約束 集合操作,操作對象和操作結果都是關系集合操作,操作對象和操作結果都是關系 查詢查詢 插入插入 刪除刪除 更新更新111關系數據模型的操縱與完整性約束 關系的完整性約束條件關系的完整性約束條件 實體完整性實體完整性 參照完整性參照完整性 用戶定義的完整性用戶定義的完

45、整性112三、關系數據模型的存儲結構 實體及實體間的聯系都用表來表示實體及實體間的聯系都用表來表示 表以文件形式存儲表以文件形式存儲 有的有的DBMS一個表對應一個操作系統文件一個表對應一個操作系統文件 有的有的DBMS自己設計文件結構自己設計文件結構113四、關系數據模型的優缺點 優點優點 建立在嚴格的數學概念的基礎上建立在嚴格的數學概念的基礎上 概念單一概念單一 實體和各類聯系都用關系來表示實體和各類聯系都用關系來表示 對數據的檢索結果也是關系對數據的檢索結果也是關系 關系模型的存取路徑對用戶透明關系模型的存取路徑對用戶透明 具有更高的數據獨立性,更好的安全保密性具有更高的數據獨立性,更好

46、的安全保密性 簡化了程序員的工作和數據庫開發建立的工作簡化了程序員的工作和數據庫開發建立的工作114關系數據模型的優缺點 缺點缺點 存取路徑對用戶透明導致查詢效率往往不如非存取路徑對用戶透明導致查詢效率往往不如非 關系數據模型關系數據模型 為提高性能,必須對用戶的查詢請求進行優化為提高性能,必須對用戶的查詢請求進行優化 增加了開發增加了開發DBMS的難度的難度115第一章 緒論1.1 數據庫系統概述數據庫系統概述1.2 數據模型數據模型1.3 數據庫系統結構數據庫系統結構1.4 數據庫系統的組成數據庫系統的組成1.5 小結小結1161.3 數據庫系統結構 從數據庫從數據庫管理系統角度管理系統角

47、度看,數據庫系統通常看,數據庫系統通常采用三級模式結構,是數據庫系統內部的系采用三級模式結構,是數據庫系統內部的系統結構。統結構。 從數據庫從數據庫最終用戶角度最終用戶角度看(數據庫系統外部看(數據庫系統外部的體系結構)的體系結構) ,數據庫系統的結構分為,數據庫系統的結構分為:單用戶結構、主從式結構、分布式結構、客戶服務單用戶結構、主從式結構、分布式結構、客戶服務器、瀏覽器應用服務器數據庫服務器多層結構等。器、瀏覽器應用服務器數據庫服務器多層結構等。117數據庫系統結構(續)1.3.1 數據庫系統模式的概念數據庫系統模式的概念 1.3.2 數據庫系統的三級模式結構數據庫系統的三級模式結構 1

48、.3.3 數據庫的二級映像功能與數據獨立性數據庫的二級映像功能與數據獨立性 1181.3.1 數據庫系統模式的概念型型(Type)對某一類數據的結構和屬性的說明對某一類數據的結構和屬性的說明值值(Value)是型的一個具體賦值是型的一個具體賦值例如,學生記錄型: (學號,姓名,性別,系別,年齡,籍貫)一個記錄值: (900201,李明,男,計算機,22,江蘇)119數據庫系統模式的概念 模式(Schema) 數據庫邏輯結構和特征的描述 實例(Instance) 模式的一個具體值120數據庫系統結構1.3.1 數據庫系統模式的概念數據庫系統模式的概念 1.3.2 數據庫系統的三級模式結構數據庫系

49、統的三級模式結構 1.3.3 數據庫的二級映像功能與數據獨立性數據庫的二級映像功能與數據獨立性 1211.3.2 數據庫系統的三級模式結構 模式(模式(Schema) 外模式(外模式(External Schema) 內模式(內模式(Internal Schema) 122數據庫系統的三級模式結構圖1.28 數據庫系統的三級模式結構 123一、模式(Schema) 模式(也稱邏輯模式)模式(也稱邏輯模式) 數據庫中全體數據的邏輯結構和特征的描述數據庫中全體數據的邏輯結構和特征的描述 一個數據庫只有一個模式一個數據庫只有一個模式124二、外模式(External Schema) 外模式(也稱子模

50、式或用戶模式)外模式(也稱子模式或用戶模式) 數據庫用戶(包括應用程序員和最終用戶)使用數據庫用戶(包括應用程序員和最終用戶)使用的的局部局部數據的邏輯結構和特征的描述數據的邏輯結構和特征的描述 外模式是與某一應用有關的數據的邏輯表示外模式是與某一應用有關的數據的邏輯表示125外模式 外模式的地位:介于模式與應用之間外模式的地位:介于模式與應用之間 模式與外模式的關系:一對多模式與外模式的關系:一對多 外模式通常是模式的子集外模式通常是模式的子集 一個數據庫可以有多個外模式。一個數據庫可以有多個外模式。 對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都對模式中同一數據,在外模式中的

51、結構、類型、長度、保密級別等都可以不同可以不同 外模式與應用的關系:一對多外模式與應用的關系:一對多 同一外模式可以為多個應用系統所使用同一外模式可以為多個應用系統所使用 但一個應用程序只能使用一個外模式但一個應用程序只能使用一個外模式126外模式 外模式的用途外模式的用途n保證數據庫安全性的一個有力措施保證數據庫安全性的一個有力措施n每個用戶只能看見和訪問所對應的外模式中的數據每個用戶只能看見和訪問所對應的外模式中的數據127三、內模式(Internal Schema) 內模式(也稱存儲模式)內模式(也稱存儲模式) 是數據物理結構和存儲方式的描述是數據物理結構和存儲方式的描述 是數據在數據庫內部的表示方式是數據在數據庫內部的表示方式 一個數據庫只有一個內模式一個數據庫只有一個內模式128數據庫系統結構1.3.1 數據庫系統模式的概念數據庫系統模式的概念 1.3.2 數據庫系統的三級模式結構數據庫系統的三級模式結構 1.3.3 數據庫的二級映像功能與數據獨立性數據庫的二級映像功能與數據獨立性 1291.3.3 數據庫的二級映像功能與數據獨立性 二級映象二級映象 外模式模式映像外模式模式映像 模式內模式映像模式內模式映像 130外模式模式映象 作用:保證數據的邏輯獨立性作用:保證數據的邏輯獨立性 當模式改變時,數據庫管理員修改有關的外模當模式

溫馨提示

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

評論

0/150

提交評論