邏輯模型設(shè)計(jì)PPT課件_第1頁
邏輯模型設(shè)計(jì)PPT課件_第2頁
邏輯模型設(shè)計(jì)PPT課件_第3頁
邏輯模型設(shè)計(jì)PPT課件_第4頁
邏輯模型設(shè)計(jì)PPT課件_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1,項(xiàng)目3 邏輯模型設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)的步驟: 1. 需求分析 2. 概念結(jié)構(gòu)設(shè)計(jì) 3. 邏輯結(jié)構(gòu)設(shè)計(jì) 4. 數(shù)據(jù)庫的物理設(shè)計(jì) 5. 數(shù)據(jù)庫實(shí)施 6. 數(shù)據(jù)庫運(yùn)行與維護(hù),2,數(shù)據(jù)庫三級模式結(jié)構(gòu),各種人員的數(shù)據(jù)視圖,不同的人員涉及不同的數(shù)據(jù)抽象級別,具有不同的數(shù)據(jù)視圖,如下圖所示,3,項(xiàng)目3 邏輯模型設(shè)計(jì),學(xué)習(xí)目標(biāo): 1.了解關(guān)系模型的基本概念; 2. 理解關(guān)系數(shù)據(jù)庫的概念; 3. 掌握函數(shù)依賴、范式的定義; 4. 理解關(guān)系模式規(guī)范化的意義; 5. 熟練掌握模式分解的方法; 6. 熟練掌握E-R圖向關(guān)系數(shù)據(jù)模型轉(zhuǎn)換的規(guī)則和方法,4,項(xiàng)目3 邏輯模型設(shè)計(jì),任務(wù)1 邏輯模型基礎(chǔ)知識 任務(wù)2 關(guān)系數(shù)據(jù)庫

2、理論 任務(wù)3 概念模型向關(guān)系模型的轉(zhuǎn)換 任務(wù)4 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì) 實(shí)訓(xùn)4 邏輯模型設(shè)計(jì),5,任務(wù)1 邏輯模型基礎(chǔ)知識,1.1 關(guān)系模型概述 1.2 關(guān)系數(shù)據(jù)庫的基本概念,6,任務(wù)1 邏輯模型基礎(chǔ)知識,E-R圖表示的概念模型是用戶數(shù)據(jù)要求的形式化。E-R圖獨(dú)立于任何一種數(shù)據(jù)模型,它也不為任何一個(gè)DBMS所支持。邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念模型結(jié)構(gòu)轉(zhuǎn)換成某個(gè)具體的DBMS所支持的數(shù)據(jù)模型,并將其性能進(jìn)行優(yōu)化,7,任務(wù)1 邏輯模型基礎(chǔ)知識,不同的數(shù)據(jù)模型具有不同的數(shù)據(jù)結(jié)構(gòu)形式。數(shù)據(jù)庫系統(tǒng)中最常使用的數(shù)據(jù)模型是層次模型、網(wǎng)狀模型和關(guān)系模型。 非關(guān)系模型 層次模型(Hierarchical Model

3、) 網(wǎng)狀模型(Network Model,8,任務(wù)1 邏輯模型基礎(chǔ)知識,關(guān)系模型(Relational Model) 數(shù)據(jù)結(jié)構(gòu):表 面向?qū)ο竽P?Object Oriented Model) 數(shù)據(jù)結(jié)構(gòu):對象,9,1.1 關(guān)系模型,最重要的一種數(shù)據(jù)模型。也是目前主要采用的數(shù)據(jù)模型,關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式,現(xiàn)在流行的數(shù)據(jù)庫系統(tǒng)大都是關(guān)系數(shù)據(jù)庫系統(tǒng)。 1970年由美國IBM公司San Jose研究室的研究員E.F.Codd提出 本課程的重點(diǎn),10,一、關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu),在用戶觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成,學(xué)生登記表,屬性,元組,11,1)

