數據庫理論基礎課件_第1頁
數據庫理論基礎課件_第2頁
數據庫理論基礎課件_第3頁
數據庫理論基礎課件_第4頁
數據庫理論基礎課件_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數據庫理論基礎第六章數據庫理論基礎第六章數據庫理論基礎 6.1 數據管理技術的發展及各階段的特點 6.2 數據模型 6.3 關系數據庫理論基礎 6.4 數據庫系統結構數據庫理論基礎 6.1 數據管理技術的發展及各階段的61 數據管理技術的發展及各階段的特點表6-1 數據管理技術三個階段的比較人工管理階段文件管理階段數據庫系統管理階段應用目的科學計算科學計算和數據管理大規模數據管理計算機硬件條件紙帶、磁帶和卡片磁盤和磁鼓大容量磁盤計算機軟件條件無操作系統具有文件系統和操作系統具有操作系統和數據庫管理系統處理方式批處理聯機實時處理和批處理分布處理、聯機實時處理和批處理數據管理者用戶(程序員)文件系

2、統數據庫管理系統數據面向的對象某一應用程序某一應用現實世界數據共享程度無共享,冗余度大共享性差,冗余度大共享性好,冗余度小數據的獨立性不獨立,完全依賴于程序獨立性差獨立性好數據的結構化無結構記錄內有結構,整體無結構整體結構化數據控制能力由應用程序控制主要由應用程序控制由數據庫管理系統控制61 數據管理技術的發展及各階段的特點表6-1 數據管6.1.1 人工管理階段產生的時期40年代中 - 50年代中產生的背景應用需求科學計算硬件水平無直接存取存儲設備軟件水平沒有操作系統處理方式批處理6.1.1 人工管理階段產生的時期人工管理階段(二)應用程序數據集應用程序數據集應用程序數據集n.二者一一對應不

3、具有數據獨立性應用程序與數據間的關系人工管理階段(二)應用程序數據集應用程序數據集應用程人工管理階段(三)數據的管理者:應用程序,數據不保存數據面向的對象:某一應用程序 數據的共享程度:無共享、冗余度極大數據的獨立性:不獨立,完全依賴于程序數據的結構化:無結構數據控制能力:應用程序控制人工管理階段的特點是什么?人工管理階段(三)數據的管理者:應用程序,數據不保存人工管理6.1.2 文件管理階段產生的時期50年代末- 60年代中產生的背景應用需求科學計算、信息管理硬件水平磁盤、磁鼓軟件水平高級語言和操作系統(有文件系統)處理方式聯機實時處理、批處理6.1.2 文件管理階段產生的時期文件管理階段(

4、二)應用程序文件應用程序文件2應用程序文件n存取方法.應用程序與數據間的關系文件管理階段(二)應用程序文件應用程序文件2應用程序文件管理階段(三)文件系統階段的數據管理有以下特點數據的管理者:文件系統,數據可長期保存數據面向的對象:某一應用程序 數據的共享程度:共享性差、冗余度大數據的結構化:記錄內有結構,整體無結構數據的獨立性:獨立性差,若數據的邏輯結構改變則必須修改應用程序數據控制能力:主要由應用程序控制隨著數據管理規模的擴大,數據量急劇增加,文件系統顯露出三個缺陷數據冗余(redundancy)數據不一致(inconsistency)數據聯系弱(poor data relationshi

5、p)文件管理階段(三)文件系統階段的數據管理有以下特點6.1.3 數據庫系統管理階段數據管理技術進入數據庫階段的標志是20世紀60年代末的三件大事1968年美國IBM公司推出層次模型的IMS系統1969年美國CODASYL組織發布了DBTG報告,總結了當時各式各樣的數據庫,提出網狀模型1970年美國IBM公司的E.F.Codd 連續發表論文,提出關系模型,奠定了關系數據庫的理論基礎產生的背景應用背景大規模管理硬件背景大容量磁盤軟件背景有數據庫管理系統處理方式聯機實時處理,分布處理,批處理6.1.3 數據庫系統管理階段數據管理技術進入數據庫階段的數據庫管理階段(二)程序和數據間的聯系 應用程序1

