第一章 數(shù)據(jù)庫導論(2)_第1頁
第一章 數(shù)據(jù)庫導論(2)_第2頁
第一章 數(shù)據(jù)庫導論(2)_第3頁
第一章 數(shù)據(jù)庫導論(2)_第4頁
第一章 數(shù)據(jù)庫導論(2)_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database Systems1/80第一章 緒論(下)1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結構數(shù)據(jù)庫系統(tǒng)結構1.4 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成1.5 小結小結An Introduction to Database Systems2/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模

2、型An Introduction to Database Systems3/80 1.2.4 最常用的數(shù)據(jù)模型o非關系模型n層次模型(Hierarchical Model)n網狀模型(Network Model)o關系模型(Relational Model) o面向對象模型(Object Oriented Model)o對象關系模型(Object Relational Model)An Introduction to Database Systems4/801.2.5 層次模型o層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型 o層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(Information M

3、anagement System)數(shù)據(jù)庫管理系統(tǒng)o層次模型用樹形結構來表示各類實體以及實體間的聯(lián)系 An Introduction to Database Systems5/80一、 層次數(shù)據(jù)模型的數(shù)據(jù)結構o層次模型滿足滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型下面兩個條件的基本層次聯(lián)系的集合為層次模型1. 有且只有一個結點沒有雙親結點,這個結點稱為根結點有且只有一個結點沒有雙親結點,這個結點稱為根結點2. 根以外的其它結點有且只有一個雙親結點根以外的其它結點有且只有一個雙親結點o層次模型中的幾個術語n根結點,雙親結點,兄弟結點,葉結點根結點,雙親結點,兄弟結點,葉結點An Introdu

4、ction to Database Systems6/80層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)) 1 根結點根結點 2 兄弟結點兄弟結點 3 葉結點葉結點 4 兄弟結點兄弟結點 5 葉結點葉結點 葉結點葉結點圖圖1.16 一個層次模型的示例一個層次模型的示例An Introduction to Database Systems7/80層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))o層次模型的特點:n結點的雙親是唯一的結點的雙親是唯一的n只能直接處理只能直接處理一對多一對多的實體聯(lián)系的實體聯(lián)系n每個記錄類型可以定義一個每個記錄類型可以定義一個排序字段排序字段,也稱為,也稱為碼字段碼字段n任何記錄值只有任何記錄值只有按其路徑

5、查看時,才能顯出它的全部意義按其路徑查看時,才能顯出它的全部意義n沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在An Introduction to Database Systems8/80層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))圖1.17 教員學生層次數(shù)據(jù)庫模型 根結點根結點記錄型系的子女結點記錄型系的子女結點記錄型教員的雙親結點記錄型教員的雙親結點葉結點葉結點葉結點葉結點字段字段An Introduction to Database Systems9/80層次數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))圖1.18 教員學生層次數(shù)據(jù)庫的一個值 An Introduction t

6、o Database Systems10/80二、多對多聯(lián)系在層次模型中的表示o多對多聯(lián)系在層次模型中的表示n用層次模型用層次模型間接間接表示多對多聯(lián)系表示多對多聯(lián)系n方法方法將多對多聯(lián)系將多對多聯(lián)系分解分解成一對多聯(lián)系成一對多聯(lián)系n分解方法分解方法o冗余結點法冗余結點法o虛擬結點法虛擬結點法An Introduction to Database Systems11/80冗余結點法冗余結點法學生學生課程課程 優(yōu)點優(yōu)點:結構清晰,存儲位置可以改變; 缺點缺點:需要額外的存儲空間,有可能導致不一致性。An Introduction to Database Systems12/80虛擬結點法虛擬結點