4、關(guān)系模型的基本概念,關(guān)系(Relation) 一個(gè)關(guān)系對應(yīng)通常說的一張表。 元組(Tuple) 表中的一行即為一個(gè)元組。存放的是客觀世界的一個(gè)實(shí)體,如表Student關(guān)系中的一行,存放的是一個(gè)學(xué)生的數(shù)據(jù) 。 屬性(Attribute) 表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱即屬性名,12,1) 關(guān)系模型的基本概念,主碼(Key) 表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組。 域(Domain) 屬性的取值范圍。 分量(Element) 元組中的一個(gè)屬性值。 關(guān)系模式(Relation mode) 對關(guān)系的描述 關(guān)系名(屬性1,屬性2,屬性n) 學(xué)生(學(xué)號,姓名,年齡,性別,系,年級,13

5、,1) 關(guān)系模型的基本概念,表1.2 術(shù)語對比,14,關(guān)系的等價(jià)術(shù)語之間的對應(yīng)關(guān)系,1) 關(guān)系模型的基本概念,15,2) 關(guān)系模型中的數(shù)據(jù)全部用關(guān)系表示,在關(guān)系模型中,實(shí)體集以及實(shí)體間的聯(lián)系都是用關(guān)系來表示。 例如,關(guān)系模型中,學(xué)生、課程、學(xué)生與課程之間的聯(lián)系表示為: 學(xué)生(學(xué)號,姓名,性別,年齡,所在系); 課程(課程號,課程名,先行課); 選修(學(xué)號,課程號,成績,16,2.關(guān)系操作和關(guān)系的完整性約束條件,數(shù)據(jù)操作由查詢、插入、刪除、更新 數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系,即若干元組的集合。 存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細(xì)說明“怎么干,17,2.關(guān)系操作

6、和關(guān)系的完整性約束條件,關(guān)系模型的完整性約束 實(shí)體完整性 參照完整性 用戶定義的完整性,18,3.關(guān)系模型的存儲結(jié)構(gòu),關(guān)系數(shù)據(jù)模型的存儲結(jié)構(gòu) 表以文件形式存儲 有的DBMS一個(gè)表對應(yīng)一個(gè)操作系統(tǒng)文件 有的DBMS自己設(shè)計(jì)文件結(jié)構(gòu),19,4.關(guān)系模型的優(yōu)缺點(diǎn),優(yōu)點(diǎn) 建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上; 概念單一;數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用; 實(shí)體和各類聯(lián)系都用關(guān)系來表示。 對數(shù)據(jù)的檢索結(jié)果也是關(guān)系。 關(guān)系模型的存取路徑對用戶透明 具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性 簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作,20,4.關(guān)系模型的優(yōu)缺點(diǎn),缺點(diǎn) 存取路徑對用戶透明導(dǎo)致查詢效率往往不如非 關(guān)系數(shù)據(jù)模

7、型 為提高性能,必須對用戶的查詢請求進(jìn)行優(yōu)化 增加了開發(fā)數(shù)據(jù)庫管理系統(tǒng)的難度,21,5. 典型的關(guān)系數(shù)據(jù)庫系統(tǒng),ORACLE SYBASE INFORMIX DB/2 COBASE PBASE EasyBase DM/2 OpenBase,22,信息的三種世界術(shù)語的對應(yīng)關(guān)系表,23,1.2 關(guān)系數(shù)據(jù)庫的基本概念,1.關(guān)系數(shù)據(jù)結(jié)構(gòu) 2.關(guān)系操作概述 3.關(guān)系的完整性,24,1.關(guān)系數(shù)據(jù)結(jié)構(gòu),在關(guān)系模型中,無論是實(shí)體集,還是實(shí)體集之間的聯(lián)系均由單一的關(guān)系表示。由于關(guān)系模型是建立在集合代數(shù)基礎(chǔ)上的,因而一般從集合論角度對關(guān)系數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義,25,1)域(Domain,域是一組具有相同數(shù)據(jù)類型的值的

8、集合。 例 整數(shù) 實(shí)數(shù) 介于某個(gè)取值范圍的整數(shù) 長度指定長度的字符串集合 男,女 介于某個(gè)取值范圍的日期,26,2) 笛卡爾積(Cartesian Product,1) 笛卡爾積 給定一組域D1,D2,Dn,這些域中可以有相同的。D1,D2,Dn的笛卡爾積為: D1D2Dn(d1,d2,dn)diDi,i1,2,n 所有域的所有取值的一個(gè)組合 不能重復(fù),27,2) 笛卡爾積(Cartesian Product,例2-1 給出三個(gè)域: D1=SUPERVISOR = 張清玫,劉逸 D2=SPECIALITY=計(jì)算機(jī)專業(yè),信息專業(yè) D3=POSTGRADUATE=李勇,劉晨,王敏 則D1,D2,D

9、3的笛卡爾積為: D1D2D3 (張清玫,計(jì)算機(jī)專業(yè),李勇),(張清玫,計(jì)算機(jī)專業(yè),劉晨), (張清玫,計(jì)算機(jī)專業(yè),王敏),(張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨),(張清玫,信息專業(yè),王敏), (劉逸,計(jì)算機(jī)專業(yè),李勇),(劉逸,計(jì)算機(jī)專業(yè),劉晨), (劉逸,計(jì)算機(jī)專業(yè),王敏),(劉逸,信息專業(yè),李勇), (劉逸,信息專業(yè),劉晨),(劉逸,信息專業(yè),王敏),28,2) 笛卡爾積(Cartesian Product,2) 元組(Tuple) 笛卡爾積中每一個(gè)元素(d1,d2,dn)叫作一個(gè)n元組(n-tuple)或簡稱元組。 例 3) 分量(Component) 笛卡爾積元素(

10、d1,d2,dn)中的每一個(gè)值di叫作一個(gè)分量,29,2) 笛卡爾積(Cartesian Product,4) 基數(shù)(Cardinal number) 若Di(i1,2,n)為有限集,其基數(shù)為mi(i1,2,n),則D1D2Dn的基數(shù)M為: 在上例中,基數(shù):22312,即D1D2D3共有22312個(gè)元組,30,2) 笛卡爾積(Cartesian Product,5)笛卡爾積的表示方法 笛卡爾積可表示為一個(gè)二維表。表中的每行對應(yīng)一個(gè)元組,表中的每列對應(yīng)一個(gè)域。 在上例中,12個(gè)元組可列成一張二維表,31,32,3) 關(guān)系(Relation,1) 關(guān)系 D1D2Dn的子集叫作在域D1,D2,Dn上

