數據庫第一講_第1頁
數據庫第一講_第2頁
數據庫第一講_第3頁
數據庫第一講_第4頁
數據庫第一講_第5頁
已閱讀5頁,還剩159頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫原理及應用計算機科學技術學院孫亞楠syn78286@163.comThePrinciplesandApplicationofDatabase課程簡介數據庫原理是網絡工程專業的基礎必修課,為二年級學生開設。數據庫是數據管理的最新技術,是計算機科學的重要分支。數據庫技術是計算機科學技術中發展最快的領域之一,也是應用最廣的技術之一,它已成為計算機信息系統與應用系統的核心技術和重要基礎。數據庫原理及應用計算機科學技術學院2課程簡教學目的介紹

通過本課程的學習使學生掌握數據庫系統的基本概念、基本理論和基本技術,理解數據庫管理系統的內部結構和工作原理,了解數據庫應用系統分析與設計的步驟,為將來從事數據庫系統研究、設計與應用工作打下基礎。數據庫原理及應用計算機科學技術學院3教材及參考書教材

薩師煊,王珊:數據庫系統概論(第四版)高等教育出版社,2006.5參考AFirstCourseinDatabaseSystemsJeffrey.D.Ullman,JenniferWidom

Dept.OfComputerScienceStanfordUniversityDateCJ,AnIntroductiontoDatabaseSystem(Ed.7),Addison-Wesley,2000

數據庫原理及應用計算機科學技術學院4學習方法聽課啟發式、討論式

讀書

預習、復習

作業、上機實踐

綜合練習數據庫原理及應用計算機科學技術學院5考試成績期末成績平時成績占20%,材料綜述占5%,實驗占5%,期末成績占70%數據庫原理及應用計算機科學技術學院6內容安排(1)基礎篇第一章緒論第二章關系數據庫第三章關系數據庫標準語言SQL第四章數據庫安全性第五章數據庫完整性設計與應用開發篇第六章關系數據理論數據庫設計第七章數據庫設計第八章數據庫編程數據庫原理及應用計算機科學技術學院7內容安排(2)系統篇第九章關系查詢處理和查詢優化第十章數據庫恢復技術第十一章并發控制*第十二章數據庫管理系統第一至第十一章是本科專業的基本教程(書中有*號的部分除外)第十二至第十七章是高級教程數據庫原理及應用計算機科學技術學院8數據庫系統概論AnIntroductiontoDatabaseSystem第一章緒論數據庫原理及應用計算機科學技術學院9內容數據庫系統概述1數據模型2數據庫系統結構3數據庫系統的組成45小結數據庫原理及應用計算機科學技術學院10數據庫系統概述數據庫的地位1四個基本概念2數據管理技術的產生和發展3數據庫系統的特點4數據庫原理及應用計算機科學技術學院11數據庫的地位數據庫技術產生于六十年代末,是數據管理的最新技術,是計算機科學的重要分支數據庫技術是信息系統的核心和基礎,它的出現極大地促進了計算機應用向各行各業的滲透數據庫的建設規模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志數據庫原理及應用計算機科學技術學院12數據庫系統概述數據庫的地位1四個基本概念2數據管理技術的產生和發展3數據庫系統的特點4數據庫原理及應用計算機科學技術學院13四個基本概念數據

(Data)

數據庫

(DataBase,簡稱DB)

數據庫管理系統(DBMS,DataBaseManagementsystem)

數據庫系統

(DBS,DataBasesystem)數據庫原理及應用計算機科學技術學院14數據數據是數據庫中存儲的基本對象。數據的定義:

描述事物的符號記錄數據的種類

數據、

文字、圖形、圖象、聲音數據的特點

數據與其語義是不可分的數據庫原理及應用計算機科學技術學院15數據的舉例學生檔案中的學生記錄(李明,男,1972,江蘇,計算機系,1990)數據的形式不能完全表達其內容數據的解釋語義:學生姓名、性別、出生年月、籍貫、系別、入學時間解釋:李明是個學生,1972年出生,江蘇人,在計算機系,1990年入學請給出另一個解釋和語義數據庫原理及應用計算機科學技術學院16數據庫人們收集并抽取出一個應用所需要的大量數據之后,應將其保存起來以供進一步加工處理,進一步抽取有用信息數據庫的定義數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據集合。數據庫原理及應用計算機科學技術學院17數據庫(舉例)數據庫原理及應用計算機科學技術學院18數據庫(續)數據庫中的數據按一定的數據模型組織、描述和存儲、具有較小的冗余度、較高的數據獨立性和易擴展性,并可為各種用戶共享。數據庫的數據具有永久存儲、有組織和可共享的三個基本特點。數據庫原理及應用計算機科學技術學院19數據庫管理系統