7、法 優(yōu)點優(yōu)點:節(jié)省空間,避免數(shù)據(jù)不一致性; 缺點缺點:改變存儲位置需要修改虛擬結點中的指針。An Introduction to Database Systems13/80三、層次模型的數(shù)據(jù)操縱與完整性約束 o層次模型的數(shù)據(jù)操縱層次模型的數(shù)據(jù)操縱n查詢n插入n刪除n更新 An Introduction to Database Systems14/80層次模型的數(shù)據(jù)操縱與完整性約束(續(xù))o層次模型的完整性約束條件層次模型的完整性約束條件 n無相應的雙親結點值就不能插入子女結點值n如果刪除雙親結點值,則相應的子女結點值也被同時刪除n更新操作時,應更新所有相應記錄,以保證數(shù)據(jù)的一致性An Intro

8、duction to Database Systems15/80四、層次數(shù)據(jù)模型的存儲結構-鄰接法o鄰接法: 按照層次樹前序遍歷的順序把所有記錄值依次鄰接存放,即通過物理空間的位置相鄰來實現(xiàn)層次順序。o按鄰接法存放圖1.20(b)中以根記錄A1為首的層次記錄實例集 圖圖1.20 層次數(shù)據(jù)庫及其實例層次數(shù)據(jù)庫及其實例 順序存儲結構順序存儲結構An Introduction to Database Systems16/80層次數(shù)據(jù)模型的存儲結構-子女子女-兄弟鏈接兄弟鏈接法法每個記錄設兩類指針,分別指向最左邊的子女(每個記錄型對應一個,長子)和最近的兄弟。An Introduction to Da

9、tabase Systems17/80層次數(shù)據(jù)模型的存儲結構-鏈接法o層次序列鏈接層次序列鏈接法法:按樹的前序穿越順序鏈接各記錄值。An Introduction to Database Systems18/80五、層次模型的優(yōu)缺點o優(yōu)點優(yōu)點n層次模型的層次模型的數(shù)據(jù)結構比較簡單清晰數(shù)據(jù)結構比較簡單清晰 n查詢效率高查詢效率高,性能優(yōu)于關系模型,不低于網狀模型,性能優(yōu)于關系模型,不低于網狀模型n層次數(shù)據(jù)模型提供了層次數(shù)據(jù)模型提供了良好的完整性支持良好的完整性支持o缺點缺點n多對多多對多聯(lián)系表示不自然聯(lián)系表示不自然n對插入和刪除操作的限制多,對插入和刪除操作的限制多,應用程序的編寫比較復雜應用程

10、序的編寫比較復雜 n查詢查詢子女結點必須通過雙親結點子女結點必須通過雙親結點n由于結構嚴密,由于結構嚴密,層次命令趨于程序化層次命令趨于程序化 An Introduction to Database Systems19/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database Systems20/801.2.6 網狀模型

11、o網狀數(shù)據(jù)庫系統(tǒng)采用網狀數(shù)據(jù)庫系統(tǒng)采用網狀模型網狀模型作為數(shù)據(jù)的組織方式作為數(shù)據(jù)的組織方式 o典型代表是典型代表是DBTG系統(tǒng):系統(tǒng):n亦稱CODASYL系統(tǒng)n70年代由DBTG提出的一個系統(tǒng)方案n奠定了數(shù)據(jù)庫系統(tǒng)的基本概念、方法和技術o實際系統(tǒng)實際系統(tǒng)nCullinet Software Inc.公司的 IDMSnUnivac公司的 DMS1100nHoneywell公司的IDS/2nHP公司的IMAGEAn Introduction to Database Systems21/801.網狀數(shù)據(jù)模型的數(shù)據(jù)結構o網狀模型1. 允許一個以上的結點無雙親;允許一個以上的結點無雙親;2. 一個結點可