11、的關(guān)系,表示為 R(D1,D2,Dn) R:關(guān)系名 n:關(guān)系的目或度(Degree,33,3) 關(guān)系(Relation,注意 關(guān)系是笛卡爾積的有限子集。無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的。 由于笛卡爾積不滿足交換律,即 (d1,d2,dn )(d2,d1,dn ) 但關(guān)系滿足交換律,即 (d1,d2 ,di ,dj ,dn)=(d1,d2 ,dj,di ,dn) (i,j = 1,2,n) 解決方法:為關(guān)系的每個(gè)列附加一個(gè)屬性名以取消關(guān)系元組的有序性,34,3) 關(guān)系(Relation,例如在表2.1 的笛卡爾積中取出有實(shí)際意義的元組 來構(gòu)造關(guān)系 關(guān)系:SAP(SUPERVISOR,SPECIA

12、LITY,POSTGRADUATE) 關(guān)系名,屬性名 假設(shè):導(dǎo)師與專業(yè):1:1(即一個(gè)導(dǎo)師只能對一個(gè)專業(yè)),導(dǎo)師與研究生:1:n(一個(gè)研究生只能遵從一個(gè)導(dǎo)師) 于是:SAP關(guān)系可以包含三個(gè)元組 (張清玫,信息專業(yè),李勇), (張清玫,信息專業(yè),劉晨), (劉逸,信息專業(yè),王敏),35,3) 關(guān)系(Relation,2) 元組 關(guān)系中的每個(gè)元素是關(guān)系中的元組, 通常用t表示。 3) 單元關(guān)系與二元關(guān)系 當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unary relation)。 當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binary relation,36,3) 關(guān)系(Relation,4) 關(guān)系的表示 關(guān)系也是一個(gè)