什么是DBMS

數據庫管理系統(DatabaseManagementSystem,簡稱DBMS)是位于用戶與操作系統之間的一層數據管理軟件。

DBMS的用途

科學地組織和存儲數據、高效地獲取和維護數據數據庫原理及應用計算機科學技術學院20數據庫管理系統(續)DBMS的主要功能數據定義功能

提供數據定義語言(DDL)

定義數據庫中的數據對象數據操縱功能:提供數據操縱語言(DML)

操縱數據實現對數據庫的基本操作(查詢、插入、刪除和修改)數據庫原理及應用計算機科學技術學院21數據庫管理系統(續)數據庫的運行管理

保證數據的安全性、完整性 多用戶對數據的并發使用發生故障后的系統恢復數據庫的建立和維護功能(實用程序)

數據庫數據批量裝載 數據庫轉儲 介質故障恢復 數據庫的重組織 性能監視等數據庫原理及應用計算機科學技術學院22數據庫系統什么是數據庫系統數據庫系統(DatabaseSystem,簡稱DBS)是指在計算機系統中引入數據庫后的系統構成。在不引起混淆的情況下常常把數據庫系統簡稱為數據庫。數據庫系統的構成由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員(和用戶)構成。數據庫原理及應用計算機科學技術學院23數據庫系統(續)數據庫系統構成圖示用戶用戶用戶應用系統應用開發工具數據庫管理系統操作系統數據庫管理員數據庫數據庫系統在計算機系統中的位置數據庫原理及應用計算機科學技術學院24數據庫系統概述數據庫的地位1四個基本概念2數據管理技術的產生和發展3數據庫系統的特點4數據庫原理及應用計算機科學技術學院25數據管理技術的產生與發展什么是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護,是數據處理的中心問題數據管理技術的發展過程人工管理階段(40年代中--50年代中)文件系統階段(50年代末--60年代中)數據庫系統階段(60年代末--現在)數據庫原理及應用計算機科學技術學院26數據管理技術的產生和發展(續)數據管理技術的發展動力應用需求的推動計算機硬件的發展計算機軟件的發展數據庫原理及應用計算機科學技術學院27數據管理技術的產生和發展(續)一、人工管理時期40年代中--50年代中產生的背景應用需求 科學計算 硬件水平 無直接存取存儲設備 軟件水平 沒有操作系統 處理方式 批處理 數據庫原理及應用計算機科學技術學院28數據管理技術的產生和發展(續)特點數據的管理者:應用程序,數據不保存。數據面向的對象:某一應用程序數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序自己控制數據庫原理及應用計算機科學技術學院29數據管理技術的產生和發展(續)人工管理(續)應用程序與數據的對應關系(人工管理)應用程序1數據集1應用程序2數據集2應用程序n數據集n...…...…數據庫原理及應用計算機科學技術學院30數據管理技術的產生和發展(續)二、文件系統階段時期50年代末--60年代中產生的背景應用需求 科學計算、管理 硬件水平 磁盤、磁鼓 軟件水平 有文件系統 處理方式 聯機實時處理、批處理數據庫原理及應用計算機科學技術學院31數據管理技術的產生和發展(續)文件系統(續)特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用程序數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須修改應用程序數據控制能力:應用程序自己控制數據庫原理及應用計算機科學技術學院32數據管理技術的產生和發展(續)文件系統(續)應用程序與數據的對應關系(文件系統)應用程序1文件1應用程序2文件2應用程序n文件n存取方法...…...…數據庫原理及應用計算機科學技術學院33數據管理技術的產生和發展(續)三、數據庫系統時期60年代末以來產生的背景應用背景 大規模管理 硬件背景 大容量磁盤 軟件背景 有數據庫管理系統 處理方式 聯機實時處理,分布處理,批處理

