版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、An Introduction to Database Systems,華北電力大學計算機系,數(shù)據(jù)庫原理 Database elements,An Introduction to Database Systems,教材,? 教材薩師煊,王珊:數(shù)據(jù)庫系統(tǒng)概論(第四版) 高等教育出版社,2006.5 上機軟件SQL server 2000,An Introduction to Database Systems,考試成績
2、,平時成績 30% (書面作業(yè)、上機練習、考勤)期末考試 70%,An Introduction to Database Systems,內(nèi)容安排(1),? 基礎篇第一章 緒論第二章 關系數(shù)據(jù)庫第三章 關系數(shù)據(jù)庫標準語言SQL第四章 數(shù)據(jù)庫安全性第五章 數(shù)據(jù)庫完整性? 設計與應用開發(fā)篇第六章 關系數(shù)據(jù)理論數(shù)據(jù)庫設計第七章 數(shù)據(jù)庫設計*第八章 數(shù)據(jù)庫編程,An Introduction to D
3、atabase Systems,內(nèi)容安排(2),? 系統(tǒng)篇第九章 關系查詢處理和查詢優(yōu)化第十章 數(shù)據(jù)庫恢復技術第十一章 并發(fā)控制* 第十二章 數(shù)據(jù)庫管理系統(tǒng)第一至第十一章是本科專業(yè)的基本教程(書中有*號的部分除外)第十二至第十七章是高級教程,An Introduction to Database Systems,數(shù)據(jù)庫系統(tǒng)概論An Introduction to Database Systems第一章 緒論
4、,An Introduction to Database Systems,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結構1.4 數(shù)據(jù)庫系統(tǒng)的組成1.5 小結,An Introduction to Database Systems,數(shù)據(jù)庫的地位,數(shù)據(jù)庫技術產(chǎn)生于六十年代末,是數(shù)據(jù)管理的最新技術,是計算機科學的重要分支。數(shù)據(jù)庫技術是信息系統(tǒng)的核心和基礎,它的出現(xiàn)極大地促進了計算機應用向各行各
5、業(yè)的滲透。數(shù)據(jù)庫的建設規(guī)模、數(shù)據(jù)庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。,An Introduction to Database Systems,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述 1.1.1 四個基本概念 1.1.2 數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點,An Introduction to Database Systems,1.1.1 四個基本概念,數(shù)
6、據(jù)(Data)數(shù)據(jù)庫(Database)數(shù)據(jù)庫管理系統(tǒng)(DBMS)數(shù)據(jù)庫系統(tǒng)(DBS),An Introduction to Database Systems,一、數(shù)據(jù),數(shù)據(jù)(Data)是數(shù)據(jù)庫中存儲的基本對象數(shù)據(jù)的定義描述事物的符號記錄數(shù)據(jù)的種類文本、圖形、圖像、音頻、視頻等數(shù)據(jù)的特點數(shù)據(jù)與其語義是不可分的,An Introduction to Database Systems,數(shù)據(jù)舉例,數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)
7、據(jù)與其語義是不可分的。例如 93是一個數(shù)據(jù)語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數(shù)語義4:請同學給出。。。,An Introduction to Database Systems,數(shù)據(jù)舉例,學生檔案中的學生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、 入學時間解釋:李明是個大學生,1972年
8、5月出生,江蘇南京市人,1990年考入計算機系,An Introduction to Database Systems,二、數(shù)據(jù)庫,數(shù)據(jù)庫的定義數(shù)據(jù)庫(Database,簡稱DB)是長期儲存在計算機內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫的基本特征數(shù)據(jù)按一定的數(shù)據(jù)模型組織、描述和儲存可為各種用戶共享冗余度較小數(shù)據(jù)獨立性較高易擴展,An Introduction to Database Systems,三、數(shù)據(jù)庫管理系統(tǒng)
9、,什么是DBMS位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎軟件,是一個大型復雜的軟件系統(tǒng) DBMS的用途科學地組織和存儲數(shù)據(jù)、高效地獲取和維護數(shù)據(jù),An Introduction to Database Systems,,,,,,硬件平臺,基礎軟件平臺,軟件基礎構架平臺,應用軟件平臺,,軟件產(chǎn)品,協(xié)同軟件辦公軟件,數(shù)據(jù)庫系統(tǒng)操作系統(tǒng),中間件 應用服務器,數(shù)據(jù)庫在計算機系統(tǒng)中的位置,An Introduction t
10、o Database Systems,DBMS的主要功能,數(shù)據(jù)定義功能 提供數(shù)據(jù)定義語言(DDL) 定義數(shù)據(jù)庫中的數(shù)據(jù)對象數(shù)據(jù)組織、存儲和管理 分類組織、存儲和管理各種數(shù)據(jù) 確定組織數(shù)據(jù)的文件結構和存取方式 實現(xiàn)數(shù)據(jù)之間的聯(lián)系 提供多種存取方法提高存取效率,An Introduction to Database Systems,DBMS的主要功能,
11、數(shù)據(jù)操縱功能 提供數(shù)據(jù)操縱語言(DML) 實現(xiàn)對數(shù)據(jù)庫的基本操作 (查詢、插入、刪除和修改)數(shù)據(jù)庫的事務管理和運行管理 數(shù)據(jù)庫在建立、運行和維護時由DBMS統(tǒng)一管理和控制保證數(shù)據(jù)的安全性、完整性、多用戶對數(shù)據(jù)的并發(fā)使用發(fā)生故障后的系統(tǒng)恢復,An Introduction to Database Systems,DBMS的主要功能,數(shù)據(jù)庫的建立和維護功能(實用程序) 數(shù)據(jù)庫初始數(shù)據(jù)裝載轉(zhuǎn)換
12、 數(shù)據(jù)庫轉(zhuǎn)儲 介質(zhì)故障恢復 數(shù)據(jù)庫的重組織 性能監(jiān)視分析等其它功能 DBMS與網(wǎng)絡中其它軟件系統(tǒng)的通信 兩個DBMS系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換 異構數(shù)據(jù)庫之間的互訪和互操作,An Introduction to Database Systems,四、數(shù)據(jù)庫系統(tǒng),數(shù)據(jù)庫系統(tǒng)(Database System,簡稱DBS) 在計算機系統(tǒng)中引
13、入數(shù)據(jù)庫后的系統(tǒng)構成數(shù)據(jù)庫系統(tǒng)的構成數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)應用系統(tǒng)數(shù)據(jù)庫管理員,An Introduction to Database Systems,數(shù)據(jù)庫,應用系統(tǒng),應用開發(fā)工具,操作系統(tǒng),數(shù)據(jù)庫管理系統(tǒng),,,,,,,,,,,數(shù)據(jù)庫管理員,用戶,用戶,用戶,數(shù)據(jù)庫系統(tǒng),An Introduction to Database Systems,1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 四個基本概念 1.1.2
14、 數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點,An Introduction to Database Systems,數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展,什么是數(shù)據(jù)管理對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護數(shù)據(jù)處理的中心問題數(shù)據(jù)管理技術的發(fā)展過程人工管理階段(20世紀40年代中--50年代中)文件系統(tǒng)階段(20世紀50年代末--60年代中)數(shù)據(jù)庫系統(tǒng)階段(20世紀60年代末--現(xiàn)在),An Introduc
15、tion to Database Systems,數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展(續(xù)),數(shù)據(jù)管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展,An Introduction to Database Systems,一、人工管理階段,時期20世紀40年代中--50年代中產(chǎn)生的背景應用需求科學計算硬件水平無直接存取存儲設備軟件水平?jīng)]有操作系統(tǒng)處理方式批處理,An Introduction to Dat
16、abase Systems,人工管理階段(續(xù)),特點數(shù)據(jù)的管理者:用戶(程序員),數(shù)據(jù)不保存數(shù)據(jù)面向的對象:某一應用程序 數(shù)據(jù)的共享程度:無共享、冗余度極大數(shù)據(jù)的獨立性:不獨立,完全依賴于程序數(shù)據(jù)的結構化:無結構數(shù)據(jù)控制能力:應用程序自己控制,An Introduction to Database Systems,應用程序與數(shù)據(jù)的對應關系(人工管理階段),,人工管理階段應用程序與數(shù)據(jù)之間的對應關系,An Introduc
17、tion to Database Systems,二、文件系統(tǒng)階段,時期20世紀50年代末--60年代中產(chǎn)生的背景應用需求科學計算、管理硬件水平磁盤、磁鼓軟件水平有文件系統(tǒng)處理方式聯(lián)機實時處理、批處理,An Introduction to Database Systems,文件系統(tǒng)階段(續(xù)),特點數(shù)據(jù)的管理者:文件系統(tǒng),數(shù)據(jù)可長期保存數(shù)據(jù)面向的對象:某一應用程序 數(shù)據(jù)的共享程度:共享性差、冗余度大數(shù)
18、據(jù)的結構化:記錄內(nèi)有結構,整體無結構數(shù)據(jù)的獨立性:獨立性差,數(shù)據(jù)的邏輯結構改變必須 修改應用程序數(shù)據(jù)控制能力:應用程序自己控制,An Introduction to Database Systems,應用程序與數(shù)據(jù)的對應關系(文件系統(tǒng)階段),文件系統(tǒng)階段應用程序與數(shù)據(jù)之間的對應關系,An Introduction to Database Systems,文件系統(tǒng)中數(shù)據(jù)
19、的結構,記錄內(nèi)有結構。數(shù)據(jù)的結構是靠程序定義和解釋的。數(shù)據(jù)只能是定長的。文件間是獨立的,因此數(shù)據(jù)整體無結構。數(shù)據(jù)的最小存取單位是記錄。,An Introduction to Database Systems,三、數(shù)據(jù)庫系統(tǒng)階段,時期20世紀60年代末以來產(chǎn)生的背景應用背景大規(guī)模管理硬件背景大容量磁盤、磁盤陣列軟件背景有數(shù)據(jù)庫管理系統(tǒng)處理方式聯(lián)機實時處理,分布處理,批處理,An Introduction
20、to Database Systems,1.1 數(shù)據(jù)庫系統(tǒng)概述,1.1.1 四個基本概念 1.1.2 數(shù)據(jù)管理技術的產(chǎn)生和發(fā)展 1.1.3 數(shù)據(jù)庫系統(tǒng)的特點,An Introduction to Database Systems,1.1.3 數(shù)據(jù)庫系統(tǒng)的特點,數(shù)據(jù)結構化數(shù)據(jù)的共享性高,冗余度低,易擴充數(shù)據(jù)獨立性高數(shù)據(jù)由DBMS統(tǒng)一管理和控制,An Introduction to Database System
21、s,數(shù)據(jù)結構化,整體數(shù)據(jù)的結構化是數(shù)據(jù)庫的主要特征之一 整體結構化不再僅僅針對某一個應用,而是面向全組織不僅數(shù)據(jù)內(nèi)部結構化,整體是結構化的,數(shù)據(jù)之間具有聯(lián)系數(shù)據(jù)庫中實現(xiàn)的是數(shù)據(jù)的真正結構化數(shù)據(jù)的結構用數(shù)據(jù)模型描述,無需程序定義和解釋數(shù)據(jù)可以變長數(shù)據(jù)的最小存取單位是數(shù)據(jù)項,An Introduction to Database Systems,數(shù)據(jù)的共享性高,冗余度低,易擴充,數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)
22、面向整個系統(tǒng),可以被多個用戶、多個應用共享使用。數(shù)據(jù)共享的好處減少數(shù)據(jù)冗余,節(jié)約存儲空間避免數(shù)據(jù)之間的不相容性與不一致性 使系統(tǒng)易于擴充,An Introduction to Database Systems,數(shù)據(jù)獨立性高,物理獨立性指用戶的應用程序與存儲在磁盤上的數(shù)據(jù)庫中數(shù)據(jù)是相互獨立的。當數(shù)據(jù)的物理存儲改變了,應用程序不用改變。邏輯獨立性指用戶的應用程序與數(shù)據(jù)庫的邏輯結構是相互獨立的。數(shù)據(jù)的邏輯結構改變了,用戶程序也可
23、以不變。數(shù)據(jù)獨立性是由DBMS的二級映像功能來保證的,An Introduction to Database Systems,數(shù)據(jù)由DBMS統(tǒng)一管理和控制,DBMS提供的數(shù)據(jù)控制功能(1)數(shù)據(jù)的安全性(Security)保護保護數(shù)據(jù),以防止不合法的使用造成的數(shù)據(jù)的泄密和破壞。(2)數(shù)據(jù)的完整性(Integrity)檢查將數(shù)據(jù)控制在有效的范圍內(nèi),或保證數(shù)據(jù)之間滿足一定的關系。(3)并發(fā)(Concurrency)控制對多用戶的
24、并發(fā)操作加以控制和協(xié)調(diào),防止相互干擾而得到錯誤的結果。(4)數(shù)據(jù)庫恢復(Recovery)將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。,An Introduction to Database Systems,應用程序與數(shù)據(jù)的對應關系(數(shù)據(jù)庫系統(tǒng)),數(shù)據(jù)庫系統(tǒng)階段應用程序與數(shù)據(jù)之間的對應關系,An Introduction to Database Systems,第一章 緒論,1.1 數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型1.3 數(shù)
25、據(jù)庫系統(tǒng)結構1.4 數(shù)據(jù)庫系統(tǒng)的組成1.5 小結,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型 1.2.4 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,數(shù)
26、據(jù)模型,在數(shù)據(jù)庫中用數(shù)據(jù)模型這個工具來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息。通俗地講數(shù)據(jù)模型就是現(xiàn)實世界的模擬。數(shù)據(jù)模型應滿足三方面要求能比較真實地模擬現(xiàn)實世界容易為人所理解便于在計算機上實現(xiàn),An Introduction to Database Systems,1.2.1 兩大類數(shù)據(jù)模型,數(shù)據(jù)模型分為兩類(分屬兩個不同的層次)(1) 概念模型 也稱信息模型,它是按用戶的觀點來對數(shù)據(jù)和信息建模,用于數(shù)據(jù)庫設計。
27、(2) 邏輯模型和物理模型 邏輯模型主要包括網(wǎng)狀模型、層次模型、關系模型、面向?qū)ο竽P偷龋从嬎銠C系統(tǒng)的觀點對數(shù)據(jù)建模,用于DBMS實現(xiàn)。物理模型是對數(shù)據(jù)最底層的抽象,描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。,An Introduction to Database Systems,兩大類數(shù)據(jù)模型 (續(xù)),客觀對象的抽象過程---兩步抽象現(xiàn)實世界中的客觀對象抽象為概念模型;把概念模型轉(zhuǎn)換為某
28、一DBMS支持的數(shù)據(jù)模型。,An Introduction to Database Systems,兩大類數(shù)據(jù)模型 (續(xù)),DBMS支持的數(shù)據(jù)模型,概念模型,,認識抽象,信息世界,機器世界,現(xiàn)實世界中客觀對象的抽象過程,現(xiàn)實世界,,,,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型 1.2.4
29、 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.2 數(shù)據(jù)模型的組成要素,數(shù)據(jù)結構 數(shù)據(jù)操作 完整性約束條件,An Introduction to Database Systems,一、 數(shù)據(jù)結構,什么是數(shù)據(jù)結構描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系描述的內(nèi)容與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關的對
30、象與數(shù)據(jù)之間聯(lián)系有關的對象數(shù)據(jù)結構是對系統(tǒng)靜態(tài)特性的描述,An Introduction to Database Systems,二、數(shù)據(jù)操作,數(shù)據(jù)操作對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的 操作及有關的操作規(guī)則數(shù)據(jù)操作的類型查詢更新(包括插入、刪除、修改),An Introduction to Database Systems,數(shù)據(jù)操作(續(xù)),數(shù)據(jù)模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先
31、級)實現(xiàn)操作的語言數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述,An Introduction to Database Systems,三、數(shù)據(jù)的完整性約束條件,數(shù)據(jù)的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。,An Introduction to Database Systems,數(shù)據(jù)的完整性約束條件(續(xù))
32、,數(shù)據(jù)模型對完整性約束條件的定義反映和規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型
33、1.2.4 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.3 概念模型,信息世界中的基本概念兩個實體型之間的聯(lián)系兩個以上實體型之間的聯(lián)系單個實體型內(nèi)的聯(lián)系概念模型的一種表示方法一個實例,An Introduction to Database Systems,概念模型,概念模型的用途概念模
34、型用于信息世界的建模是現(xiàn)實世界到機器世界的一個中間層次是數(shù)據(jù)庫設計的有力工具數(shù)據(jù)庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解,An Introduction to Database Systems,一、信息世界中的基本概念,(1) 實體(Entity) 客觀存在并可相互區(qū)別的事物稱為實體??梢允蔷唧w的人、事、物或抽象的概念。(
35、2) 屬性(Attribute) 實體所具有的某一特性稱為屬性。一個實體可以由若干個屬性來刻畫。 (3) 碼(Key) 唯一標識實體的屬性集稱為碼。,An Introduction to Database Systems,信息世界中的基本概念(續(xù)),(4) 域(Domain) 屬性的取值范圍稱為該屬性的域。 (5) 實體型(Entity Type) 用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型(6) 實體集(E
36、ntity Set) 同一類型實體的集合稱為實體集,An Introduction to Database Systems,信息世界中的基本概念(續(xù)),(7) 聯(lián)系(Relationship) 現(xiàn)實世界中事物內(nèi)部以及事物之間的聯(lián)系在信息世界 中反映為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系,An Introduction to Data
37、base Systems,二、兩個實體型之間的聯(lián)系,用圖形來表示兩個實體型之間的這三類聯(lián)系,An Introduction to Database Systems,二、兩個實體型之間的聯(lián)系(續(xù)),一對一聯(lián)系(1:1) 實例一個班級只有一個正班長一個班長只在一個班中任職定義: 如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1,An
38、 Introduction to Database Systems,兩個實體型之間的聯(lián)系 (續(xù)),一對多聯(lián)系(1:n)實例一個班級中有若干名學生,每個學生只在一個班級中學習定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n,An Introduction to Database
39、 Systems,兩個實體型之間的聯(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,An Introduction to Database System
40、s,三、兩個以上實體型之間的聯(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)系是一對多的,An Introduction to Database Systems,兩個以上實體型之間的聯(lián)系(續(xù)),實例 課程、教師與參考書
41、三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用,An Introduction to Database Systems,兩個以上實體型之間的聯(lián)系(續(xù)),兩個以上實體型間的多對多聯(lián)系實例 供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給,An Introduction to
42、 Database Systems,四、單個實體型內(nèi)的聯(lián)系,一對多聯(lián)系實例 職工實體型內(nèi)部具有領導與被領導的聯(lián)系某一職工(干部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯(lián)系一對一聯(lián)系 丈夫~妻子,~,An Introduction to Database Systems,單個實體型內(nèi)的聯(lián)系,多對多聯(lián)系,An Introduction to Database Systems,五、 概念模型
43、的一種表示方法,實體-聯(lián)系方法(E-R方法)用E-R圖來描述現(xiàn)實世界的概念模型E-R方法也稱為E-R模型,An Introduction to Database Systems,E-R圖,實體型用矩形表示,矩形框內(nèi)寫明實體名。屬性用橢圓形表示,并用無向邊將其與相應的實體連接起來,學生,教師,An Introduction to Database Systems,E-R圖(續(xù)),聯(lián)系聯(lián)系本身: 用菱形表示,菱形框內(nèi)寫
44、明聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1、1:n或m:n),An Introduction to Database Systems,聯(lián)系的表示方法,An Introduction to Database Systems,聯(lián)系的表示方法示例,An Introduction to Database Systems,聯(lián)系的屬性,聯(lián)系的屬性:聯(lián)系本身也是一種實體型,也 可以有屬性。如果一個聯(lián)系具有屬
45、性,則這些屬性也要用無向邊與該聯(lián)系連接起來,An Introduction to Database Systems,六、一個實例,用E-R圖表示某個工廠物資管理的概念模型實體倉庫: 倉庫號、面積、電話號碼零件 :零件號、名稱、規(guī)格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱,An Introduction to Database Systems,一個實例,
46、實體之間的聯(lián)系如下: (1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯(lián)系。用庫存量來表示某種零件在某個倉庫中的數(shù)量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯(lián)系。職工實體型中具有一對多的聯(lián)系 (3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯(lián)系,An Introduction to
47、Database Systems,一個實例,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型 1.2.4 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.4 最常
48、用的數(shù)據(jù)模型,非關系模型層次模型(Hierarchical Model)網(wǎng)狀模型(Network Model)關系模型(Relational Model) 面向?qū)ο竽P?Object Oriented Model)對象關系模型(Object Relational Model),An Introduction to Database Systems,1.2.5 層次模型,層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型
49、 層次模型用樹形結構來表示各類實體以及實體間的聯(lián)系 層次模型 滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點2. 根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點,An Introduction to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),,圖1.16 一個層次模型的示例,An Introduct
50、ion to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),層次模型的特點:結點的雙親是唯一的只能直接處理一對多的實體聯(lián)系每個記錄類型可以定義一個排序字段,也稱為碼字段任何記錄值只有按其路徑查看時,才能顯出它的全部意義沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在,An Introduction to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),圖1.17 教員學生層次數(shù)據(jù)庫模型,根結點
51、,記錄型系的子女結點記錄型教員的雙親結點,葉結點,葉結點,字段,An Introduction to Database Systems,層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),圖1.18 教員學生層次數(shù)據(jù)庫的一個值,An Introduction to Database Systems,二、多對多聯(lián)系在層次模型中的表示,多對多聯(lián)系在層次模型中的表示用層次模型間接表示多對多聯(lián)系方法將多對多聯(lián)系分解成一對多聯(lián)系分解方法冗余結點法虛擬結
52、點法,An Introduction to Database Systems,三、層次模型的數(shù)據(jù)操縱與完整性約束,層次模型的數(shù)據(jù)操縱查詢插入刪除更新,An Introduction to Database Systems,層次模型的數(shù)據(jù)操縱與完整性約束(續(xù)),層次模型的完整性約束條件 無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數(shù)據(jù)的一致性,
53、An Introduction to Database Systems,四、層次數(shù)據(jù)模型的存儲結構,鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序,An Introduction to Database Systems,層次數(shù)據(jù)模型的存儲結構(續(xù)),圖1.20 層次數(shù)據(jù)庫及其實例,按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集,按鄰接法存放圖1.20(b)中以根記
54、錄A1為首的層次記錄實例集,An Introduction to Database Systems,層次數(shù)據(jù)模型的存儲結構(續(xù)),鏈接法用指引來反映數(shù)據(jù)之間的層次聯(lián)系子女-兄弟鏈接法層次序列鏈接法,An Introduction to Database Systems,層次數(shù)據(jù)模型的存儲結構(續(xù)),子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟,An Introduction to D
55、atabase Systems,層次數(shù)據(jù)模型的存儲結構(續(xù)),層次序列鏈接法按樹的前序穿越順序鏈接各記錄值,An Introduction to Database Systems,五、層次模型的優(yōu)缺點,優(yōu)點層次模型的數(shù)據(jù)結構比較簡單清晰 查詢效率高,性能優(yōu)于關系模型,不低于網(wǎng)狀模型層次數(shù)據(jù)模型提供了良好的完整性支持缺點多對多聯(lián)系表示不自然對插入和刪除操作的限制多,應用程序的編寫比較復雜 查詢子女結點必須通過雙親結點由于
56、結構嚴密,層次命令趨于程序化,An Introduction to Database Systems,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型 1.2.4 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.6 網(wǎng)狀模型,網(wǎng)狀數(shù)據(jù)
57、庫系統(tǒng)采用網(wǎng)狀模型作為數(shù)據(jù)的組織方式 網(wǎng)狀模型滿足下面兩個條件的基本層次聯(lián)系的集合:1. 允許一個以上的結點無雙親;2. 一個結點可以有多于一個的雙親。,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),表示方法(與層次數(shù)據(jù)模型相同)實體型:用記錄類型描述 每個結點表示一個記錄類型(實體)屬性:用字段描述 每個記錄類型可包
58、含若干個字段聯(lián)系:用結點之間的連線表示記錄類型(實體)之 間的一對多的父子聯(lián)系,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),網(wǎng)狀模型與層次模型的區(qū)別網(wǎng)狀模型允許多個結點沒有雙親結點網(wǎng)狀模型允許結點有多個雙親結點網(wǎng)狀模型允許兩個結點之間有多種聯(lián)系(復合聯(lián)系)網(wǎng)狀模型可以更直接地去描述現(xiàn)實世界層次模型實際上是網(wǎng)狀模型的一個特例,An Introdu
59、ction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),網(wǎng)狀模型中子女結點與雙親結點的聯(lián)系可以不唯一要為每個聯(lián)系命名,并指出與該聯(lián)系有關的雙親記錄和子女記錄,R1與R3之間的聯(lián)系L1,R2與R3之間的聯(lián)系L2,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),網(wǎng)狀模型的例子,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型
60、的數(shù)據(jù)結構(續(xù)),多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系方法: 將多對多聯(lián)系直接分解成一對多聯(lián)系,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯(lián)系 引進一個學生選課的聯(lián)結記錄,由3個數(shù)據(jù)項組成學號課程號成績表示某個學生選修某一門課程及其成績,An Intr
61、oduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),圖1.24 學生/選課/課程的網(wǎng)狀數(shù)據(jù)模型,An Introduction to Database Systems,三、網(wǎng)狀數(shù)據(jù)模型的存儲結構,關鍵實現(xiàn)記錄之間的聯(lián)系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接,An Introduction to Database Systems,網(wǎng)狀數(shù)據(jù)模型的存儲結構(續(xù)),圖1.25 學生/選課/課
62、程的網(wǎng)狀數(shù)據(jù)庫實例,學生記錄,課程記錄,選課記錄,An Introduction to Database Systems,四、網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點,優(yōu)點能夠更為直接地描述現(xiàn)實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環(huán)境的擴大,數(shù)據(jù)庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用,An Introduction to Database Syste
63、ms,1.2 數(shù)據(jù)模型,1.2.1 兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素 1.2.3 概念模型 1.2.4 最常用的數(shù)據(jù)模型 1.2.5 層次模型 1.2.6 網(wǎng)狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.7 關系模型,關系數(shù)據(jù)庫系統(tǒng)采用關系模型作為數(shù)據(jù)的組織方式 1970年美國IBM公司的研究員E.F.Codd首次提出
64、了數(shù)據(jù)庫系統(tǒng)的關系模型 計算機廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關系模型,An Introduction to Database Systems,一、關系數(shù)據(jù)模型的數(shù)據(jù)結構,在用戶觀點下,關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。,學生登記表,屬性,元組,An Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),關系(Relation)一個關系對應通常說的一張表元組(Tup
65、le)表中的一行即為一個元組屬性(Attribute) 表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名,An Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別
66、,系,年級),An Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),例1學生、系、系與學生之間的一對多聯(lián)系:學生(學號,姓名,年齡,性別,系號,年級)系 (系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯(lián)系,An Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),例3學生、課程、學生與課程之間的多對多聯(lián)系: 學生
67、(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績),An Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),關系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數(shù)據(jù)項, 不允許表中還有表 圖1.27中工資和扣除是可分的數(shù)據(jù)項 ,不符合關系模型要求,圖1.27 一個工資表(表中有表)實例,A
68、n Introduction to Database Systems,關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)),表1.2 術語對比,,An Introduction to Database Systems,二、關系數(shù)據(jù)模型的操縱與完整性約束,數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系查詢插入刪除更新數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”,A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 華北電力大學控制與計算機
- 2019年華北電力大學(保定)考研大綱計算機系
- 2019年華北電力大學(保定)考研復試大綱計算機系
- 華北電力大學(北京)
- 華北電力大學大學計算機基礎題庫選擇,填空,判斷
- 華北電力大學(保定)
- 華北電力大學雙選會回執(zhí)
- 華北電力大學知名校友
- 華北電力大學報研究.pdf
- 華北電力大學北京雙選會回執(zhí)
- 華北電力大學研究生
- 華北電力大學轉(zhuǎn)專業(yè)細則
- 華北電力大學試卷分析表格
- 華北電力大學 校園網(wǎng)介紹
- 華北電力大學電機考試小題
- 華北電力大學自動控制原理計算機控制實驗報告
- 華北電力大學電機考試小題剖析
- 華北電力大學電氣測量試卷及答案
- 華北電力大學電氣測量試卷及答案
- 2019年華北電力大學(保定)考研大綱數(shù)理系
評論
0/150
提交評論