13、二維表,表的每行對應(yīng)一個(gè)元組,表的每列對應(yīng)一個(gè)域,37,3) 關(guān)系(Relation,5) 屬性 關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對每列起一個(gè)名字,稱為屬性(Attribute)。 n目關(guān)系必有n個(gè)屬性,38,3) 關(guān)系(Relation,6) 碼 候選碼(Candidate key) 若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個(gè)元組,則稱該屬性組為候選碼,在有多個(gè)后選碼時(shí)可以選一個(gè)作為主碼。 在最簡單的情況下,候選碼只包含一個(gè)屬性。 在最極端的情況下,關(guān)系模式的所有屬性組 是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key,39,3) 關(guān)系(Relation,碼(續(xù)) 主碼 若一個(gè)

14、關(guān)系有多個(gè)候選碼,則選定其中一個(gè) 為主碼(Primary key) 主碼的諸屬性稱為主屬性(Prime attribute)。 不包含在任何侯選碼中的屬性稱為非主屬性 (Non-key attribute,40,3) 關(guān)系(Relation,7) 三類關(guān)系(或稱三類表) 基本關(guān)系(基本表或基表) 實(shí)際存在的表,是實(shí)際存儲數(shù)據(jù)的邏輯表示 查詢表 查詢結(jié)果對應(yīng)的表 視圖表 由基本表或其他視圖表導(dǎo)出的表,是虛表,不對 應(yīng)實(shí)際存儲的數(shù)據(jù),41,4)數(shù)據(jù)庫中基本關(guān)系的性質(zhì),列是同質(zhì)的(Homogeneous) 每一列中的分量是同一類型的數(shù)據(jù),來自同 一個(gè)域 不同的列可出自同一個(gè)域 其中的每一列稱為一個(gè)屬

15、性 不同的屬性要給予不同的屬性名,42,4)數(shù)據(jù)庫中基本關(guān)系的性質(zhì),列的順序無所謂 列的次序可以任意交換 遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如ORACLE), 增加新屬性時(shí),永遠(yuǎn)是插至最后一列 但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一 性質(zhì),例如FoxPro仍然區(qū)分了屬性順序,43,4)數(shù)據(jù)庫中基本關(guān)系的性質(zhì),任意兩個(gè)元組不能完全相同 由笛卡爾積的性質(zhì)決定 但許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性質(zhì)。 例如: Oracle,F(xiàn)oxPro等都允許關(guān)系表中存在兩個(gè)完全相同 的元組,除非用戶特別定義了相應(yīng)的約束條件,44,4)數(shù)據(jù)庫中基本關(guān)系的性質(zhì),行的順序無所謂 行的次序可以任意交換 遵循這一性質(zhì)的數(shù)據(jù)庫產(chǎn)品(如O

16、RACLE), 插入一個(gè)元組時(shí)永遠(yuǎn)插至最后一行 但也有許多關(guān)系數(shù)據(jù)庫產(chǎn)品沒有遵循這一性 質(zhì),例如FoxPro仍然區(qū)分了元組的順序,45,4)數(shù)據(jù)庫中基本關(guān)系的性質(zhì),分量必須取原子值 每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。 這是規(guī)范條件中最基本的一條,46,5)關(guān)系模式(Relation Schema)的定義,關(guān)系的描述稱為關(guān)系模式。關(guān)系模式可以形式化地表示為: R(U,D,Dom,F(xiàn)) 其中:R為關(guān)系名,它是關(guān)系的形式化表示;U為組成該關(guān)系的屬性集合;D為屬性組U中屬性所來自的域;Dom為屬性向域的映像的集合;F為屬性間數(shù)據(jù)的依賴關(guān)系集合。 關(guān)系模式是關(guān)系的形式化描述,47,5)關(guān)系模式(Rela

17、tion Schema)的定義,關(guān)系模式通??梢院唵斡洖椋?R(U)或 R(A1,A2,An). 其中:R為關(guān)系名,A1,A2,An為屬性名,域名及屬性向域的映像常常直接說明為屬性的類型、長度,48,5)關(guān)系模式(Relation Schema)的定義,關(guān)系模式是關(guān)系的框架或結(jié)構(gòu)。關(guān)系是按關(guān)系模式組織的表格,關(guān)系既包括結(jié)構(gòu)也包括其數(shù)據(jù)(關(guān)系的數(shù)據(jù)是元組,也稱為關(guān)系的內(nèi)容)。一般講,關(guān)系模式是靜態(tài)的,關(guān)系數(shù)據(jù)庫一旦定義后其結(jié)構(gòu)不能隨意改動;而關(guān)系的數(shù)據(jù)是動態(tài)的,關(guān)系內(nèi)容的更新屬于正常的數(shù)據(jù)操作,隨時(shí)間的變化,關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)需要不斷增加、修改或刪除,49,5)關(guān)系模式(Relation Sch

18、ema)的定義,關(guān)系模式即是一個(gè)表的表頭描述。 表頭也稱為關(guān)系的結(jié)構(gòu)、關(guān)系的型等。 除表頭一行以外的所有行的集合(即表內(nèi)容), 稱為關(guān)系的值。 一個(gè)關(guān)系(表),由表頭和表內(nèi)容兩部分組成,表頭是相對不變的,而表內(nèi)容是經(jīng)常改變的。如Student表中,當(dāng)有新學(xué)生入學(xué)時(shí),就增加若干行,當(dāng)學(xué)生畢業(yè)時(shí),就要刪除若干行,所以表是動態(tài)的,50,6)關(guān)系數(shù)據(jù)庫(Relation database,關(guān)系數(shù)據(jù)庫是相互關(guān)聯(lián)的表或者說關(guān)系的集合。 因?yàn)橐粋€(gè)表存放的是某一應(yīng)用領(lǐng)域的一個(gè)實(shí)體或?qū)嶓w間的聯(lián)系,如Student表存放的是學(xué)生這個(gè)實(shí)體(集),Course表存放的是課程這個(gè)實(shí)體(集),SC表存放的學(xué)生實(shí)體與課程實(shí)