數據庫原理及應用計算機科學技術學院34數據管理技術的產生和發展(續)特點數據的管理者:DBMS數據面向的對象:現實世界 數據的共享程度:共享性高降低數據的冗余度,節省存儲空間避免數據間的不一致性使系統易于擴充數據庫原理及應用計算機科學技術學院35數據管理技術的產生和發展(續)數據的獨立性:高度的物理獨立性和一定的邏輯獨立性 物理獨立性指用戶的應用程序與存儲在磁盤上的數據庫中數據是相互獨立的。當數據的物理存儲改變了,應用程序不用改變。邏輯獨立性指用戶的應用程序與數據庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,用戶程序也可以不變。數據庫原理及應用計算機科學技術學院36數據管理技術的產生和發展(續)數據的結構化:整體結構化整體數據的結構化是數據庫的主要特征之一。數據庫中實現的是數據的真正結構化數據的結構用數據模型描述,無需程序定義和解釋。數據可以變長。數據的最小存取單位是數據項。數據庫原理及應用計算機科學技術學院37數據管理技術的產生和發展(續)數據控制能力:由DBMS統一管理和控制數據的安全性(Security)保護使每個用戶只能按指定方式使用和處理指定數據,保護數據以防止不合法的使用造成的數據的泄密和破壞。數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。并發(Concurrency)控制對多用戶的并發操作加以控制和協調,防止相互干擾而得到錯誤的結果。數據庫恢復(Recovery)將數據庫從錯誤狀態恢復到某一已知的正確狀態。數據庫原理及應用計算機科學技術學院38數據庫系統概述數據庫的地位1四個基本概念2數據管理技術的產生和發展3數據庫系統的特點4數據庫原理及應用計算機科學技術學院39數據庫系統的特點數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高數據由DBMS統一管理和控制數據庫原理及應用計算機科學技術學院40第一章緒論數據庫系統概述1數據模型2數據庫系統結構3數據庫系統的組成45小結數據庫原理及應用計算機科學技術學院41數據模型在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬。數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便于在計算機上實現數據庫原理及應用計算機科學技術學院421.2數據模型

1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型數據庫原理及應用計算機科學技術學院43兩類數據模型數據模型分成兩個不同的層次(1)概念模型

也稱信息模型,它是按用戶的觀點來對數據和信息建模。

(2)邏輯模型和物理模型邏輯模型主要包括網狀模型、層次模型、關系模型等,它是按計算機系統的觀點對數據建模。用于DBMS的實現。物理模型是對數據最低層的抽象。數據庫原理及應用計算機科學技術學院44兩類數據模型(續)客觀對象的抽象過程---兩步抽象現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某一DBMS支持的邏輯模型和物理模型。

概念模型是現實世界到機器世界的一個中間層次。數據庫原理及應用計算機科學技術學院451.2數據模型1.2.1兩類數據模型

1.2.2數據模型的組成要素1.2.3概念模型1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型數據庫原理及應用計算機科學技術學院46數據模型的組成要素

數據模型的三要素:數據結構數據操作數據的約束條件數據庫原理及應用計算機科學技術學院47數據模型的組成要素(續)一、數據結構什么是數據結構對象類型的集合(描述對象及對象之間的聯系)兩類對象與數據類型、內容、性質有關的對象與數據之間聯系有關的對象數據結構是對系統靜態特性的描述數據庫原理及應用計算機科學技術學院48數據模型的組成要素(續)二、數據操作數據操作對數據庫中各種對象(型)的實例(值)允許執行的操作及有關的操作規則數據操作的類型檢索更新(包括插入、刪除、修改)數據庫原理及應用計算機科學技術學院49數據模型的組成要素(續)數據模型對操作的定義操作的確切含義操作符號操作規則(如優先級)實現操作的語言數據操作是對系統動態特性的描述數據庫原理及應用計算機科學技術學院50數據模型的組成要素(續)三、數據的約束條件數據的約束條件一組完整性規則的集合。完整性規則是給定的數據模型中數據及其聯系所具有的制約和儲存規則,用以限定符合數據模型的數據庫狀態以及狀態的變化,以保證數據的正確、有效、相容。數據庫原理及應用計算機科學技術學院51數據模型的組成要素(續)數據模型對約束條件的定義反映和規定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。數據庫原理及應用計算機科學技術學院521.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素

