華北電力大學計算機系_第1頁
已閱讀1頁,還剩159頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database Systems,華北電力大學計算機系,數據庫原理 Database elements,An Introduction to Database Systems,教材,? 教材薩師煊,王珊:數據庫系統概論(第四版) 高等教育出版社,2006.5 上機軟件SQL server 2000,An Introduction to Database Systems,考試成績

2、,平時成績 30% (書面作業(yè)、上機練習、考勤)期末考試 70%,An Introduction to Database Systems,內容安排(1),? 基礎篇第一章 緒論第二章 關系數據庫第三章 關系數據庫標準語言SQL第四章 數據庫安全性第五章 數據庫完整性? 設計與應用開發(fā)篇第六章 關系數據理論數據庫設計第七章 數據庫設計*第八章 數據庫編程,An Introduction to D

3、atabase Systems,內容安排(2),? 系統篇第九章 關系查詢處理和查詢優(yōu)化第十章 數據庫恢復技術第十一章 并發(fā)控制* 第十二章 數據庫管理系統第一至第十一章是本科專業(yè)的基本教程(書中有*號的部分除外)第十二至第十七章是高級教程,An Introduction to Database Systems,數據庫系統概論An Introduction to Database Systems第一章 緒論

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

5、業(yè)的滲透。數據庫的建設規(guī)模、數據庫信息量的大小和使用頻度已成為衡量一個國家信息化程度的重要標志。,An Introduction to Database Systems,第一章 緒論,1.1 數據庫系統概述 1.1.1 四個基本概念 1.1.2 數據管理技術的產生和發(fā)展 1.1.3 數據庫系統的特點,An Introduction to Database Systems,1.1.1 四個基本概念,數

6、據(Data)數據庫(Database)數據庫管理系統(DBMS)數據庫系統(DBS),An Introduction to Database Systems,一、數據,數據(Data)是數據庫中存儲的基本對象數據的定義描述事物的符號記錄數據的種類文本、圖形、圖像、音頻、視頻等數據的特點數據與其語義是不可分的,An Introduction to Database Systems,數據舉例,數據的含義稱為數據的語義,數

7、據與其語義是不可分的。例如 93是一個數據語義1:學生某門課的成績語義2:某人的體重語義3:計算機系2003級學生人數語義4:請同學給出。。。,An Introduction to Database Systems,數據舉例,學生檔案中的學生記錄(李明,男,197205,江蘇南京市,計算機系,1990)語義:學生姓名、性別、出生年月、籍貫、所在院系、 入學時間解釋:李明是個大學生,1972年

8、5月出生,江蘇南京市人,1990年考入計算機系,An Introduction to Database Systems,二、數據庫,數據庫的定義數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合。數據庫的基本特征數據按一定的數據模型組織、描述和儲存可為各種用戶共享冗余度較小數據獨立性較高易擴展,An Introduction to Database Systems,三、數據庫管理系統

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

10、o Database Systems,DBMS的主要功能,數據定義功能 提供數據定義語言(DDL) 定義數據庫中的數據對象數據組織、存儲和管理 分類組織、存儲和管理各種數據 確定組織數據的文件結構和存取方式 實現數據之間的聯系 提供多種存取方法提高存取效率,An Introduction to Database Systems,DBMS的主要功能,

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

12、 數據庫轉儲 介質故障恢復 數據庫的重組織 性能監(jiān)視分析等其它功能 DBMS與網絡中其它軟件系統的通信 兩個DBMS系統的數據轉換 異構數據庫之間的互訪和互操作,An Introduction to Database Systems,四、數據庫系統,數據庫系統(Database System,簡稱DBS) 在計算機系統中引

13、入數據庫后的系統構成數據庫系統的構成數據庫數據庫管理系統(及其開發(fā)工具)應用系統數據庫管理員,An Introduction to Database Systems,數據庫,應用系統,應用開發(fā)工具,操作系統,數據庫管理系統,,,,,,,,,,,數據庫管理員,用戶,用戶,用戶,數據庫系統,An Introduction to Database Systems,1.1 數據庫系統概述,1.1.1 四個基本概念 1.1.2

14、 數據管理技術的產生和發(fā)展 1.1.3 數據庫系統的特點,An Introduction to Database Systems,數據管理技術的產生和發(fā)展,什么是數據管理對數據進行分類、組織、編碼、存儲、檢索和維護數據處理的中心問題數據管理技術的發(fā)展過程人工管理階段(20世紀40年代中--50年代中)文件系統階段(20世紀50年代末--60年代中)數據庫系統階段(20世紀60年代末--現在),An Introduc