12、以有多于一個的雙親一個結點可以有多于一個的雙親。o表示方法(與層次數(shù)據(jù)模型相同)n實體型實體型:用記錄類型描述,每個結點表示一個記錄類:用記錄類型描述,每個結點表示一個記錄類型(實體)型(實體)n屬性屬性:用字段描述,每個記錄類型可包含若干個字段:用字段描述,每個記錄類型可包含若干個字段n聯(lián)系聯(lián)系:用結點之間的連線表示記錄類型(實體)之間:用結點之間的連線表示記錄類型(實體)之間的的一對多的父子聯(lián)系一對多的父子聯(lián)系An Introduction to Database Systems22/80網狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))o網狀模型與層次模型的區(qū)別n網狀模型允許多個結點網狀模型允許多個結點沒有雙

13、親結點沒有雙親結點n網狀模型允許結點有網狀模型允許結點有多個雙親結點多個雙親結點n網狀模型允許網狀模型允許兩個結點之間有多種聯(lián)系兩個結點之間有多種聯(lián)系(復合聯(lián)系)(復合聯(lián)系)n網狀模型可以網狀模型可以更直接地去描述現(xiàn)實更直接地去描述現(xiàn)實世界世界層次模型實際上是網狀模型的一個層次模型實際上是網狀模型的一個特例特例An Introduction to Database Systems23/80網狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))v網狀模型中子女結點與雙親結點的聯(lián)系可以不唯一網狀模型中子女結點與雙親結點的聯(lián)系可以不唯一要為每個聯(lián)系命名要為每個聯(lián)系命名,并指出與該聯(lián)系有關的雙親記錄和,并指出與該聯(lián)系有關的雙親

14、記錄和子女記錄子女記錄 R1與與R3之間的之間的聯(lián)系聯(lián)系L1R2與與R3之間的之間的聯(lián)系聯(lián)系L2 An Introduction to Database Systems24/80網狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))網狀模型的例子 An Introduction to Database Systems25/80網狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))多對多聯(lián)系在網狀模型中的表示n用網狀模型用網狀模型間接間接表示多對多聯(lián)系表示多對多聯(lián)系n方法:將多對多聯(lián)系方法:將多對多聯(lián)系直接直接分解成一對多聯(lián)系分解成一對多聯(lián)系An Introduction to Database Systems26/80網狀數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù)

15、)例如:一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯(lián)系 o引進一個學生選課的聯(lián)結記錄,由3個數(shù)據(jù)項組成:學號,課程號,成績,表示某個學生選修某一門課程及其成績 圖1.24 學生/選課/課程的網狀數(shù)據(jù)模型 An Introduction to Database Systems27/80三、網狀數(shù)據(jù)模型的存儲結構o關鍵n實現(xiàn)記錄之間的聯(lián)系實現(xiàn)記錄之間的聯(lián)系o常用方法n單向鏈接單向鏈接n雙向鏈接雙向鏈接n環(huán)狀鏈接環(huán)狀鏈接n向首鏈接向首鏈接An Introduction to Database Systems28/80網狀數(shù)據(jù)模型的存儲結構(續(xù))圖1.25 學生/選

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

17、不容易使用An Introduction to Database Systems30/80 1.2 數(shù)據(jù)模型 1.2.1 兩大類數(shù)據(jù)模型兩大類數(shù)據(jù)模型 1.2.2 數(shù)據(jù)模型的組成要素數(shù)據(jù)模型的組成要素 1.2.3 概念模型概念模型 1.2.4 最常用的數(shù)據(jù)模型最常用的數(shù)據(jù)模型 1.2.5 層次模型層次模型 1.2.6 網狀模型網狀模型 1.2.7 關系模型關系模型An Introduction to Database Systems31/801.2.7 關系模型o關系數(shù)據(jù)庫系統(tǒng)采用關系模型作為數(shù)據(jù)的組織方式 o1970年美國IBM公司San Jose研究室的研究員E.F.Codd首次提出了數(shù)據(jù)