6、應用程序2.應用程序nDBMS數據庫Database Management System數據庫管理系統數據庫管理階段(二)程序和數據間的聯系 應用程序1應用程序2數據庫管理階段(三)數據庫階段的數據管理具有以下特點數據的管理者:DBMS數據面向的對象:現實世界數據的共享程度:共享性高數據的獨立性:高度的物理獨立性和一定的邏輯獨立性數據的結構化:采用數據模型表示復雜的數據結構,整體結構化數據控制能力:由DBMS統一管理和控制,提供數據庫的并發控制,數據庫的恢復,數據的完整性和數據安全性等功能數據庫系統為用戶提供了方便的用戶接口。數據庫管理階段(三)數據庫階段的數據管理具有以下特點數據庫管理階段(

7、四)數據庫應用的一般結構用戶數據庫應用DBMS數據庫數據庫管理階段(四)數據庫應用的一般結構用戶數據庫DBMS數6.2 數據模型6.2.1 概念模型6.2.2 數據模型6.2 數據模型6.2.1 概念模型事物概念模型和數據模型的關系現實世界信息世界數據世界抽象化數據化(概念模型)(數據模型)(事物)事物概念模型和數據模型的關系現實世界信息世界數據世界抽象化數數據模型的概念根據應用目的,模型分為兩個層次:概念模型(信息模型)獨立于計算機實現的,只用來描述和組織所關心的信息結構的概念數據模型對應于信息世界數據模型直接面向計算機系統的,描述數據庫中數據的邏輯結構的基本數據模型對應于數據世界數據模型的

8、概念根據應用目的,模型分為兩個層次:6.2.1 概念模型信息世界中的基本概念 (1) 實體(Entity) (2) 實體集(Entity Set) (3) 屬性(Attribute) (4) 關鍵字(Key) (5) 域(Domain) (6) 實體型(Entity Type)6.2.1 概念模型信息世界中的基本概念概念模型(二)概念模型反映實體型及其聯系的結構形式聯系(Relationship):兩類實體內部的聯系實體之間的聯系兩個實體型之間的聯系可分為三類:1對1聯系(1:1)1對多聯系(1:n)多對多聯系(m:n)概念模型(二)概念模型反映實體型及其聯系的結構形式概念模型實體聯系模型1對

9、1聯系定義:若對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系,反之亦然,則稱實體集A與實體集B具有一對一聯系,記為1:1。實體型A聯系名實體型B11領導系主任系11概念模型實體聯系模型1對1聯系實體型A聯系名實體型B11概念模型實體聯系模型1對多聯系定義:若對于實體集A中的每一個實體,實體集B中有n個實體(n0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯系,則稱實體集A與實體集B具有一對多聯系,記為1:n。實體型A聯系名實體型B1n包括班級學生1N概念模型實體聯系模型1對多聯系實體型A聯系名實體型B1n概念模型實體聯系模型多對多聯系定義:若對于實

10、體集A中的每一個實體,實體集B中有n個實體(n0)與之聯系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m0)與之聯系,則稱實體集A與實體集B具有多對多聯系,記為m:n。實體型B實體型A聯系名mn課程號選課學生課程MN學號姓名性別學分課程名成績概念模型實體聯系模型多對多聯系實體型B實體型A聯系名mn6.2.2 數據模型數據模型的三要素數據結構(最重要)數據操作檢索更新(刪除、插入、更改)數據的完整性約束6.2.2 數據模型數據模型的三要素數據模型的分類當前流行的基本數據模型有4類:層次模型 (樹)網狀模型 (圖)關系模型 (Relational Model) (表)面向對象模型數

11、據模型的分類當前流行的基本數據模型有4類:層次模型最早使用的一種模型數據結構是一棵有向樹特點:ABA_CC層次模型最早使用的一種模型ABA_CC層次模型舉例系號系名負責人專業代號專業名教師編號姓名職務學號姓名性別課號課程名學時層次模型舉例系號系名負責人專業代號專業名教師編號姓名職務學號網狀模型數據結構是一個有向圖特點:能表示實體之間的多種復雜聯系缺點: 編寫應用程序比較復雜,需熟悉數據庫的邏輯結構AA_BB_CBC網狀模型數據結構是一個有向圖AA_BB_CBC關系模型數據的邏輯結構是二維表有嚴格的數學基礎及關系數據理論由若干個關系模式組成市場上典型的關系DBMS產品: DB2,ORACLE,S

12、YBASE,SQL Server,Informix等微機型產品: Foxpro,Access, Paradox等關系模型數據的邏輯結構是二維表數據模型中基本術語(1)字段(field) 標記實體屬性的命名單位稱為字段,或數據項。(2)記錄(record) 字段的有序集合稱為記錄(3)文件(file) 同一類記錄的集合稱為文件(4)關鍵碼(key) 能惟一標識文件中每個記錄的字段或字段集,稱為記錄的關鍵碼(簡稱為鍵)數據模型中基本術語(1)字段(field) 標記實體屬性的命6.3 關系數據庫理論基礎6.3.1 關系的定義6.3.2 關系模型的常用術語6.3.3 關系代數6.3.4 關系的完整性