19、體之間的聯(lián)系,這里為選課聯(lián)系。因此關(guān)系數(shù)據(jù)庫中存放的是某一應(yīng)用領(lǐng)域中的所有實(shí)體和實(shí)體之間的聯(lián)系。 一個(gè)關(guān)系用一個(gè)關(guān)系模式表示,所有關(guān)系模式集合構(gòu)成數(shù)據(jù)庫的模式,它是數(shù)據(jù)庫整體邏輯結(jié)構(gòu)的描述,51,2.關(guān)系操作概述,關(guān)系模型與其他數(shù)據(jù)模型相比,最具有特色的是關(guān)系數(shù)據(jù)操作語言。關(guān)系操作語言靈活方便,表達(dá)能力和功能都非常強(qiáng)大,52,1)關(guān)系操作的基本內(nèi)容,關(guān)系操作包括數(shù)據(jù)查詢、數(shù)據(jù)維護(hù)和數(shù)據(jù)控制三大功能。數(shù)據(jù)查詢指數(shù)據(jù)檢索、統(tǒng)計(jì)、排序、分組以及用戶對信息的需求等功能;數(shù)據(jù)維護(hù)指數(shù)據(jù)增加、刪除、修改等數(shù)據(jù)自身更新的功能;數(shù)據(jù)控制是為了保證數(shù)據(jù)的安全性和完整性而采用的數(shù)據(jù)存取控制及并發(fā)控制等功能,53,