18、庫系統(tǒng)的關系模型 o計算機廠商新推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關系模型 nOraclenDB2nSybase, SQL Server, InfomixAn Introduction to Database Systems32/80一、關系數(shù)據(jù)模型的數(shù)據(jù)結構 o在在用戶觀點用戶觀點下,關系模型中數(shù)據(jù)的邏輯結構是一張二維表,下,關系模型中數(shù)據(jù)的邏輯結構是一張二維表,它由行和列組成。它由行和列組成。學 號姓 名年 齡性 別系 名年 級2005004王小明19女社會學20052005006黃大鵬20男商品學20052005008張文斌18女法律2005學生登記表學生登記表屬性屬性元組元組An Intr

19、oduction to Database Systems33/80關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))o關系(關系(Relation)一個關系對應通常說的一張表o元組(元組(Tuple)表中的一行即為一個元組o屬性(屬性(Attribute) 表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名An Introduction to Database Systems34/80關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))o主碼(主碼(Key)表中的某個屬性組,它可以唯一確定一個元組。o域(域(Domain)屬性的取值范圍。o分量分量元組中的一個屬性值。o關系模式關系模式對關系的描述關系名(屬性1,屬性2,屬性n)學生(

20、學號,姓名,年齡,性別,系,年級)An Introduction to Database Systems35/80關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))例1: 學生、系、系與學生之間的一對多聯(lián)系:學生(學號,姓名,年齡,性別,系號,年級)學生(學號,姓名,年齡,性別,系號,年級)系系 ( (系號,系名,辦公地點系號,系名,辦公地點) )例2: 系、系主任、系與系主任間的一對一聯(lián)系例3:學生、課程、學生與課程之間的多對多聯(lián)系:學生(學號,姓名,年齡,性別,系號,年級)學生(學號,姓名,年齡,性別,系號,年級)課程(課程號,課程名,學分)課程(課程號,課程名,學分)選修(學號,課程號,成績)選修(學號,課程

21、號,成績)An Introduction to Database Systems36/80關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))o關系必須是規(guī)范化的,滿足一定的規(guī)范條件關系必須是規(guī)范化的,滿足一定的規(guī)范條件最基本的規(guī)范條件:關系的每一個分量必須是一個不可分的數(shù)據(jù)項, 不允許表中還有表。 職工號姓名職 稱工 資扣 除實 發(fā)基 本津 貼職務房 租水 電86051陳 平講 師13051200501601122283圖圖1.27 一個工資表一個工資表(表中有表表中有表)實例實例 An Introduction to Database Systems37/80關系數(shù)據(jù)模型的數(shù)據(jù)結構(續(xù))關系術語一般表格的術語關系

22、名表名關系模式表頭(表格的描述)關系(一張)二維表元組記錄或行屬性列屬性名列名屬性值列值分量一條記錄中的一個列值非規(guī)范關系表中有表(大表中嵌有小表)表表1.2 術語對比術語對比 An Introduction to Database Systems38/80二、關系數(shù)據(jù)模型的操縱與完整性約束o數(shù)據(jù)操作是數(shù)據(jù)操作是集合操作集合操作,操作對象和操作結果都是關系,操作對象和操作結果都是關系n查詢n插入n刪除n更新o數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,數(shù)據(jù)操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合即若干元組的集合.o存取路徑對用戶隱蔽,用戶只要指出存取路徑對用戶隱蔽,用戶

23、只要指出“干什么干什么”,不必,不必詳細說明詳細說明“怎么干怎么干”.An Introduction to Database Systems39/80關系數(shù)據(jù)模型的操縱與完整性約束(續(xù))o關系的完整性約束條件 n實體完整性n參照完整性n用戶定義的完整性An Introduction to Database Systems40/80三、關系數(shù)據(jù)模型的存儲結構o實體及實體間的聯(lián)系都用表來表示o表以文件形式存儲n有的DBMS一個表對應一個操作系統(tǒng)文件n有的DBMS自己設計文件結構An Introduction to Database Systems41/80四、關系數(shù)據(jù)模型的優(yōu)缺點o優(yōu)點優(yōu)點n建立在