15、tion to Database Systems,數據管理技術的產生和發(fā)展(續(xù)),數據管理技術的發(fā)展動力應用需求的推動計算機硬件的發(fā)展計算機軟件的發(fā)展,An Introduction to Database Systems,一、人工管理階段,時期20世紀40年代中--50年代中產生的背景應用需求科學計算硬件水平無直接存取存儲設備軟件水平沒有操作系統處理方式批處理,An Introduction to Dat

16、abase Systems,人工管理階段(續(xù)),特點數據的管理者:用戶(程序員),數據不保存數據面向的對象:某一應用程序 數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序自己控制,An Introduction to Database Systems,應用程序與數據的對應關系(人工管理階段),,人工管理階段應用程序與數據之間的對應關系,An Introduc

17、tion to Database Systems,二、文件系統階段,時期20世紀50年代末--60年代中產生的背景應用需求科學計算、管理硬件水平磁盤、磁鼓軟件水平有文件系統處理方式聯機實時處理、批處理,An Introduction to Database Systems,文件系統階段(續(xù)),特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用程序 數據的共享程度:共享性差、冗余度大數

18、據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,數據的邏輯結構改變必須 修改應用程序數據控制能力:應用程序自己控制,An Introduction to Database Systems,應用程序與數據的對應關系(文件系統階段),文件系統階段應用程序與數據之間的對應關系,An Introduction to Database Systems,文件系統中數據

19、的結構,記錄內有結構。數據的結構是靠程序定義和解釋的。數據只能是定長的。文件間是獨立的,因此數據整體無結構。數據的最小存取單位是記錄。,An Introduction to Database Systems,三、數據庫系統階段,時期20世紀60年代末以來產生的背景應用背景大規(guī)模管理硬件背景大容量磁盤、磁盤陣列軟件背景有數據庫管理系統處理方式聯機實時處理,分布處理,批處理,An Introduction

20、to Database Systems,1.1 數據庫系統概述,1.1.1 四個基本概念 1.1.2 數據管理技術的產生和發(fā)展 1.1.3 數據庫系統的特點,An Introduction to Database Systems,1.1.3 數據庫系統的特點,數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高數據由DBMS統一管理和控制,An Introduction to Database System

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

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

23、以不變。數據獨立性是由DBMS的二級映像功能來保證的,An Introduction to Database Systems,數據由DBMS統一管理和控制,DBMS提供的數據控制功能(1)數據的安全性(Security)保護保護數據,以防止不合法的使用造成的數據的泄密和破壞。(2)數據的完整性(Integrity)檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。(3)并發(fā)(Concurrency)控制對多用戶的

24、并發(fā)操作加以控制和協調,防止相互干擾而得到錯誤的結果。(4)數據庫恢復(Recovery)將數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)。,An Introduction to Database Systems,應用程序與數據的對應關系(數據庫系統),數據庫系統階段應用程序與數據之間的對應關系,An Introduction to Database Systems,第一章 緒論,1.1 數據庫系統概述1.2 數據模型1.3 數

25、據庫系統結構1.4 數據庫系統的組成1.5 小結,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,數

26、據模型,在數據庫中用數據模型這個工具來抽象、表示和處理現實世界中的數據和信息。通俗地講數據模型就是現實世界的模擬。數據模型應滿足三方面要求能比較真實地模擬現實世界容易為人所理解便于在計算機上實現,An Introduction to Database Systems,1.2.1 兩大類數據模型,數據模型分為兩類(分屬兩個不同的層次)(1) 概念模型 也稱信息模型,它是按用戶的觀點來對數據和信息建模,用于數據庫設計。

27、(2) 邏輯模型和物理模型 邏輯模型主要包括網狀模型、層次模型、關系模型、面向對象模型等,按計算機系統的觀點對數據建模,用于DBMS實現。物理模型是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁盤或磁帶上的存儲方式和存取方法。,An Introduction to Database Systems,兩大類數據模型 (續(xù)),客觀對象的抽象過程---兩步抽象現實世界中的客觀對象抽象為概念模型;把概念模型轉換為某

28、一DBMS支持的數據模型。,An Introduction to Database Systems,兩大類數據模型 (續(xù)),DBMS支持的數據模型,概念模型,,認識抽象,信息世界,機器世界,現實世界中客觀對象的抽象過程,現實世界,,,,An Introduction to Database Systems,1.2 數據模型,1.2.1 兩大類數據模型 1.2.2 數據模型的組成要素 1.2.3 概念模型 1.2.4

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