13、6.3 關系數據庫理論基礎6.3.1 關系的定義6.3.1 關系的定義1域(Domain)2笛卡爾積(Cartesian Product)3關系6.3.1 關系的定義1域(Domain)域(Domain)域是一組具有相同數據類型的值的集合例如整數、實數、字符串、大于0且小于500的整數“男”,“女” 域(Domain)域是一組具有相同數據類型的值的集合笛卡爾積(Cartesian Product)給定一組域D1,D2,Dn,則D1,D2,Dn的笛卡爾積表示為: D1D2Dn=(d1,d2, ,dn) |diDi, i=1,2, ,n 其中每一個(d1,d2, ,dn)叫作一個n元組或簡稱元組,

14、元組中的每一個值di叫作一個分量笛卡爾積可以表示為一張二維表表中每一行即對應一個元組表中的每一列對應一個域笛卡爾積(Cartesian Product)給定一組域D1D1=男人集合Man=王兵,李軍,張偉D2=女人集合Woman=丁梅,吳芳D3=孩子集合Children=王一,李一,李二D1D2D3=(王兵,丁梅,王一),(王兵,丁梅,李一),(王兵,丁梅,李二),(王兵,吳芳,王一),(王兵,吳芳,李一),(王兵,吳芳,李二),(李軍,丁梅,王一),(李軍,丁梅,李一),(李軍,丁梅,李二),(李軍,吳芳,王一),(李軍,吳芳,李一),(李軍,吳芳,李二),(張偉,丁梅,王一),(張偉,丁梅

15、,李一),(張偉,丁梅,李二),(張偉,吳芳,王一),(張偉,吳芳,李一),(張偉,吳芳,李二)D1=男人集合Man=王兵,李軍,張偉D2=女人集合W該D1,D2,D3的笛卡爾積的基數=323=18,即有18個元組,這18個元組可以組成一張二維表。ManWomanChildren王兵丁梅王一王兵丁梅李一王兵丁梅李二王兵吳芳王一王兵吳芳李一王兵吳芳李二李軍丁梅王一李軍丁梅李一李軍丁梅李二李軍吳芳王一李軍吳芳李一李軍吳芳李二張偉丁梅王一張偉丁梅李一張偉丁梅李二張偉吳芳王一張偉吳芳李一張偉吳芳李二該D1,D2,D3的笛卡爾積的基數=323=18,即有1關系D1D2Dn的子集叫作在域D1,D2,Dn上

16、的關系,表示為:R(D1,D2,Dn)。其中R表示關系名,n是關系的度。關系是笛卡爾積的有限子集,所以關系也是一張二維表。表中的每列對應一個域,表中的每行對應一個元組。由于域可以相同,為了加以區分,必須給每列起一個名字,稱為屬性。關系D1D2Dn的子集叫作在域D1,D2,Dn上例如針對Man、Woman、Children集合,存在這樣事實:王兵與丁梅是一對夫妻,擁有子女王一;李軍和吳芳是一對夫妻,擁有李一和李二兩個子女,則從原笛卡爾積中可以得到一個子集R:R=(王兵,丁梅,王一),(李軍,吳芳,李一),(李軍,吳芳,李二) R即稱為一個關系,若將該關系命名為Family,可得到二維表6-3。例

17、如針對Man、Woman、Children集合,存在這樣事ManWomanChildren王兵丁梅王一李軍吳芳李一李軍吳芳李二 關系FamilyManWomanChildren王兵丁梅王一李軍吳芳李一李軍關系具有以下性質(1)關系中每一列的值都是同一類型的數據,來自同一個域。(2)關系中不同的列可以對應同一個域,但必須給予不同的屬性名。(3)關系中任意兩個元組不能完全相同。(4)關系中元組的次序可以隨意交換。(5)關系中列的次序可以任意交換。(6)關系中每一個分量必須是不可分的數據項。關系具有以下性質(1)關系中每一列的值都是同一類型的數據,來6.3.2 關系模型的常用術語高雪部門編號部門系主

18、任0101基礎部龐新0202自動化系胡敏0301計算機系0302信息工程系韓克0303管理系任強高雪表6-5 系部一覽6.3.2 關系模型的常用術語高雪部門編號部門系主任010(1)關系:即二維表格,如表6-5。(2)元組:表中的一行。(3)屬性:表中的一列,通常每列有一個列名,即屬性名,如表6-5對應三個屬性:部門編號、部門和系主任。(4)主鍵:表中可以惟一確定一個元組的屬性組,如表6-5中部門編號,只要給定一個確定的部門編號,就可以確定該部門的部門名稱及電話等其它屬性值。注意:主鍵可以是一個屬性,也可能由幾個屬性構成。(5)域:屬性的取值范圍。(6)關系模式:對關系的描述,其表示形式為:

19、關系名(屬性1,屬性2,屬性n) 例如表6-5的關系可描述為: 系部一覽(部門編號、部門、系主任)(1)關系:即二維表格,如表6-5。6.3.3 關系代數關系代數是由一組以關系作為運算對象的特定運算組成的傳統的集合運算已知集合R、S并(R S):同屬于R、S的元組的集合差(R-S) :屬于R 而不屬于S 的所有元組組成的集合交(R S) :同時屬于R、S 的元組組成的集合笛卡爾積(R S):關系中的元組為每一個R中的元組與所有的S 中的元組的組合6.3.3 關系代數關系代數是由一組以關系作為運算對象的特例6-1 已知關系R、S和T如表6-7、6-8及6-9所示,求出RS、RS、R-S和RT。表

20、6-7 關系RABCDA1B1C1D1A1B2C2D2A2B2C1D3表6-7 關系R ABCDA1B2C2D1A1B3C2D2A2B2C1D3表6-9 關系TBEB1E1B2E2表6-8 關系S例6-1 已知關系R、S和T如表6-7、6-8及6-9所示,表6-10 RS ABCDA1B1C1D1A1B2C2D2A2B2C1D3A1B2C2D1A1B3C2D2表6-10 RS ABCDA1B1C1D1A1B2C2D表6-11 關系RSABCDA2B2C1D3表6-12 關系R-SABCDA1B1C1D1A1B2C2D2表6-11 關系RSABCDA2B2C1D3表6-12 關表6-13 關系R

21、T R.AR.BR.CR.DT.BT.EA1B1C1D1B1E1A1B1C1D1B2E2A1B2C2D2B1E1A1B2C2D2B2E2A2B2C1D3B1E1A2B2C1D3B2E2表6-13 關系RT R.AR.BR.CR.DT.BT.E專門的關系運算投影關系R上的投影是從R中選擇若干屬性列組成新的關系,記作: A(R)= tA | tR 其中A為R中的屬性列專門的關系運算投影關系R上的投影是從R中選擇若干屬性列組例6-2 已知關系S如表6-8所示,計算出A,C(S)。表6-8 關系SABCDA1B2C2D1A1B3C2D2A2B2C1D3ACA1C2A2C1表6-14 關系A,c(S)注

22、意:關系中任意兩個元組不能完全相同,因此進行投影運算后得到的關系應消去重復元組。 例6-2 已知關系S如表6-8所示,計算出A,C(S)。表專門的關系運算選擇選擇是在關系R中選擇滿足給定條件的元組,記作: (R)= t | tR F(t)=真 其中F表示選擇條件,它是一個邏輯表達式,取邏輯值“真”或“假”。F是由比較運算符或邏輯運算符連接組成的表達式,運算對象可以是常量、變量(屬性名)或簡單函數,屬性名也可以用其序號來代替。 選擇運算實際上就是從關系R中選取使邏輯表達式F為真的元組,它是對關系的水平分割。專門的關系運算選擇選擇是在關系R中選擇滿足給定條件的元組例6-3 已知關系S如表6-8所示

23、,計算出A=A1(R)。表6-15 關系A=A1(R)ABCDA1B1C1D1A1B2C2D2表6-8 關系SABCDA1B2C2D1A1B3C2D2A2B2C1D3例6-3 已知關系S如表6-8所示,計算出A=A1(R專門的關系運算連接連接是從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組,記作:專門的關系運算連接例6-4 已知關系R和S如表6-16和6-17所示,計算出RS。表6-16 關系RABC123456789ECD232563985表6-17 關系SABCD12324563表6-18 關系RS例6-4 已知關系R和S如表6-16和6-17所示,計算出R專門的關系運算除設關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y為對應的屬性,可以有不同的屬性名,但必須出自相同的域集。則R與S的除運算得到一個新的關系P(X),記作:專門的關系運算除設關系R(X,Y)和S(Y,Z),其中X例6-5 已知關系R、S1和S2如表6-19、表6-20和表6-21所示,計算出RS1及R S2。ABCa1Aa2Ba3Cb2Cb3Ac1Cd3Be2B表6-19 關系RB3表6-2

溫馨提示

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

評論

0/150

提交評論