1.2.3概念模型1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型數據庫原理及應用計算機科學技術學院概念模型

一、概念模型二、信息世界中的基本概念三、概念模型的表示方法數據庫原理及應用計算機科學技術學院一、概念模型概念模型的用途概念模型用于信息世界的建模是現實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解。數據庫原理及應用計算機科學技術學院二、信息世界中的基本概念(1)實體(Entity)客觀存在并相互區別的事物稱為實體。實體可以是具體的人、事、物,也可以是抽象的概念或者聯系。例如:一個學生,老師與院系的工作關系。(2)屬性(Attribute)實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。例如:學生實體中姓名、學號等。數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)(3)碼(Key)唯一標識實體的屬性集稱為碼。例如:學生實體的學號。(4)域(Domain)屬性的取值范圍稱為該屬性的域。例如:性別域(男,女)。(5)實體型(EntityType)用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。例如:學生(學號,姓名,性別,出生年月,所在院系,入學時間)就是一個實體型。數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)(6)實體集(EntitySet)同一類型實體的集合稱為實體集。例如:全體學生(7)聯系(Relationship)實體內部的聯系:組成實體的各屬性之間的聯系。實體之間的聯系:不同實體集之間的聯系。實體型之間的聯系:一、兩個實體型之間的聯系二、兩個以上的實體型之間的聯系三、單個實體型內的聯系數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)兩個實體型之間的聯系數據庫原理及應用計算機科學技術學院實體型1聯系名實體型2111:1聯系實體型1聯系名實體型2mnm:n聯系實體型1聯系名實體型21n1:n聯系信息世界中的基本概念(續)一對一聯系

如果對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系。記為1:1。實例班級與班長之間的聯系數據庫原理及應用計算機科學技術學院一個班級只有一個正班長一個班長只在一個班中任職信息世界中的基本概念(續)一對多聯系如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B有一對多聯系。

記為1:n。實例班級與學生之間的聯系:數據庫原理及應用計算機科學技術學院一個班級中有若干名學生,每個學生只在一個班級中學習信息世界中的基本概念(續)多對多聯系(m:n)如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體B具有多對多聯系。記為m:n。實例課程與學生之間的聯系:數據庫原理及應用計算機科學技術學院一門課程同時有若干個學生選修一個學生可以同時選修多門課程信息世界中的基本概念(續)一對多聯系若實體型E1,E2,...,En存在聯系,對于實體型Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯系是一對多的。實例

課程、教師與參考書三個實體型??數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)多個實體型間的一對多聯系(續)多個實體型間的一對一聯系多個實體型間的多對多聯系同一實體集內各實體間的聯系一對一聯系多對多聯系一對多聯系實例

職工實體集內部具有領導與被領導的聯系數據庫原理及應用計算機科學技術學院三、概念模型的表示方法概念模型的表示方法很多實體-聯系方法(E-R方法)用E-R圖來描述現實世界的概念模型E-R方法也稱為E-R模型數據庫原理及應用計算機科學技術學院概念模型的表示方法(續)E-R圖實體型用矩形表示,矩形框內寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來數據庫原理及應用計算機科學技術學院學生教師學生學號年齡性別姓名信息世界中的基本概念(續)E-R圖(續)聯系本身:用菱形表示,菱形框內寫明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n)聯系的屬性:聯系本身也是一種實體型,也可以有屬性。如果一個聯系具有屬性,則這些屬性也要用無向邊與該聯系連接起來。數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)E-R圖(續)數據庫原理及應用計算機科學技術學院實體型1聯系名mn同一實體型內部的m:n聯系實體型1聯系名實體型21m多個實體型間的1:n聯系實體型3n課程選修學生mn成績信息世界中的基本概念(續)例子客戶、擔保人和貸款三個實體之間,客戶包含身份證號、姓名、性別、工作單位、家庭住址等;擔保人包含身份證號、姓名、性別、工作單位、經濟狀況等;貸款包含貸款編號、期限和款項等。如果規定:一個客戶可能有多筆貸款,每一筆貸款有且僅有一個客戶;一筆貸款可有都個擔保人,但一個擔保人只能擔保一筆貸款數據庫原理及應用計算機科學技術學院信息世界中的基本概念(續)E-R圖(續)