30、象與數據之間聯系有關的對象數據結構是對系統靜態(tài)特性的描述,An Introduction to Database Systems,二、數據操作,數據操作對數據庫中各種對象(型)的實例(值)允許執(zhí)行的 操作及有關的操作規(guī)則數據操作的類型查詢更新(包括插入、刪除、修改),An Introduction to Database Systems,數據操作(續(xù)),數據模型對操作的定義操作的確切含義操作符號操作規(guī)則(如優(yōu)先

31、級)實現操作的語言數據操作是對系統動態(tài)特性的描述,An Introduction to Database Systems,三、數據的完整性約束條件,數據的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:給定的數據模型中數據及其聯系所具有的制約和儲存規(guī)則用以限定符合數據模型的數據庫狀態(tài)以及狀態(tài)的變化,以保證數據的正確、有效、相容。,An Introduction to Database Systems,數據的完整性約束條件(續(xù))

32、,數據模型對完整性約束條件的定義反映和規(guī)定本數據模型必須遵守的基本的通用的完整性約束條件。例如在關系模型中,任何關系必須滿足實體完整性和參照完整性兩個條件。提供定義完整性約束條件的機制,以反映具體應用所涉及的數據必須遵守的特定的語義約束條件。,An Introduction to Database Systems,1.2 數據模型,1.2.1 兩大類數據模型 1.2.2 數據模型的組成要素 1.2.3 概念模型

33、1.2.4 最常用的數據模型 1.2.5 層次模型 1.2.6 網狀模型 1.2.7 關系模型,An Introduction to Database Systems,1.2.3 概念模型,信息世界中的基本概念兩個實體型之間的聯系兩個以上實體型之間的聯系單個實體型內的聯系概念模型的一種表示方法一個實例,An Introduction to Database Systems,概念模型,概念模型的用途概念模

34、型用于信息世界的建模是現實世界到機器世界的一個中間層次是數據庫設計的有力工具數據庫設計人員和用戶之間進行交流的語言對概念模型的基本要求較強的語義表達能力能夠方便、直接地表達應用中的各種語義知識簡單、清晰、易于用戶理解,An Introduction to Database Systems,一、信息世界中的基本概念,(1) 實體(Entity) 客觀存在并可相互區(qū)別的事物稱為實體。可以是具體的人、事、物或抽象的概念。(

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) 聯系(Relationship) 現實世界中事物內部以及事物之間的聯系在信息世界 中反映為實體內部的聯系和實體之間的聯系。實體內部的聯系通常是指組成實體的各屬性之間的聯系實體之間的聯系通常是指不同實體集之間的聯系,An Introduction to Data

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

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

39、 Systems,兩個實體型之間的聯系 (續(xù)),多對多聯系(m:n)實例課程與學生之間的聯系:一門課程同時有若干個學生選修一個學生可以同時選修多門課程定義:如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯系,則稱實體集A與實體B具有多對多聯系,記為m:n,An Introduction to Database System

40、s,三、兩個以上實體型之間的聯系,兩個以上實體型之間一對多聯系若實體集E1,E2,...,En存在聯系,對于實體集Ej(j=1,2,...,i-1,i+1,...,n)中的給定實體,最多只和Ei中的一個實體相聯系,則我們說Ei與E1,E2,...,Ei-1,Ei+1,...,En之間的聯系是一對多的,An Introduction to Database Systems,兩個以上實體型之間的聯系(續(xù)),實例 課程、教師與參考書

41、三個實體型一門課程可以有若干個教師講授,使用若干本參考書,每一個教師只講授一門課程,每一本參考書只供一門課程使用,An Introduction to Database Systems,兩個以上實體型之間的聯系(續(xù)),兩個以上實體型間的多對多聯系實例 供應商、項目、零件三個實體型一個供應商可以供給多個項目多種零件每個項目可以使用多個供應商供應的零件每種零件可由不同供應商供給,An Introduction to

42、 Database Systems,四、單個實體型內的聯系,一對多聯系實例 職工實體型內部具有領導與被領導的聯系某一職工(干部)“領導”若干名職工一個職工僅被另外一個職工直接領導這是一對多的聯系一對一聯系 丈夫~妻子,~,An Introduction to Database Systems,單個實體型內的聯系,多對多聯系,An Introduction to Database Systems,五、 概念模型

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