24、建立在嚴格的數(shù)學概念嚴格的數(shù)學概念的基礎上的基礎上n概念單一概念單一o實體和各類聯(lián)系都用關系來表示o對數(shù)據(jù)的檢索結果也是關系n關系模型的存取路徑對用戶透明關系模型的存取路徑對用戶透明o具有更高的數(shù)據(jù)獨立性,更好的安全保密性o簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作o缺點缺點n存取路徑對用戶透明導致查詢效率往往不如非關系數(shù)據(jù)模型n為提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)DBMS的難度An Introduction to Database Systems42/80第一章 緒論1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結構數(shù)據(jù)庫系統(tǒng)結構1.4 數(shù)據(jù)庫系

25、統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成1.5 小結小結An Introduction to Database Systems43/801.3 數(shù)據(jù)庫系統(tǒng)結構o從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結構,是數(shù)據(jù)庫系統(tǒng)內部的系統(tǒng)結構 。 o從數(shù)據(jù)庫最終用戶角度看(數(shù)據(jù)庫系統(tǒng)外部的體系結構),數(shù)據(jù)庫系統(tǒng)的結構分為:n單用戶結構n主從式結構n分布式結構n客戶服務器(C/S)n瀏覽器應用服務器數(shù)據(jù)庫服務器多層結構等(B/S)An Introduction to Database Systems44/80數(shù)據(jù)庫系統(tǒng)結構(續(xù))1.3.1 數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫系統(tǒng)的三級模