E-R圖實例:

P19

某工廠物資管理E-R圖數據庫原理及應用計算機科學技術學院1.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型

1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型1.2.7關系模型數據庫原理及應用計算機科學技術學院最常用的數據模型非關系模型層次模型(HierarchicalModel)網狀模型(NetworkModel)數據結構:以基本層次聯系為基本單位基本層次聯系:兩個記錄以及它們之間的一對多(包括一對一)的聯系

數據庫原理及應用計算機科學技術學院最常用的數據模型(續)關系模型(RelationalModel)

數據結構:表面向對象模型(ObjectOrientedModel)數據結構:對象數據庫原理及應用計算機科學技術學院1.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型

1.2.7關系模型數據庫原理及應用計算機科學技術學院層次模型1.層次數據模型的數據結構2.層次數據模型的數據操縱3.層次數據模型的完整性約束4.層次數據模型的存儲結構5.層次數據模型的優缺點6.典型的層次數據庫系統數據庫原理及應用計算機科學技術學院1.層次模型的數據結構層次模型滿足下面兩個條件的基本層次聯系的集合為層次模型。

1.有且只有一個結點沒有雙親結點,這個結點稱為根結點

2.根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點數據庫原理及應用計算機科學技術學院層次模型的數據結構(續)層次模型的示例數據庫原理及應用計算機科學技術學院

R1

根結點

R2

兄弟結點

R3

葉結點

R4

兄弟結點

R5

葉結點

葉結點層次模型的數據結構(續)表示方法實體型:用記錄類型描述。每個結點表示一個記錄類型。屬性:用字段描述。每個記錄類型可包含若干個字段。聯系:用結點之間的連線表示記錄(類)型之間的一對多的聯系。

實例:教員-學生數據模型(P21和P22)數據庫原理及應用計算機科學技術學院層次模型的數據結構(續)特點結點的雙親是唯一的只能直接處理一對多的實體聯系每個記錄類型定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在數據庫原理及應用計算機科學技術學院層次模型的數據結構(續)多對多聯系在層次模型中的表示用層次模型間接表示多對多聯系方法將多對多聯系分解成一對多聯系分解方法冗余結點法虛擬結點法數據庫原理及應用計算機科學技術學院2.層次模型的數據操縱

查詢插入刪除更新數據庫原理及應用計算機科學技術學院3.層次模型的完整性約束無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性數據庫原理及應用計算機科學技術學院4.層次模型的存儲結構鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序鏈接法用指引元來反映數據之間的層次聯系子女-兄弟鏈接法P26層次序列鏈接法P26數據庫原理及應用計算機科學技術學院5.層次模型的優缺點優點層次數據模型簡單,對具有一對多的層次關系的部門描述自然、直觀,容易理解性能優于關系模型,不低于網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯系表示不自然對插入和刪除操作的限制多查詢子女結點必須通過雙親結點層次命令趨于程序化數據庫原理及應用計算機科學技術學院6.典型的層次數據庫系統

IMS數據庫管理系統第一個大型商用DBMS1968年推出IBM公司研制數據庫原理及應用計算機科學技術學院1.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型1.2.4常用數據模型1.2.5層次模型

1.2.6網狀模型1.2.7關系模型數據庫原理及應用計算機科學技術學院網狀模型

1.網狀數據模型的數據結構2.網狀數據模型的數據操縱3.網狀數據模型的完整性約束4.網狀數據模型的存儲結構5.網狀數據模型的優缺點6.典型的網狀數據庫系統數據庫原理及應用計算機科學技術學院1.網狀數據模型的數據結構網狀模型

滿足下面兩個條件的基本層次聯系的集合為網狀模型。允許一個以上的結點無雙親;一個結點可以有多于一個的雙親。數據庫原理及應用計算機科學技術學院網狀數據模型的數據結構(續)網狀模型的例子數據庫原理及應用計算機科學技術學院

R1

R2

R3

L1L2

R1

R2

L3

L1L2

R3

L4

R4

L5

R5

網狀數據模型的數據結構(續)特點只能直接處理一對多的實體聯系每個記錄類型定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義數據庫原理及應用計算機科學技術學院網狀數據模型的數據結構(續)網狀模型與層次模型的區別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點數據庫原理及應用計算機科學技術學院