44、明聯系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯系的類型(1:1、1:n或m:n),An Introduction to Database Systems,聯系的表示方法,An Introduction to Database Systems,聯系的表示方法示例,An Introduction to Database Systems,聯系的屬性,聯系的屬性:聯系本身也是一種實體型,也 可以有屬性。如果一個聯系具有屬

45、性,則這些屬性也要用無向邊與該聯系連接起來,An Introduction to Database Systems,六、一個實例,用E-R圖表示某個工廠物資管理的概念模型實體倉庫: 倉庫號、面積、電話號碼零件 :零件號、名稱、規(guī)格、單價、描述供應商:供應商號、姓名、地址、電話號碼、帳號項目:項目號、預算、開工日期職工:職工號、姓名、年齡、職稱,An Introduction to Database Systems,一個實例,

46、實體之間的聯系如下: (1)一個倉庫可以存放多種零件,一種零件可以存放在多個倉庫中。倉庫和零件具有多對多的聯系。用庫存量來表示某種零件在某個倉庫中的數量。(2)一個倉庫有多個職工當倉庫保管員,一個職工只能在一個倉庫工作,倉庫和職工之間是一對多的聯系。職工實體型中具有一對多的聯系 (3)職工之間具有領導-被領導關系。即倉庫主任領導若干保管員。(4)供應商、項目和零件三者之間具有多對多的聯系,An Introduction to

47、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 最常

48、用的數據模型,非關系模型層次模型(Hierarchical Model)網狀模型(Network Model)關系模型(Relational Model) 面向對象模型(Object Oriented Model)對象關系模型(Object Relational Model),An Introduction to Database Systems,1.2.5 層次模型,層次模型是數據庫系統中最早出現的數據模型

49、 層次模型用樹形結構來表示各類實體以及實體間的聯系 層次模型 滿足下面兩個條件的基本層次聯系的集合為層次模型1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點2. 根以外的其它結點有且只有一個雙親結點層次模型中的幾個術語根結點,雙親結點,兄弟結點,葉結點,An Introduction to Database Systems,層次數據模型的數據結構(續(xù)),,圖1.16 一個層次模型的示例,An Introduct

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

51、,記錄型系的子女結點記錄型教員的雙親結點,葉結點,葉結點,字段,An Introduction to Database Systems,層次數據模型的數據結構(續(xù)),圖1.18 教員學生層次數據庫的一個值,An Introduction to Database Systems,二、多對多聯系在層次模型中的表示,多對多聯系在層次模型中的表示用層次模型間接表示多對多聯系方法將多對多聯系分解成一對多聯系分解方法冗余結點法虛擬結

52、點法,An Introduction to Database Systems,三、層次模型的數據操縱與完整性約束,層次模型的數據操縱查詢插入刪除更新,An Introduction to Database Systems,層次模型的數據操縱與完整性約束(續(xù)),層次模型的完整性約束條件 無相應的雙親結點值就不能插入子女結點值如果刪除雙親結點值,則相應的子女結點值也被同時刪除更新操作時,應更新所有相應記錄,以保證數據的一致性,

53、An Introduction to Database Systems,四、層次數據模型的存儲結構,鄰接法按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現層次順序,An Introduction to Database Systems,層次數據模型的存儲結構(續(xù)),圖1.20 層次數據庫及其實例,按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集,按鄰接法存放圖1.20(b)中以根記

54、錄A1為首的層次記錄實例集,An Introduction to Database Systems,層次數據模型的存儲結構(續(xù)),鏈接法用指引來反映數據之間的層次聯系子女-兄弟鏈接法層次序列鏈接法,An Introduction to Database Systems,層次數據模型的存儲結構(續(xù)),子女-兄弟鏈接法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個)和最近的兄弟,An Introduction to D

55、atabase Systems,層次數據模型的存儲結構(續(xù)),層次序列鏈接法按樹的前序穿越順序鏈接各記錄值,An Introduction to Database Systems,五、層次模型的優(yōu)缺點,優(yōu)點層次模型的數據結構比較簡單清晰 查詢效率高,性能優(yōu)于關系模型,不低于網狀模型層次數據模型提供了良好的完整性支持缺點多對多聯系表示不自然對插入和刪除操作的限制多,應用程序的編寫比較復雜 查詢子女結點必須通過雙親結點由于

56、結構嚴密,層次命令趨于程序化,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.6 網狀模型,網狀數據