20、1)關(guān)系操作的基本內(nèi)容,關(guān)系操作的數(shù)據(jù)查詢和數(shù)據(jù)維護(hù)功能使用關(guān)系代數(shù)中的選擇(Select)、投影(Project)、連接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)和廣義笛卡兒積(Extended Cartesian Product)8種操作表示,其中前4種為專門的關(guān)系運(yùn)算,而后4種為傳統(tǒng)的集合運(yùn)算,54,2)關(guān)系操作的特點(diǎn),關(guān)系操作具有以下3個(gè)明顯的特點(diǎn)。 1) 關(guān)系操作語言操作一體化 關(guān)系語言具有數(shù)據(jù)定義、查詢、更新和控制一體化的特點(diǎn)。 2) 關(guān)系操作的方式是一次一集合方式 其他系統(tǒng)的操作是一次一記錄(record-at-

21、a-time)方式,而關(guān)系操作的方式則是一次一集合(set-at-a-time)方式,即關(guān)系操作的初始數(shù)據(jù)、中間數(shù)據(jù)和結(jié)果數(shù)據(jù)都是集合。 3) 關(guān)系操作語言是高度非過程化的語言 關(guān)系操作語言具有強(qiáng)大的表達(dá)能力,55,3)關(guān)系操作的種類,關(guān)系操作語言可以分為以下3類。 1) 關(guān)系代數(shù)語言 關(guān)系代數(shù)語言是用對關(guān)系的運(yùn)算來表達(dá)查詢要求的語言。ISBL(Information System Base Language)為關(guān)系代數(shù)語言的代表。 2) 關(guān)系演算語言 關(guān)系演算語言是用查詢得到的元組應(yīng)滿足的謂詞條件來表達(dá)查詢要求的語言。 3) 基于映像的語言 基于映像的語言是具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語

22、言。SQL(Structure Query Language)是基于映像的語言。SQL包括數(shù)據(jù)定義、數(shù)據(jù)操作和數(shù)據(jù)控制三種功能,具有語言簡潔,易學(xué)易用的特點(diǎn),它是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言和主流語言,56,3. 關(guān)系的完整性,關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中有三類完整性約束:實(shí)體完整性、參照完整性和用戶定義的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系系統(tǒng)自動支持,57,1) 實(shí)體完整性 (Entity Integrity,關(guān)系的實(shí)體完整性規(guī)則為:若屬性A是基本關(guān)系R的主屬性,則屬性A的值不能為空值。 實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都

23、不能取空值,而不僅是主碼不能取空值,58,1) 實(shí)體完整性(Entity Integrity,對于實(shí)體完整性規(guī)則,說明如下: 1) 實(shí)體完整性能夠保證實(shí)體的惟一性 2) 實(shí)體完整性能夠保證實(shí)體的可區(qū)分性,59,2)參照完整性(Reference Integrity,參照完整性又稱為引用完整性,是保證參照表與被參照表中數(shù)據(jù)的一致性。 實(shí)體完整性是一個(gè)關(guān)系內(nèi)的約束,而參照完整性則是在不同關(guān)系之間或同一關(guān)系的不同元組之間的約束,60,1) 關(guān)系間的引用,在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。 例 學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生 間的一對多聯(lián)系 學(xué)生(學(xué)

24、號,姓名,性別,專業(yè)號,年齡) 專業(yè)(專業(yè)號,專業(yè)名,61,學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名,62,1)關(guān)系間的引用(續(xù),例2 學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系 學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡 課程(課程號,課程名,學(xué)分) 選修(學(xué)號,課程號,成績,63,學(xué)生,學(xué)生選課,課程,64,1)關(guān)系間的引用(續(xù),例3 學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對多) 學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長,65,2)外碼(Foreign Key,設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼 基本關(guān)系R稱為

25、參照關(guān)系(Referencing Relation) 基本關(guān)系S稱為被參照關(guān)系(Referenced Relation)或目標(biāo)關(guān)系(Target Relation,66,2)外碼(Foreign Key,說明 關(guān)系R和S不一定是不同的關(guān)系。 目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必須定義在同一個(gè)(或一組)域上。 外碼并不一定要與相應(yīng)的主碼同名; 當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識別,67,3) 參照完整性規(guī)則,若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼 它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān) 系R和S不一定是不同的關(guān)系),則對 于R中每個(gè)元組在F上的值必須為: 或者取空