R1

R2

R3

L1L2

R1

R2

L3

L1L2

R3

L4

R4

L5

R5

網狀數據模型的數據結構(續)網狀模型與層次模型的區別(續)網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例數據庫原理及應用計算機科學技術學院

R1

L1L2

R2網狀數據模型的數據結構(續)數據庫原理及應用計算機科學技術學院學生宿舍學生教研室系教師父母人子女樹種植砍伐養育贍養網狀數據模型的數據結構(續)多對多聯系在網狀模型中的表示用網狀模型間接表示多對多聯系方法將多對多聯系直接分解成一對多聯系數據庫原理及應用計算機科學技術學院2.網狀模型的數據操縱查詢插入刪除更新數據庫原理及應用計算機科學技術學院3.網狀數據模型的完整性約束網狀數據庫系統(如DBTG)對數據操縱加了一些限制,提供了一定的完整性約束碼雙親結點與子女結點之間是一對多聯系屬籍類別加入類別(自動的,手工的)移出類別(固定的,必須的,隨意的)數據庫原理及應用計算機科學技術學院網狀數據模型的完整性約束(續)完整性約束條件允許插入尚未確定雙親結點值的子女結點值允許只刪除雙親結點值數據庫原理及應用計算機科學技術學院4.網狀數據模型的存儲結構(小組討論學習)關鍵實現記錄之間的聯系常用方法單向鏈接雙向鏈接環狀鏈接向首鏈接例:P27數據庫原理及應用計算機科學技術學院5.網狀模型的優缺點優點能夠更為直接地描述現實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用數據庫原理及應用計算機科學技術學院6.典型的網狀數據庫系統DBTG系統,亦稱CODASYL系統由DBTG提出的一個系統方案奠定了數據庫系統的基本概念、方法和技術70年代推出實際系統CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE數據庫原理及應用計算機科學技術學院1.2數據模型1.2.1兩類數據模型1.2.2數據模型的組成要素1.2.3概念模型1.2.4常用數據模型1.2.5層次模型1.2.6網狀模型

1.2.7關系模型數據庫原理及應用計算機科學技術學院關系模型1.關系數據模型的數據結構2.關系數據模型的操縱3.關系數據模型的完整性約束4.關系數據模型的存儲結構5.關系數據模型的優缺點6.典型的關系數據庫系統數據庫原理及應用計算機科學技術學院關系模型最重要的一種數據模型。也是目前主要采用的數據模型1970年由美國IBM公司SanJose研究室的研究員E.F.Codd提出本課程的重點數據庫原理及應用計算機科學技術學院1.關系數據模型的數據結構在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。數據庫原理及應用計算機科學技術學院關系模型的基本概念域(Domain)分量關系模式對關系的描述:學生(學號,姓名,年齡,性別,系,年級)數據庫原理及應用計算機科學技術學院關系模型的基本概念主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別,系,年級)數據庫原理及應用計算機科學技術學院關系數據模型的數據結構(續)實體及實體間的聯系的表示方法實體型:直接用關系(表)表示。屬性:用屬性名表示。一對一聯系:隱含在實體對應的關系中。一對多聯系:隱含在實體對應的關系中。多對多聯系:直接用關系表示數據庫原理及應用計算機科學技術學院關系數據模型的數據結構(續)例1學生、系,系與學生之間的一對多聯系數據庫原理及應用計算機科學技術學院學生(學號,姓名,年齡,性別,系號,年級)系(系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯系系(系號,系名,辦公地點,系主任)關系數據模型的數據結構(續)例3學生、課程、學生與課程之間的多對多聯系:數據庫原理及應用計算機科學技術學院學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績)關系數據模型的數據結構(續)關系必須是規范化的,滿足一定的規范條件。最基本的規范條件:關系的每一個分量必須是一個不可分的數據項。數據庫原理及應用計算機科學技術學院86051115.5陳

平講

師1059.515612工

資扣

除職

工號姓名職稱基

本工

齡職

務房

租水