57、庫系統采用網狀模型作為數據的組織方式 網狀模型滿足下面兩個條件的基本層次聯系的集合:1. 允許一個以上的結點無雙親;2. 一個結點可以有多于一個的雙親。,An Introduction to Database Systems,網狀數據模型的數據結構(續(xù)),表示方法(與層次數據模型相同)實體型:用記錄類型描述 每個結點表示一個記錄類型(實體)屬性:用字段描述 每個記錄類型可包

58、含若干個字段聯系:用結點之間的連線表示記錄類型(實體)之 間的一對多的父子聯系,An Introduction to Database Systems,網狀數據模型的數據結構(續(xù)),網狀模型與層次模型的區(qū)別網狀模型允許多個結點沒有雙親結點網狀模型允許結點有多個雙親結點網狀模型允許兩個結點之間有多種聯系(復合聯系)網狀模型可以更直接地去描述現實世界層次模型實際上是網狀模型的一個特例,An Introdu

59、ction to Database Systems,網狀數據模型的數據結構(續(xù)),網狀模型中子女結點與雙親結點的聯系可以不唯一要為每個聯系命名,并指出與該聯系有關的雙親記錄和子女記錄,R1與R3之間的聯系L1,R2與R3之間的聯系L2,An Introduction to Database Systems,網狀數據模型的數據結構(續(xù)),網狀模型的例子,An Introduction to Database Systems,網狀數據模型

60、的數據結構(續(xù)),多對多聯系在網狀模型中的表示用網狀模型間接表示多對多聯系方法: 將多對多聯系直接分解成一對多聯系,An Introduction to Database Systems,網狀數據模型的數據結構(續(xù)),例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯系 引進一個學生選課的聯結記錄,由3個數據項組成學號課程號成績表示某個學生選修某一門課程及其成績,An Intr

61、oduction to Database Systems,網狀數據模型的數據結構(續(xù)),圖1.24 學生/選課/課程的網狀數據模型,An Introduction to Database Systems,三、網狀數據模型的存儲結構,關鍵實現記錄之間的聯系常用方法單向鏈接雙向鏈接環(huán)狀鏈接向首鏈接,An Introduction to Database Systems,網狀數據模型的存儲結構(續(xù)),圖1.25 學生/選課/課

62、程的網狀數據庫實例,學生記錄,課程記錄,選課記錄,An Introduction to Database Systems,四、網狀數據模型的優(yōu)缺點,優(yōu)點能夠更為直接地描述現實世界,如一個結點可以有多個雙親具有良好的性能,存取效率較高缺點結構比較復雜,而且隨著應用環(huán)境的擴大,數據庫的結構就變得越來越復雜,不利于最終用戶掌握DDL、DML語言復雜,用戶不容易使用,An Introduction to Database Syste

63、ms,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.7 關系模型,關系數據庫系統采用關系模型作為數據的組織方式 1970年美國IBM公司的研究員E.F.Codd首次提出

64、了數據庫系統的關系模型 計算機廠商新推出的數據庫管理系統幾乎都支持關系模型,An Introduction to Database Systems,一、關系數據模型的數據結構,在用戶觀點下,關系模型中數據的邏輯結構是一張二維表,它由行和列組成。,學生登記表,屬性,元組,An Introduction to Database Systems,關系數據模型的數據結構(續(xù)),關系(Relation)一個關系對應通常說的一張表元組(Tup

65、le)表中的一行即為一個元組屬性(Attribute) 表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名,An Introduction to Database Systems,關系數據模型的數據結構(續(xù)),主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。域(Domain)屬性的取值范圍。分量元組中的一個屬性值。關系模式對關系的描述關系名(屬性1,屬性2,…,屬性n)學生(學號,姓名,年齡,性別

66、,系,年級),An Introduction to Database Systems,關系數據模型的數據結構(續(xù)),例1學生、系、系與學生之間的一對多聯系:學生(學號,姓名,年齡,性別,系號,年級)系 (系號,系名,辦公地點)例2系、系主任、系與系主任間的一對一聯系,An Introduction to Database Systems,關系數據模型的數據結構(續(xù)),例3學生、課程、學生與課程之間的多對多聯系: 學生

67、(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)選修(學號,課程號,成績),An Introduction to Database Systems,關系數據模型的數據結構(續(xù)),關系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數據項, 不允許表中還有表 圖1.27中工資和扣除是可分的數據項 ,不符合關系模型要求,圖1.27 一個工資表(表中有表)實例,A

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

溫馨提示

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

評論

0/150

提交評論