26、值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值,68,3) 參照完整性規(guī)則,學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號”屬性只 取下面兩類值: (1)空值,表示尚未給該學(xué)生分配專業(yè) (2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中,69,3) 參照完整性規(guī)則,選修(學(xué)號,課程號,成績) “學(xué)號”和“課程號”是選修關(guān)系中的主屬性 按照實(shí)體完整性和參照完整性規(guī)則,它們 只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼 值,70,3) 參照完整性規(guī)則,學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長) “班長”屬性值可以取兩類值: (1)空值,表示該學(xué)生所在班級尚未

27、選出班長,或該學(xué)生本人即是班長; (2)非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號值,71,3. 用戶定義的完整性(User-Defined Integrity,任何關(guān)系數(shù)據(jù)庫系統(tǒng)都應(yīng)當(dāng)具備實(shí)體完整性和參照完整性。另外,由于不同的關(guān)系數(shù)據(jù)庫系統(tǒng)有著不同的應(yīng)用環(huán)境,所以它們要有不同的約束條件 。 用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求,72,3. 用戶定義的完整性(User-Defined Integrity,關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。 例如,學(xué)生考試的成績

28、必須在0100之間,在職職工的年齡不能大于60歲等,都是針對具體關(guān)系提出的完整性條件,73,3. 用戶定義的完整性(續(xù),例: 課程(課程號,課程名,學(xué)分) “課程名”屬性必須取唯一值 非主屬性“課程名”也不能取空值 “學(xué)分”屬性只能取值1,2,3,4,74,1. 數(shù)據(jù)庫管理員(DBA,決定數(shù)據(jù)庫中的信息內(nèi)容和結(jié)構(gòu) 決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略 定義數(shù)據(jù)的安全性要求和完整性約束條件,75,數(shù)據(jù)庫管理員(續(xù),監(jiān)控?cái)?shù)據(jù)庫的使用和運(yùn)行 周期性轉(zhuǎn)儲數(shù)據(jù)庫 數(shù)據(jù)文件 日志文件 系統(tǒng)故障恢復(fù) 介質(zhì)故障恢復(fù) 監(jiān)視審計(jì)文件,76,數(shù)據(jù)庫管理員(續(xù),數(shù)據(jù)庫的改進(jìn)和重組 性能監(jiān)控和調(diào)優(yōu) 數(shù)據(jù)重組 數(shù)據(jù)庫重構(gòu),77

29、,2. 系統(tǒng)分析員,負(fù)責(zé)應(yīng)用系統(tǒng)的需求分析和規(guī)范說明 與用戶及DBA協(xié)商,確定系統(tǒng)的硬軟件配置 參與數(shù)據(jù)庫系統(tǒng)的概要設(shè)計(jì),78,3. 數(shù)據(jù)庫設(shè)計(jì)人員,參加用戶需求調(diào)查和系統(tǒng)分析 確定數(shù)據(jù)庫中的數(shù)據(jù) 設(shè)計(jì)數(shù)據(jù)庫各級模式,79,4. 應(yīng)用程序員,設(shè)計(jì)和編寫應(yīng)用系統(tǒng)的程序模塊 進(jìn)行調(diào)試和安裝,80,5. 用戶,偶然用戶 企業(yè)或組織機(jī)構(gòu)的高中級管理人員 簡單用戶 銀行的職員、機(jī)票預(yù)定人員、旅館總臺服務(wù)員,81,用戶(續(xù),復(fù)雜用戶 工程師、科學(xué)家、經(jīng)濟(jì)學(xué)家、科技工作者等 直接使用數(shù)據(jù)庫語言訪問數(shù)據(jù)庫,甚至能夠基于數(shù)據(jù)庫管理系統(tǒng)的API編制自己的應(yīng)用程序,82,習(xí)題課: 概念模型的應(yīng)用,例題一 設(shè)物資管理

30、數(shù)據(jù)庫中有兩個(gè)實(shí)體集。一是“倉庫”實(shí)體,具有倉庫號、地址、電話等屬性;另一個(gè)是“零件”實(shí)體集,具有零件號、零件名稱、規(guī)格、單價(jià)等屬性。 如果規(guī)定:一個(gè)零件可以存放在多個(gè)倉庫中,一個(gè)倉庫中可以存放多種零件。存放在倉庫中的零件具有屬性日期和庫存量。 要求:畫出E/R圖,83,習(xí)題課: 概念模型的應(yīng)用,例題二 設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫中有三個(gè)實(shí)體集。一是“商店”實(shí)體,具有編號、商店名、地址、電話等屬性;二個(gè)是“商品”實(shí)體集,具有商品號、商品名、規(guī)格、單價(jià)等,三是“職工”實(shí)體集,屬性有職工編號、姓名、性別、業(yè)績等。 商店與商品之間存在“銷售”聯(lián)系,每個(gè)商店可以銷售多種商品,每種商品可以在多個(gè)商店銷售,每個(gè)商

31、店銷售一種商品有月銷售量;商店與職工之間存在“聘用”聯(lián)系,每個(gè)商店可以有多名職工,每個(gè)職工只能在一個(gè)商店工作,商店聘用職工有聘期和月薪。 要求:畫出E/R圖,84,習(xí)題課: 概念模型的應(yīng)用,例題三 設(shè)有一個(gè)圖書管理數(shù)據(jù)庫,此數(shù)據(jù)庫中對每個(gè)借閱者保存記錄,包括:讀者號,姓名,性別,地址,年齡,單位。對每本書存有:書號,書名,出版社。對每本被借出的書存有借出日期和應(yīng)還日期。 要求:畫出E/R圖,85,習(xí)題課: 概念模型的應(yīng)用,例題四 設(shè)有一家百貨商店,已知信息有: (1)每個(gè)職工的數(shù)據(jù):職工號,姓名,地址和它所在的商品部; (2)每一個(gè)商品部的信息有:編號,店名,經(jīng)理和它經(jīng)銷的商品; (3)每種經(jīng)

32、銷的商品有:商品名,生產(chǎn)廠家,價(jià)格,型號和內(nèi)部商品代號; (4)關(guān)于每個(gè)生產(chǎn)廠家的數(shù)據(jù)有:廠名,地址,向商店提供的商品價(jià)格和數(shù)量。 請?jiān)O(shè)計(jì)百貨商店的概念模型。注意某些信息可用屬性表示,其他信息可用聯(lián)系表示,86,習(xí)題課: 概念模型的應(yīng)用,例題五 學(xué)校中有若干個(gè)系,每個(gè)系有若干個(gè)班級和教研室,每個(gè)教研室有若干教師,其中一些教授和副教授每人各帶若干研究生。每個(gè)班級有若干學(xué)生,每個(gè)學(xué)生選修若干課程,每門課程有若干學(xué)生選修。 要求:用E/R圖畫出此學(xué)校的概念模型,87,習(xí)題課: 概念模型的應(yīng)用,例題六 假如要為某基層單位建立一個(gè)“基層單位”數(shù)據(jù)庫。通過調(diào)查得出,用戶要求數(shù)據(jù)庫中存儲下列基本信息。 部門:部門號,名稱,領(lǐng)導(dǎo)人編號; 職工:職工號,姓名,性別,工資,職稱,照片,簡歷; 工程:工程號,工程名,參加人數(shù),預(yù)算,負(fù)責(zé)人; 辦公室:地點(diǎn),編號,電話。 這些信息的關(guān)聯(lián)的語義為: 每個(gè)部門有多個(gè)職工,每個(gè)職工只能在一個(gè)部門工作; 每個(gè)部門只有一個(gè)領(lǐng)導(dǎo)人,領(lǐng)導(dǎo)人不能兼職; 每個(gè)部門可以同時(shí)承擔(dān)若干工程項(xiàng)目,數(shù)據(jù)庫中應(yīng)記錄每個(gè)職工參加項(xiàng)目的日期; 一個(gè)部門可有多個(gè)辦公室; 每個(gè)辦公室只有一部電話; 數(shù)據(jù)庫中還應(yīng)存放每個(gè)職工在所參加的工程項(xiàng)目中承擔(dān)的具體職務(wù)。 要

溫馨提示

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

評論

0/150

提交評論