電實發...........................2.關系模型的數據操縱查詢、插入、刪除、更新數據操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”數據庫原理及應用計算機科學技術學院3.關系模型的完整性約束實體完整性參照完整性用戶定義的完整性數據庫原理及應用計算機科學技術學院4.關系數據模型的存儲結構表以文件形式存儲有的DBMS一個表對應一個操作系統文件有的DBMS自己設計文件結構數據庫原理及應用計算機科學技術學院5.關系模型的優缺點優點建立在嚴格的數學概念的基礎上概念單一。數據結構簡單、清晰,用戶易懂易用實體和各類聯系都用關系來表示。對數據的檢索結果也是關系。關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作數據庫原理及應用計算機科學技術學院關系模型的優缺點(續)缺點存取路徑對用戶透明導致查詢效率往往不如非關系數據模型為提高性能,必須對用戶的查詢請求進行優化增加了開發數據庫管理系統的難度數據庫原理及應用計算機科學技術學院6.典型的關系數據庫系統ORACLESYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase數據庫原理及應用計算機科學技術學院第一章緒論數據庫原理及應用計算機科學技術學院數據庫系統概述1數據模型2數據庫系統結構3數據庫系統的組成45小結數據庫系統結構一、數據庫系統內部的模式結構

從數據庫管理系統角度看【三級模式結構】二、數據庫系統外部的體系結構

從數據庫最終用戶角度看