26、式結構數(shù)據(jù)庫系統(tǒng)的三級模式結構 1.3.3 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性 An Introduction to Database Systems45/801.3.1 數(shù)據(jù)庫系統(tǒng)模式的概念o“型” 和“值” 的概念n型(Type)對某一類數(shù)據(jù)的結構和屬性的說明n值(Value)是型的一個具體賦值例如學生記錄型: (學號,姓名,性別,系別,年齡,籍貫)一個記錄值: (900201,李明,男,計算機,22,江蘇)An Introduction to Database Systems46/80數(shù)據(jù)庫系統(tǒng)模式的概念(續(xù))o模式(模式(Schema)n數(shù)據(jù)庫邏輯結構和特

27、征的描述n是型的描述n反映的是數(shù)據(jù)的結構及其聯(lián)系n模式是相對穩(wěn)定的o實例(實例(Instance)n模式的一個具體值n反映數(shù)據(jù)庫某一時刻的狀態(tài)n同一個模式可以有很多實例n實例隨數(shù)據(jù)庫中的數(shù)據(jù)的更新而變動An Introduction to Database Systems47/80數(shù)據(jù)庫系統(tǒng)模式的概念 (續(xù))例如:在學生選課數(shù)據(jù)庫模式中,包含學生記錄、課程記錄和學生選課記錄n 2003年的一個學生數(shù)據(jù)庫實例,包含:2003年學校中所有學生的記錄學校開設的所有課程的記錄所有學生選課的記錄 n2002年度學生數(shù)據(jù)庫模式對應的實例與 2003年度學生數(shù)據(jù)庫模式對應的實例是不同的 An Introdu

28、ction to Database Systems48/80數(shù)據(jù)庫系統(tǒng)結構(續(xù))1.3.1 數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫系統(tǒng)的三級模式結構 1.3.3 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性 An Introduction to Database Systems49/801.3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結構o模式(Schema) o外模式(External Schema)o內模式(Internal Schema) An Introduction to Database Systems50/80數(shù)據(jù)庫系統(tǒng)的三級模式

29、結構(續(xù))圖1.28 數(shù)據(jù)庫系統(tǒng)的三級模式結構 An Introduction to Database Systems51/80一、模式(Schema)o模式(也稱邏輯模式)n數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結構和特征的描述n所有用戶的公共數(shù)據(jù)視圖,綜合了所有用戶的需求o一個數(shù)據(jù)庫只有一個模式o模式的地位:是數(shù)據(jù)庫系統(tǒng)模式結構的中間層n與數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境無關n與具體的應用程序、開發(fā)工具及高級程序設計語言無關An Introduction to Database Systems52/80模式(續(xù))o模式的定義n數(shù)據(jù)的邏輯結構(數(shù)據(jù)項的名字、類型、取值范圍等)n數(shù)據(jù)之間的聯(lián)系n數(shù)據(jù)有關的安全性、

30、完整性要求An Introduction to Database Systems53/80二、外模式(External Schema)o外模式(也稱子模式或用戶模式)n數(shù)據(jù)庫用戶(包括應用程序員和最終用戶)使用的局部數(shù)據(jù)的邏輯結構和特征的描述n數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一應用有關的數(shù)據(jù)邏輯表示。o外模式的地位:介于模式與應用之間o模式與外模式的關系:一對多外模式通常是模式的子集一個數(shù)據(jù)庫可以有多個外模式,反映了不同用戶的應用需求、看待數(shù)據(jù)的方式、對數(shù)據(jù)保密的要求對模式中同一數(shù)據(jù),在外模式中的結構、類型、長度、保密級別等都可以不同。An Introduction to Database Sys

31、tems54/80外模式(續(xù))o外模式的用途n保證保證數(shù)據(jù)庫安全性數(shù)據(jù)庫安全性的一個有力措施的一個有力措施n每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù)每個用戶只能看見和訪問所對應的外模式中的數(shù)據(jù)o外模式與應用的關系:一對多同一外模式也可以為某一用戶的同一外模式也可以為某一用戶的多個應用系統(tǒng)多個應用系統(tǒng)所使用所使用但一個應用程序只能使用一個外模式但一個應用程序只能使用一個外模式An Introduction to Database Systems55/80三、內模式(Internal Schema)o內模式(也稱存儲模式)n是數(shù)據(jù)是數(shù)據(jù)物理結構和存儲方式物理結構和存儲方式的描述的描述n是數(shù)據(jù)在

32、數(shù)據(jù)庫內部的表示方式是數(shù)據(jù)在數(shù)據(jù)庫內部的表示方式o記錄的存儲方式(記錄的存儲方式(順序存儲,按照順序存儲,按照B樹結構存儲,樹結構存儲, 按按hash方法存儲方法存儲)o索引的組織方式索引的組織方式o數(shù)據(jù)是否壓縮存儲數(shù)據(jù)是否壓縮存儲o數(shù)據(jù)是否加密數(shù)據(jù)是否加密o數(shù)據(jù)存儲記錄結構的規(guī)定數(shù)據(jù)存儲記錄結構的規(guī)定o一個數(shù)據(jù)庫只有一個內模式An Introduction to Database Systems56/80內模式舉例o例如學生記錄,如果按堆堆存儲,則插入一條新記錄總是放在學生記錄存儲的最后最后,如右圖所示An Introduction to Database Systems57/80內模式舉例

33、o如果按學號升序存儲,則插入一條記錄就要找到它應在的位置插入,如圖1.29(b)所示o如果按照學生年齡聚簇存放,假如新插入的S3是16歲,則應插入的位置如圖1.29(c)所示 圖1.29 記錄不同的存儲方式示意圖An Introduction to Database Systems58/80數(shù)據(jù)庫系統(tǒng)結構(續(xù))1.3.1 數(shù)據(jù)庫系統(tǒng)模式的概念數(shù)據(jù)庫系統(tǒng)模式的概念 1.3.2 數(shù)據(jù)庫系統(tǒng)的三級模式結構數(shù)據(jù)庫系統(tǒng)的三級模式結構 1.3.3 數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性數(shù)據(jù)庫的二級映像功能與數(shù)據(jù)獨立性 An Introduction to Database Systems59/801.3.3 數(shù)

34、據(jù)庫的二級映像功能與數(shù)據(jù)獨立性o三級模式是對數(shù)據(jù)的三個抽象級別o二級映象在DBMS內部實現(xiàn)這三個抽象層次的聯(lián)系和轉換n外模式模式映像n模式內模式映像 An Introduction to Database Systems60/80一、外模式/模式映象o模式模式:描述的是數(shù)據(jù)的全局邏輯結構o外模式外模式:描述的是數(shù)據(jù)的局部邏輯結構 n同一個模式可以有任意多個外模式 n每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式模式映象,定義外模式與模式之間的對應關系n映象定義通常包含在各自外模式的描述中o保證數(shù)據(jù)的邏輯獨立性n當模式改變時,數(shù)據(jù)庫管理員修改有關的外模式/模式映象,使外模式保持不變n應用程序是依據(jù)數(shù)據(jù)的

35、外模式編寫的,從而應用程序不必修改,保證了數(shù)據(jù)與程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。An Introduction to Database Systems61/80二、模式/內模式映象o模式/內模式映象定義了數(shù)據(jù)全局邏輯結構與存儲結構之間的對應關系。n例如,說明邏輯記錄和字段在內部是如何表示的o數(shù)據(jù)庫中模式/內模式映象是唯一的, 該映象定義通常包含在模式描述中;o保證數(shù)據(jù)的物理獨立性n當數(shù)據(jù)庫的存儲結構改變了(例如選用了另一種存儲結構),數(shù)據(jù)庫管理員修改模式/內模式映象,使模式保持不變n應用程序不受影響。保證了數(shù)據(jù)與程序的物理獨立性,簡稱數(shù)據(jù)的物理獨立性。An Introduction t

36、o Database Systems62/80小結(1)o數(shù)據(jù)庫模式n即全局邏輯結構是數(shù)據(jù)庫的中心與關鍵 n獨立于數(shù)據(jù)庫的其他層次 n設計數(shù)據(jù)庫模式結構時應首先確定數(shù)據(jù)庫的邏輯模式o數(shù)據(jù)庫的內模式n依賴于它的全局邏輯結構n獨立于數(shù)據(jù)庫的用戶視圖,即外模式n獨立于具體的存儲設備 n將全局邏輯結構中所定義的數(shù)據(jù)結構及其聯(lián)系按照一定的物理存儲策略進行組織,以達到較好的時間與空間效率 An Introduction to Database Systems63/80小結(2)o數(shù)據(jù)庫的外模式n面向具體的應用程序n定義在邏輯模式之上n獨立于存儲模式和存儲設備n當應用需求發(fā)生較大變化,相應外模式不能滿足其視

37、圖要求時,該外模式就得做相應改動 n設計外模式時應充分考慮到應用的擴充性 An Introduction to Database Systems64/80第一章 緒論1.1 數(shù)據(jù)庫系統(tǒng)概述數(shù)據(jù)庫系統(tǒng)概述1.2 數(shù)據(jù)模型數(shù)據(jù)模型1.3 數(shù)據(jù)庫系統(tǒng)結構數(shù)據(jù)庫系統(tǒng)結構1.4 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成1.5 小結小結An Introduction to Database Systems65/801.4 數(shù)據(jù)庫系統(tǒng)的組成o數(shù)據(jù)庫o數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)o應用系統(tǒng)o數(shù)據(jù)庫管理員An Introduction to Database Systems66/80數(shù)據(jù)庫系統(tǒng)的組成(續(xù))o硬件平臺及數(shù)據(jù)庫 o軟件 o人員 An Introduction to Database Systems67/80一、硬件平臺及數(shù)據(jù)庫o數(shù)據(jù)庫系統(tǒng)對硬件資源的要求 (1) 足夠大的內存n操作系統(tǒng)nDBMS的核心模塊n數(shù)據(jù)緩沖區(qū)n應用程序 (2) 足夠大的外存n

溫馨提示

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

評論

0/150

提交評論