【單用戶結構、主從式結構、分布式結構、客戶/服務器、瀏覽器/應用服務器/數據庫服務器多層結構】數據庫原理及應用計算機科學技術學院數據庫系統結構數據庫原理及應用計算機科學技術學院數據庫系統模式的概念1數據庫系統的三級模式結構2數據庫的二級映像功能與數據獨立性3數據庫系統模式的概念“型”和“值”的概念型(Type)對某一類數據的結構和屬性的說明值(Value)是型的一個具體賦值數據庫原理及應用計算機科學技術學院例如:學生記錄記錄型:(學號,姓名,性別,系別,年齡,籍貫)該記錄型的一個記錄值:(900201,李明,男,計算機,22,江蘇)數據庫系統模式的概念(續)模式(Schema)數據庫邏輯結構和特征的描述是型的描述反映的是數據的結構及其聯系模式是相對穩定的模式的一個實例(Instance)模式的一個具體值反映數據庫某一時刻的狀態同一個模式可以有很多實例實例隨數據庫中的數據的更新而變動數據庫原理及應用計算機科學技術學院數據庫系統結構數據庫原理及應用計算機科學技術學院數據庫系統模式的概念1數據庫系統的三級模式結構2數據庫的二級映像功能與數據獨立性3數據庫系統的三級模式結構數據庫原理及應用計算機科學技術學院數據庫系統的三級模式結構(續)模式(Schema)模式(也稱邏輯模式)數據庫中全體數據的邏輯結構和特征的描述所有用戶的公共數據視圖,綜合了所有用戶的需求一個數據庫只有一個模式模式的地位:是數據庫系統模式結構的中間層與數據的物理存儲細節和硬件環境無關與具體的應用程序、開發工具及高級程序設計語言無關模式的定義數據的邏輯結構(數據項的名字、類型、取值范圍等)數據之間的聯系數據有關的安全性、完整性要求數據庫原理及應用計算機科學技術學院數據庫系統的三級模式結構(續)外模式(ExternalSchema)也稱子模式(Subschema)數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特征的描述數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示數據庫原理及應用計算機科學技術學院數據庫系統的三級模式結構(續)外模式(續)外模式的地位:介于模式與應用之間模式與外模式的關系:一對多外模式通常是模式的子集一個數據庫可以有多個外模式。反映了不同的用戶的應用需求、看待數據的方式、對數據保密的要求對模式中同一數據,在外模式中的結構、類型、長度、保密級別等都可以不同外模式與應用的關系:一對多同一外模式也可以為某一用戶的多個應用系統所使用,但一個應用程序只能使用一個外模式。數據庫原理及應用計算機科學技術學院數據庫系統的三級模式結構(續)外模式(續)外模式的用途保證數據庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數據數據庫原理及應用計算機科學技術學院數據庫系統的三級模式結構(續)內模式(InternalSchema)也稱存儲模式(StorageSchema)是數據物理結構和存儲方式的描述是數據在數據庫內部的表示方式記錄的存儲方式(順序存儲,按照B樹結構存儲,按hash方法存儲)索引的組織方式數據是否壓縮存儲數據是否加密數據存儲記錄結構的規定一個數據庫只有一個內模式數據庫原理及應用計算機科學技術學院數據庫系統結構數據庫原理及應用計算機科學技術學院數據庫系統模式的概念1數據庫系統的三級模式結構2數據庫的二級映像功能與數據獨立性3數據庫的二級映像功能與數據獨立性三級模式與二級映象三級模式是對數據的三個抽象級別二級映象在DBMS內部實現這三個抽象層次的聯系和轉換數據庫原理及應用計算機科學技術學院數據庫的二級映像功能與數據獨立性(續)數據庫系統的三級模式結構數據庫原理及應用計算機科學技術學院數據庫的二級映像功能與數據獨立性(續)外模式/模式映象定義外模式與模式之間的對應關系每一個外模式都對應一個外模式/模式映象映象定義通常包含在各自外模式的描述中數據庫原理及應用計算機科學技術學院數據庫的二級映像功能與數據獨立性(續)外模式/模式映象的用途保證數據的邏輯獨立性當模式改變時,數據庫管理員修改有關的外模式/模式映象,使外模式保持不變應用程序是依據數據的外模式編寫的,從而應用程序不必修改,保證了數據與程序的邏輯獨立性,簡稱數據的邏輯獨立性。數據庫原理及應用計算機科學技術學院數據庫的二級映像功能與數據獨立性(續)模式/內模式映象模式/內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。例如,說明邏輯記錄和字段在內部是如何表示的數據庫中模式/內模式映象是唯一的該映象定義通常包含在模式描述中數據庫原理及應用計算機科學技術學院數據庫的二級映像功能與數據獨立性(續)模式/內模式映象的用途保證數據的物理獨立性當數據庫的存儲結構改變了(例如選用了另一種存儲結構),數據庫管理員修改模式/內模式映象,使模式保持不變應用程序不受影響。保證了數據與程序的物理獨立性,簡稱數據的物理獨立性。數據庫原理及應用計算機科學技術學院數據庫系統結構小結模式是數據庫的中心與關鍵獨立于數據庫的其它層次設計數據庫模式結構時應首先確定數據庫的邏輯模式數據庫原理及應用計算機科學技術學院數據庫系統結構小結(續)內模式依賴于全局邏輯結構,但獨立于數據庫的用戶視圖即外模式,也獨立于具體的存儲設備。它將全局邏輯結構中所定義的數據結構及其聯系按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率。數據庫原理及應用計算機科學技術學院數據庫系統結構小結(續)外模式面向具體的應用程序,定義在邏輯模式之上,但獨立于存儲模式和存儲設備設計外模式時應充分考慮到應用的擴充性。當應用需求發生較大變化,相應外模式不能滿足其視圖要求時,該外模式就得做相應改動數據庫原理及應用計算機科學技術學院數據庫系統結構小結(續)應用程序在外模式描述的數據結構上編制的,它依賴于特定的外模式,與數據庫的模式和存儲結構獨立。不同的應用程序有時可以共用同一個外模式。數據庫原理及應用計算機科學技術學院數據庫系統結構小結(續)二級映象保證了數據庫外模式的穩定性,從而從底層保證了應用程序的穩定性,除非應用需求本身發生變化,否則應用程序一般不需要修改。數據與程序之間的獨立性,使得數據的定義和描述可以從應用程序中分離出去。數據庫原理及應用計算機科學技術學院第一章緒論數據庫原理及應用計算機科學技術學院數據庫系統概述1數據模型2數據庫系統結構3數據庫系統的組成45小結數據庫系統的組成數據庫數據庫管理系統(及其開發工具)應用系統數據庫管理員(用戶)數據庫原理及應用計算機科學技術學院數據庫系統的組成(續)一、硬件平臺及數據庫數據庫系統對硬件資源的要求足夠大的內存操作系統DBMS的核心模塊數據緩沖區應用程序足夠大的外存磁盤操作系統DBMS應用程序數據庫及其備份光盤、磁帶、軟盤【數據備份】較高的通道能力,提高數據傳送率數據庫原理及應用

溫馨提示

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

評論

0/150

提交評論