版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、董董 健健 全全2022年年7月月4日日第第5章章 規(guī)范化設(shè)計規(guī)范化設(shè)計一、本章重要概念一、本章重要概念(1)關(guān)系模式的冗余和異常問題。)關(guān)系模式的冗余和異常問題。(2)FD的定義、邏輯蘊涵、閉包、推理規(guī)則、與關(guān)鍵碼的聯(lián)的定義、邏輯蘊涵、閉包、推理規(guī)則、與關(guān)鍵碼的聯(lián) 系;系; 平凡的平凡的FD;屬性集的閉包;推理規(guī)則的正確性和完備;屬性集的閉包;推理規(guī)則的正確性和完備 性;性;FD集的等價;最小依賴集。集的等價;最小依賴集。(3)無損分解的定義、性質(zhì)、測試;保持依賴集的分解。)無損分解的定義、性質(zhì)、測試;保持依賴集的分解。(4)關(guān)系模式的范式:)關(guān)系模式的范式:1NF,2NF,3NF,BCNF
2、。分解成。分解成 2NF、3NF模式集的算法。模式集的算法。(5)MVD、4NF、JD和和5NF的定義。的定義。 二、本章的重點篇幅二、本章的重點篇幅(1)教材中)教材中P107-112的例的例5.2例例5.9。 (基本概念的例子)。(基本概念的例子)。(2)教材中)教材中P113-115的例的例5.105.12。 (無損聯(lián)接和保持(無損聯(lián)接和保持FD的例子)。的例子)。(3)教材中)教材中P116-119的例的例5.13例例5.16。 (分解成(分解成2NF、3NF、BCNF的例子)。的例子)。 三、要求掌握三、要求掌握(1)基本概念、定義、方法;)基本概念、定義、方法;(2)根據(jù)用戶的需求
3、,寫出函數(shù)依賴)根據(jù)用戶的需求,寫出函數(shù)依賴; 求最小函數(shù)依賴集求最小函數(shù)依賴集;(3)已知關(guān)系模式)已知關(guān)系模式R(U)和和FD集集F,求關(guān)系模式求關(guān)系模式R的關(guān)鍵碼;的關(guān)鍵碼;(4)求屬性集)求屬性集X的閉包的閉包X+ ;求左部是;求左部是X的的FD;(5)判斷)判斷R分解成分解成 是否無損分解;是否保持是否無損分解;是否保持FD集;集;(6)判斷關(guān)系模式)判斷關(guān)系模式R是否是否2NF、3NF 、BCNF模式;模式; 若不是,把若不是,把R分解成分解成 2NF 、3NF 、BCNF模式集。模式集。 5.55.5 設(shè)關(guān)系模式設(shè)關(guān)系模式R(ABCD),如果規(guī)定如果規(guī)定,關(guān)系中關(guān)系中B值與值與D
4、值之間是一值之間是一對多聯(lián)系對多聯(lián)系,A值與值與C 值之間是一對一聯(lián)系。試寫出相應(yīng)的函數(shù)依賴。值之間是一對一聯(lián)系。試寫出相應(yīng)的函數(shù)依賴。 解:從解:從B值與值與D值之間有一對多聯(lián)系,可寫出函數(shù)依賴:值之間有一對多聯(lián)系,可寫出函數(shù)依賴: DB 從從A值與值與C值之間是一對一聯(lián)系值之間是一對一聯(lián)系,可寫出函數(shù)依賴:可寫出函數(shù)依賴: AC 和和 CA 5.7 5.7 設(shè)關(guān)系模式設(shè)關(guān)系模式R(ABCD),),F(xiàn)是是R上成立的上成立的FD集,集, F= AB,CB ,則相對于,則相對于F,試寫出關(guān)系模式,試寫出關(guān)系模式R的關(guān)鍵碼。的關(guān)鍵碼。 并說明理由。并說明理由。 解:解:R的關(guān)鍵碼為的關(guān)鍵碼為ACD
5、。 因為從已知的因為從已知的F,只能推出,只能推出ACDABCD。 (ACD)+=ABCD5.8 5.8 設(shè)關(guān)系模式設(shè)關(guān)系模式R R(ABCDABCD),),F(xiàn) F是是R R上成立的上成立的FDFD集,集, F=F=ABAB,BCBC, 試寫出屬性集試寫出屬性集BDBD的閉包的閉包(BD)(BD)+ +。 試寫出所有左部是試寫出所有左部是B B的函數(shù)依賴(即形為的函數(shù)依賴(即形為“BB?”)。)。解:解:從已知的從已知的F F,可推出,可推出BDBCDBDBCD,所以,所以(BD)(BD)+=BCD。 由于由于B B+=BC,因此左部是,因此左部是B B的的FDFD有四個:有四個: B,BBB
6、B,BCBC,BBCBBC。 5.11 5.11 設(shè)關(guān)系模式設(shè)關(guān)系模式R(ABC),),F(xiàn)是是R上成立的上成立的FD集,集, F= AC,BC ,試分別求,試分別求F在模式在模式AB和和AC上的投影。上的投影。 答:答:AB(F)=(即不存在非平凡的(即不存在非平凡的FD)AC(F)= AC 5.14 設(shè)關(guān)系模式設(shè)關(guān)系模式R(ABCD),),F(xiàn)是是R上成立的上成立的FD集,集, F= AB,BC,AD,DC ,= AB,AC,BD 是是R的一個分解。相對于的一個分解。相對于F,是無損分解嗎?為什么?是無損分解嗎?為什么? 試求試求F在在的每個模式上的投影。的每個模式上的投影。保持保持F嗎?為什
7、么?嗎?為什么?答:答:通過測試過程通過測試過程(表格法表格法:略略)可以知道,可以知道,相對于相對于F是損失分解。是損失分解。AB(F)= AB ,AC(F)= AC ,BD(F)=。顯然,分解顯然,分解不保持不保持FD集集F,丟失了,丟失了: BC、AD和和DC等三個等三個FD。5 518 18 設(shè)有一個設(shè)有一個記錄各個球隊隊員每場比賽進球數(shù)記錄各個球隊隊員每場比賽進球數(shù)的關(guān)系模式的關(guān)系模式 R(隊員編號,比賽場次,進球數(shù),球隊名,隊長名)(隊員編號,比賽場次,進球數(shù),球隊名,隊長名)如果如果規(guī)定每個隊員只能屬于一個球隊,每個球隊只有一個隊長規(guī)定每個隊員只能屬于一個球隊,每個球隊只有一個隊
8、長。 試寫出關(guān)系模式試寫出關(guān)系模式R的基本的基本FD和關(guān)鍵碼。和關(guān)鍵碼。 說明說明R不是不是2NF模式的理由,并把模式的理由,并把R分解成分解成2NF模式集。模式集。 進而把進而把R分解成分解成3NF模式集,并說明理由。模式集,并說明理由。 解:解: 根據(jù)每個隊員只能屬于一個球隊,根據(jù)每個隊員只能屬于一個球隊, 可寫出可寫出FD: 隊員編號隊員編號球隊名球隊名 根據(jù)每個球隊只有一個隊長,可寫出根據(jù)每個球隊只有一個隊長,可寫出FD: 球隊名球隊名隊長名隊長名 “每個隊員每場比賽只有一個進球數(shù)每個隊員每場比賽只有一個進球數(shù)”,這條規(guī)則也是,這條規(guī)則也是成成 立的。因此還可寫出立的。因此還可寫出FD
9、: (隊員編號,比賽場次)(隊員編號,比賽場次)進球數(shù)進球數(shù) R的關(guān)鍵碼為的關(guān)鍵碼為 (隊員編號,比賽場次)(隊員編號,比賽場次)。 R中存在這樣的中存在這樣的FD: (隊員編號,比賽場次)(隊員編號,比賽場次)(球隊名,隊長名)(球隊名,隊長名) 隊員編號隊員編號 (球隊名,隊長名)(球隊名,隊長名) 由于前一個由于前一個FD是局部依賴,所以是局部依賴,所以R不是不是2NF模式。模式。 R應(yīng)分解成應(yīng)分解成: R1(隊員編號隊員編號,球隊名,隊長名),球隊名,隊長名) R2(比賽場次,隊員編號比賽場次,隊員編號,進球數(shù)),進球數(shù)) 此時,此時,R1和和R2都是都是2NF模式。模式。(3)R2(
10、比賽場次,隊員編號比賽場次,隊員編號,進球數(shù))已是,進球數(shù))已是3NF模式。模式。 但在但在R1(隊員編號隊員編號,球隊名,隊長名)中,存在兩個,球隊名,隊長名)中,存在兩個FD: 隊員編號隊員編號 球隊名球隊名 球隊名球隊名 隊長名隊長名 關(guān)鍵碼為隊員編號,存在傳遞依賴,因此關(guān)鍵碼為隊員編號,存在傳遞依賴,因此R1不是不是3NF模式。模式。 R1應(yīng)分解成:應(yīng)分解成: R11(隊員編號隊員編號,球隊名),球隊名) R12(球隊名球隊名,隊長名),隊長名) 這樣,這樣,=R11, R12, R2,其中每個模式均是,其中每個模式均是3NF模式集。模式集。 BCNF模式模式定義:定義: 如果關(guān)系模式
11、如果關(guān)系模式 R 1NF,并且,并且R中每個屬性都中每個屬性都 不傳遞依賴于不傳遞依賴于R的候選鍵的候選鍵,那么稱那么稱R是是BCNF的模式。的模式。由由BCNFBCNF的定義得出如下結(jié)論:的定義得出如下結(jié)論: 1、非主屬性對碼完全函數(shù)依賴;、非主屬性對碼完全函數(shù)依賴; 2、主屬性對不包含它的碼也是完全函數(shù)依賴;主屬性對不包含它的碼也是完全函數(shù)依賴; 3、沒有屬性完全依賴非碼的任何屬性組。、沒有屬性完全依賴非碼的任何屬性組。 如果數(shù)據(jù)庫模式中每個關(guān)系模式都是如果數(shù)據(jù)庫模式中每個關(guān)系模式都是BCNF,稱其為稱其為BCNF的數(shù)據(jù)庫模式。的數(shù)據(jù)庫模式。 例如:關(guān)系模式例如:關(guān)系模式 R(C, S,
12、Z) 其中其中 C:城市名稱:城市名稱 S :街道名稱:街道名稱 Z : 郵政編碼郵政編碼 假定:假定:F= CS Z, Z C CS Z: 表示地址表示地址(城市和街道城市和街道)決定決定郵政編碼郵政編碼; Z Z C: C:表示表示郵政編碼郵政編碼決定決定城市名稱城市名稱。 R的候選碼為:的候選碼為: CS 和和 SZ。 R(C, S, Z)的候選碼為:的候選碼為:CS 和和 SZ。 由于由于F中存在中存在 Z C: 主屬性主屬性C對不包含它的碼對不包含它的碼SZ不是完全函數(shù)依賴,不是完全函數(shù)依賴, 所以所以R(C, S, Z)不是不是BCNF模式,但模式,但R(C, S, Z)是是3NF
13、由于關(guān)系由于關(guān)系R沒有非主屬性沒有非主屬性,也就不要考慮:也就不要考慮:非主屬性對碼的傳遞非主屬性對碼的傳遞或部分函數(shù)依賴或部分函數(shù)依賴問題。問題。 如果把如果把R(C, S, Z)分解為分解為: R1(S,Z) R2(Z, C) 能解決冗余問題,而且能解決冗余問題,而且R1,R2都是都是BCNF模式集。模式集。 但丟失了但丟失了CSZ,數(shù)據(jù)語義將會引起新的矛盾。,數(shù)據(jù)語義將會引起新的矛盾。 第第7章章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 一、本章重要概念一、本章重要概念(1)DBS生存期及其生存期及其7個階段的任務(wù)和工作,個階段的任務(wù)和工作,DBD過程的輸入過程的輸入 和輸出。和輸出。(2)需求分析的步驟
14、、數(shù)據(jù)流圖,數(shù)據(jù)字典的內(nèi)容和作用。)需求分析的步驟、數(shù)據(jù)流圖,數(shù)據(jù)字典的內(nèi)容和作用。(3)概念設(shè)計的重要性、主要步驟。邏輯設(shè)計階段的主要步驟。)概念設(shè)計的重要性、主要步驟。邏輯設(shè)計階段的主要步驟。(4)ER模型的基本元素,屬性的分類,聯(lián)系的元數(shù)、連通詞、模型的基本元素,屬性的分類,聯(lián)系的元數(shù)、連通詞、 基數(shù)。采用基數(shù)。采用ER方法的概念設(shè)計步驟。方法的概念設(shè)計步驟。(5)ER模型到關(guān)系模型的轉(zhuǎn)換規(guī)則。采用模型到關(guān)系模型的轉(zhuǎn)換規(guī)則。采用ER方法的邏輯設(shè)計方法的邏輯設(shè)計 步驟。步驟。(6)ER模型的擴充:弱實體,超類和子類。模型的擴充:弱實體,超類和子類。(7)規(guī)范化理論對數(shù)據(jù)庫設(shè)計的指導(dǎo)意義。)
15、規(guī)范化理論對數(shù)據(jù)庫設(shè)計的指導(dǎo)意義??傮w總體需求需求處理需求處理需求DBMS特征特征硬件和硬件和OS特征特征輸入:輸入:數(shù)據(jù)庫設(shè)計步驟數(shù)據(jù)庫設(shè)計步驟:工作工作:系統(tǒng)可行性研究系統(tǒng)可行性研究,專家論證;編專家論證;編寫可行性分析報告,領(lǐng)導(dǎo)審批寫可行性分析報告,領(lǐng)導(dǎo)審批收集用戶需求;編寫需求分析報告收集用戶需求;編寫需求分析報告(數(shù)據(jù)流圖數(shù)據(jù)流圖DFD和數(shù)據(jù)字典和數(shù)據(jù)字典DD)設(shè)計概念模型(設(shè)計概念模型(ER模型)模型)把把ER模型轉(zhuǎn)換成關(guān)系模型模型轉(zhuǎn)換成關(guān)系模型設(shè)計設(shè)計DB物理結(jié)構(gòu)(存儲結(jié)構(gòu)物理結(jié)構(gòu)(存儲結(jié)構(gòu) 和存儲方法)和存儲方法)輸出:輸出:完整的完整的DB結(jié)構(gòu)結(jié)構(gòu),應(yīng)用程序的設(shè)計準(zhǔn)則。應(yīng)用程
16、序的設(shè)計準(zhǔn)則。二、本章的重點篇幅二、本章的重點篇幅(1)教材中)教材中P163-165的轉(zhuǎn)換規(guī)則和實例。的轉(zhuǎn)換規(guī)則和實例。(2)教材中)教材中P159-160的的ER模型實例。模型實例。三、要求掌握三、要求掌握(1)基本概念、定義、方法;)基本概念、定義、方法;(2)根據(jù)用戶的需求,進行)根據(jù)用戶的需求,進行ER模型設(shè)計;模型設(shè)計;(3)根據(jù)轉(zhuǎn)換規(guī)則,將)根據(jù)轉(zhuǎn)換規(guī)則,將ER模型轉(zhuǎn)換為關(guān)系模型。模型轉(zhuǎn)換為關(guān)系模型。 規(guī)范化理論是數(shù)據(jù)庫設(shè)計的指南和工具,具體地講可在以下規(guī)范化理論是數(shù)據(jù)庫設(shè)計的指南和工具,具體地講可在以下三個方面起重要作用三個方面起重要作用: 1. 在數(shù)據(jù)庫需求分析階在數(shù)據(jù)庫需求
17、分析階段段用函數(shù)依賴的概念來分析和表示各數(shù)用函數(shù)依賴的概念來分析和表示各數(shù) 據(jù)項之間的聯(lián)系據(jù)項之間的聯(lián)系; 2. 在概念設(shè)計階段在概念設(shè)計階段,用規(guī)范化理論消除初步用規(guī)范化理論消除初步ER圖中冗余的聯(lián)系圖中冗余的聯(lián)系; 3. 在在ER圖向關(guān)系模型轉(zhuǎn)換過程中圖向關(guān)系模型轉(zhuǎn)換過程中,用模式分解的概念和算法指用模式分解的概念和算法指 導(dǎo)邏輯設(shè)計。導(dǎo)邏輯設(shè)計。 第第8章章 數(shù)據(jù)庫管理數(shù)據(jù)庫管理一、本章重要概念一、本章重要概念(1)事務(wù)的定義,)事務(wù)的定義,COMMIT和和ROLLBACK的語義,的語義, 事務(wù)的事務(wù)的ACID性質(zhì),事務(wù)的狀態(tài)變遷圖。性質(zhì),事務(wù)的狀態(tài)變遷圖。(2)存儲器類型,穩(wěn)定存儲器的
18、實現(xiàn),數(shù)據(jù)傳送過程。)存儲器類型,穩(wěn)定存儲器的實現(xiàn),數(shù)據(jù)傳送過程。(3)恢復(fù)的定義、基本原則和實現(xiàn)方法,故障的類型,)恢復(fù)的定義、基本原則和實現(xiàn)方法,故障的類型, 檢查點機制,檢查點機制,REDO和和UNDO操作,運行記錄優(yōu)先原則。操作,運行記錄優(yōu)先原則。(4)并發(fā)操作帶來的三個問題,)并發(fā)操作帶來的三個問題,X鎖、鎖、PX協(xié)議、協(xié)議、PXC協(xié)議,協(xié)議, S鎖、鎖、PS協(xié)議、協(xié)議、PSC協(xié)議,活鎖、餓死和死鎖,并發(fā)調(diào)協(xié)議,活鎖、餓死和死鎖,并發(fā)調(diào) 度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,度,串行調(diào)度,并發(fā)調(diào)度的可串行化,兩段封鎖法,SQL中中 事務(wù)的存取模式和隔離級別。事務(wù)的存取模式和隔
19、離級別。(5)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組)完整性的定義,完整性子系統(tǒng)的功能,完整性規(guī)則的組 成。成。SQL中的三大類完整性約束,中的三大類完整性約束,SQL3中的觸發(fā)器技術(shù)。中的觸發(fā)器技術(shù)。(6)安全性的定義、級別,權(quán)限,)安全性的定義、級別,權(quán)限,SQL中的安全性機制(視中的安全性機制(視圖、圖、SQL用戶權(quán)限及操作用戶權(quán)限及操作)二、本章的重點篇幅二、本章的重點篇幅(1)檢查點機制的方法和恢復(fù)算法。(教材中)檢查點機制的方法和恢復(fù)算法。(教材中P.175-176)(2)并發(fā)操作帶來的三個問題,封鎖帶來的三個問題,并發(fā))并發(fā)操作帶來的三個問題,封鎖帶來的三個問題,并發(fā)
20、調(diào)度的可串行化。調(diào)度的可串行化。 (教材(教材P.177-179)(3)SQL中完整性約束的實現(xiàn),斷言、觸發(fā)器中完整性約束的實現(xiàn),斷言、觸發(fā)器(SQL3)。 (教材(教材P.185-191) SQL Server 觸發(fā)器的使用觸發(fā)器的使用 (教材(教材P.298-300) (4)安全性中的授權(quán)語句、回收語句(教材)安全性中的授權(quán)語句、回收語句(教材P.193、194)。)。三、要求掌握三、要求掌握(1 1)恢復(fù)、并發(fā)控制、完整性和安全性的基本概念、定義)恢復(fù)、并發(fā)控制、完整性和安全性的基本概念、定義 和方法;和方法;(2 2)采用檢測點技術(shù)進行數(shù)據(jù)恢復(fù)的分析方法;)采用檢測點技術(shù)進行數(shù)據(jù)恢復(fù)的
21、分析方法;(3 3)并發(fā)調(diào)度的可串行化(包括事務(wù)的調(diào)度、串行調(diào)度、)并發(fā)調(diào)度的可串行化(包括事務(wù)的調(diào)度、串行調(diào)度、 并發(fā)調(diào)度)分析方法;并發(fā)調(diào)度)分析方法;(4 4)根據(jù)用戶的需求,能用多種方法定義完整性約束;)根據(jù)用戶的需求,能用多種方法定義完整性約束;(5 5)授權(quán)和回收語句的使用。)授權(quán)和回收語句的使用。 問問 題:題: (1) (1) 事務(wù)的事務(wù)的COMMIT語句和語句和ROLLBACK語句各做什么事情?語句各做什么事情? (2) COMMIT(2) COMMIT操作和檢查點時的操作有什么聯(lián)系?操作和檢查點時的操作有什么聯(lián)系? (3) (3) 應(yīng)該如何恰當(dāng)協(xié)調(diào)這兩種操作才有利于應(yīng)該如何
22、恰當(dāng)協(xié)調(diào)這兩種操作才有利于DBDB的恢復(fù)的恢復(fù)? (1) (1) 事務(wù)的事務(wù)的COMMITCOMMIT語句和語句和ROLLBACKROLLBACK語句各做什么事情?語句各做什么事情? 答:答:COMMITCOMMIT語句表示事務(wù)執(zhí)行成功地結(jié)束(提交),此時告訴系語句表示事務(wù)執(zhí)行成功地結(jié)束(提交),此時告訴系 統(tǒng),統(tǒng),DBDB要進入一個新的正確狀態(tài),該事務(wù)對要進入一個新的正確狀態(tài),該事務(wù)對DBDB的所有更新都已的所有更新都已 交付實施(寫入磁盤)。交付實施(寫入磁盤)。 ROLLBACKROLLBACK語句表示事務(wù)執(zhí)行不成功地結(jié)束(應(yīng)該語句表示事務(wù)執(zhí)行不成功地結(jié)束(應(yīng)該“回退回退”),),此此
23、時告訴系統(tǒng),已發(fā)生錯誤,時告訴系統(tǒng),已發(fā)生錯誤,DBDB可能處在不正確的狀態(tài),該事務(wù)可能處在不正確的狀態(tài),該事務(wù) 對對DBDB的所有更新必須被撤消,的所有更新必須被撤消,DBDB應(yīng)恢復(fù)該事務(wù)到初始狀態(tài)。應(yīng)恢復(fù)該事務(wù)到初始狀態(tài)。 (2) COMMIT (2) COMMIT操作和檢查點時的操作有什么聯(lián)系?操作和檢查點時的操作有什么聯(lián)系? 在在 C O M M I T 和 檢 查 點 技 術(shù) 聯(lián) 合 使 用 時 ,和 檢 查 點 技 術(shù) 聯(lián) 合 使 用 時 ,COMMIT操作就不一定保證事務(wù)對操作就不一定保證事務(wù)對DB的修改寫到磁的修改寫到磁盤盤,而要到檢查點時刻才保證寫磁盤。在系統(tǒng)恢復(fù),而要到檢查
24、點時刻才保證寫磁盤。在系統(tǒng)恢復(fù)時,時,那些已經(jīng)執(zhí)行了那些已經(jīng)執(zhí)行了COMMIT操作但修改仍留在內(nèi)存操作但修改仍留在內(nèi)存緩沖緩沖區(qū)的事務(wù)需要做恢復(fù)工作,利用日志重做區(qū)的事務(wù)需要做恢復(fù)工作,利用日志重做(REDO)事務(wù)對事務(wù)對DB的修改。的修改。 (3) 應(yīng)該如何恰當(dāng)協(xié)調(diào)這兩種操作才有利于應(yīng)該如何恰當(dāng)協(xié)調(diào)這兩種操作才有利于DBDB的恢復(fù)?的恢復(fù)? 在事務(wù)執(zhí)行時,應(yīng)在日志中記下事務(wù)的開始標(biāo)記、在事務(wù)執(zhí)行時,應(yīng)在日志中記下事務(wù)的開始標(biāo)記、結(jié)束標(biāo)志以及事務(wù)對結(jié)束標(biāo)志以及事務(wù)對DB的每一個修改。在系統(tǒng)恢復(fù)時,的每一個修改。在系統(tǒng)恢復(fù)時,要在日志中檢查故障點與最近一個檢查點之間,哪些事要在日志中檢查故障點與
25、最近一個檢查點之間,哪些事務(wù)執(zhí)行了務(wù)執(zhí)行了COMMIT操作(這些事務(wù)應(yīng)重做),哪些事操作(這些事務(wù)應(yīng)重做),哪些事務(wù)還未結(jié)束(這些事務(wù)應(yīng)撤銷)。務(wù)還未結(jié)束(這些事務(wù)應(yīng)撤銷)。 問問 題:題: DB的并發(fā)控制與恢復(fù)有什么關(guān)系?的并發(fā)控制與恢復(fù)有什么關(guān)系? 如果采用封鎖機制,事務(wù)并發(fā)操作時有可能產(chǎn)生死鎖。如果采用封鎖機制,事務(wù)并發(fā)操作時有可能產(chǎn)生死鎖。 為解除死鎖狀態(tài),要抽取某個事務(wù)作犧牲品,為解除死鎖狀態(tài),要抽取某個事務(wù)作犧牲品, 把它撤消掉,做回退操作,這就屬于把它撤消掉,做回退操作,這就屬于DB的恢復(fù)范疇。的恢復(fù)范疇。 8.19 設(shè)教學(xué)數(shù)據(jù)庫的關(guān)系如下:設(shè)教學(xué)數(shù)據(jù)庫的關(guān)系如下:S(SNO,S
26、NAME,AGE,SEX)SC(SNO,CNO,GRADE)C(CNO,CNAME,TEACHER)試用多種方法定義下列完整性約束:試用多種方法定義下列完整性約束: 在關(guān)系在關(guān)系S中插入的學(xué)生年齡值應(yīng)在中插入的學(xué)生年齡值應(yīng)在1625歲之間。歲之間。 在關(guān)系在關(guān)系SC中插入元組時,其中插入元組時,其SNO值和值和CNO值必須分別在值必須分別在S和和C中出現(xiàn)。中出現(xiàn)。 在關(guān)系在關(guān)系C中刪除一個元組時,首先要把關(guān)系中刪除一個元組時,首先要把關(guān)系SC中具有同樣中具有同樣CNO值的元組值的元組全部刪去。全部刪去。 在關(guān)系在關(guān)系S中把某個中把某個SNO值修改為新值時,必須同時把關(guān)系值修改為新值時,必須同時
27、把關(guān)系SC中那些同樣中那些同樣的的SNO值也修改為新值。值也修改為新值。 解:這里每個約束用一種方式定義。解:這里每個約束用一種方式定義。(1)用檢查子句定義:)用檢查子句定義:CHECK(AGE BETWEEN 16 AND 25););(2)在關(guān)系)在關(guān)系SC的定義中,用外鍵子句定義:的定義中,用外鍵子句定義:FOREIGN KEY(SNO) REFERENCES S(SNO););FOREIGN KEY(CNO) REFERENCES C(CNO););(3)在關(guān)系)在關(guān)系SC的定義中,用外鍵子句定義:的定義中,用外鍵子句定義:FOREIGN KEY(CNO) REFERENCES C(
28、CNO)ON DELETE CASCADE;(4)在關(guān)系)在關(guān)系SC的定義中,用外鍵子句定義:的定義中,用外鍵子句定義:FOREIGN KEY(SNO) REFERENCES S(SNO)ON UPDATE CASCADE;8.20 在教學(xué)數(shù)據(jù)庫中的關(guān)系在教學(xué)數(shù)據(jù)庫中的關(guān)系S、SC、C中,試用中,試用SQL的斷言的斷言機制定義下列兩個完整性約束:機制定義下列兩個完整性約束: 每位教師開設(shè)的課程不能超過每位教師開設(shè)的課程不能超過10門。門。(2)不允許男同學(xué)選修不允許男同學(xué)選修WU老師的課程。老師的課程。(3)每門課程最多每門課程最多50名男同學(xué)選修名男同學(xué)選修(4)學(xué)生必須在選修學(xué)生必須在選修
29、Maths課后,才能選修其他課程。課后,才能選修其他課程。(5)每個男學(xué)生最多選修每個男學(xué)生最多選修20門課程。門課程。解:解: 每位教師開設(shè)的課程不能超過每位教師開設(shè)的課程不能超過10門。門。 CREATE ASSERTION ASSE5 CHECK (10=ALL(SELECT COUNT(CNO) FROM C GROUP BY TNAME) (2)不允許不允許男同學(xué)男同學(xué)選修選修WU老師的課程。老師的課程。 CREATE ASSERTION ASSE2 CHECK (NOT EXISTS ( SELECT * FROM SC WHERE CNO IN (SELECT CNO FROM
30、C WHERE TNAME=WU) AND SNO IN (SELECT SNO FROM S WHERE SEX=男男);(3)每門課程每門課程最多最多50名名男同學(xué)選修男同學(xué)選修. CREATE ASSERTION ASSE3 CHECK (50=ALL(SELECT COUNT(SC.SNO) FROM S, SC WHERE S.SNO=SC.SNO AND SEX= 男男 GROUP BY CNO);這樣就能很容易地寫出斷言:這樣就能很容易地寫出斷言:CREATE ASSERTION ASSE4 CHECK (NOT EXISTS( SELECT SNO FROM SC X WHER
31、E NOT EXISTS (SELECT * FROM SC Y, C WHERE Y.CNO=C.CNO AND Y.SNO=X.SNO AND CNAME= Maths); (4) 學(xué)生必須在選修學(xué)生必須在選修Maths課后,才能選修其他課程。課后,才能選修其他課程。 這個約束可用下列形式表達(dá):這個約束可用下列形式表達(dá): “不存在一個學(xué)生的選課,不存在一個學(xué)生的選課,這個學(xué)生這個學(xué)生沒學(xué)過沒學(xué)過Maths課課”。(5)每個男學(xué)生每個男學(xué)生最多選修最多選修20門門課程。課程。 CREATE ASSERTION ASSE5 CHECK (20=ALL(SELECT COUNT(CNO) FRO
32、M S, SC WHERE S.SNO=SC.SNO AND SEX= 男男 GROUP BY S.SNO);觸發(fā)器觸發(fā)器(SQL3): (教材(教材P.185-191)SQL Server 觸發(fā)器的使用觸發(fā)器的使用: 1 、教材舉例、教材舉例 (教材(教材P.298-300) 2、實驗要求:、實驗要求: (教材(教材P.304) SQL安全性機制:安全性機制: 授權(quán)語句、回收語句的使用授權(quán)語句、回收語句的使用- 教材教材P.193: 例例8.15 例例8.16 第第9章章 分布式數(shù)據(jù)庫系統(tǒng)分布式數(shù)據(jù)庫系統(tǒng) 本章重要概念本章重要概念:分布式數(shù)據(jù)庫分布式數(shù)據(jù)庫DDB、DDBS、DDBMS 的定義
33、;的定義;分布式數(shù)據(jù)庫系統(tǒng)的特點、優(yōu)缺點和分類;分布式數(shù)據(jù)庫系統(tǒng)的特點、優(yōu)缺點和分類;分布式數(shù)據(jù)庫的數(shù)據(jù)存儲;分布式數(shù)據(jù)庫的數(shù)據(jù)存儲;分布式數(shù)據(jù)庫的模式結(jié)構(gòu)和特點。分布式數(shù)據(jù)庫的模式結(jié)構(gòu)和特點。 分布式系統(tǒng)分布式系統(tǒng) :通過通信網(wǎng)絡(luò)相連接的結(jié)點(場地)集合,通過通信網(wǎng)絡(luò)相連接的結(jié)點(場地)集合,每個結(jié)點都擁有集中式數(shù)據(jù)庫的計算機系統(tǒng)。每個結(jié)點都擁有集中式數(shù)據(jù)庫的計算機系統(tǒng)。 場地場地1 1:場地場地2 2:通信網(wǎng)絡(luò)DB2計算機2 T1 T2 T3DB1計算機1 T1 T2 T3DB3計算機3 T1 T2 T3場地場地1 1場地場地3 3場地場地2 2局部內(nèi)部級局部內(nèi)部級局部概念級局部概念級集中
34、式數(shù)據(jù)庫原有部分集中式數(shù)據(jù)庫原有部分局部概念模式局部內(nèi)模式局部概念模式局部概念模式局部內(nèi)模式局部內(nèi)模式局部數(shù)據(jù)庫局部數(shù)據(jù)庫局部數(shù)據(jù)庫映象映象5全局外部級全局外部級全局概念級全局概念級分片級分片級分配級分配級映象映象4全局外模式全局外模式全局概念模式分片模式分片模式分片模式分配模式分配模式分配模式映象映象1映象映象2映象映象3分分布布式式數(shù)數(shù)據(jù)據(jù)庫庫增增加加部部分分例例:全局關(guān)系全局關(guān)系R R的分片與分配情況:的分片與分配情況:R R劃分成四個邏輯片段:劃分成四個邏輯片段:R1,R2,R3,R4,R1,R2,R3,R4,并以并以冗余方式將這些片段分配到網(wǎng)絡(luò)的三個場地上生成了三個物理映象:冗余方式
35、將這些片段分配到網(wǎng)絡(luò)的三個場地上生成了三個物理映象:S1,S2,S3S1,S2,S3。R1R2R3R4RR11R21S1(場地(場地1)R12R22S2(場地(場地2)R23R33R43S3(場地(場地3)全局關(guān)系全局關(guān)系邏輯片段邏輯片段物理映象物理映象全局外模式全局外模式全局概念模式全局概念模式分片模式分片模式分配模式分配模式局部概念模式局部概念模式局部內(nèi)模式局部內(nèi)模式映象映象1: (邏輯數(shù)據(jù)獨立性)(邏輯數(shù)據(jù)獨立性)映象映象2: 分片透明性分片透明性映象映象3: 位置透明性位置透明性映象映象4: 局部數(shù)據(jù)模型透明性局部數(shù)據(jù)模型透明性映象映象5: (物理數(shù)據(jù)獨立性)(物理數(shù)據(jù)獨立性) 用戶用
36、戶( (全局應(yīng)用全局應(yīng)用) ) 數(shù)據(jù)庫數(shù)據(jù)庫 分布式分布式DBDB增加的結(jié)構(gòu)增加的結(jié)構(gòu) 集中式集中式DBDB原有的結(jié)構(gòu)原有的結(jié)構(gòu) 分分布布透透明明性性DDBDDB中的映象和數(shù)據(jù)獨立性中的映象和數(shù)據(jù)獨立性: :第第10章章 對象數(shù)據(jù)庫系統(tǒng)對象數(shù)據(jù)庫系統(tǒng) 一、本章重要概念一、本章重要概念(1)新一代)新一代DBS的兩條途徑:的兩條途徑:ORDBS和和OODBS。(2)平面關(guān)系模型,嵌套關(guān)系模型,復(fù)合對象模型,引用類型,)平面關(guān)系模型,嵌套關(guān)系模型,復(fù)合對象模型,引用類型, 對象聯(lián)系圖的成分及表示方法,數(shù)據(jù)的泛化對象聯(lián)系圖的成分及表示方法,數(shù)據(jù)的泛化/細(xì)化,繼承性。細(xì)化,繼承性。(3)OO的數(shù)據(jù)類型
37、系統(tǒng)的數(shù)據(jù)類型系統(tǒng):基本類型,五種復(fù)合類型,引用類型。基本類型,五種復(fù)合類型,引用類型。(4)對象關(guān)系模型的定義,兩個級別的繼承性,引用類型的定)對象關(guān)系模型的定義,兩個級別的繼承性,引用類型的定 義,義,ORDB的查詢語言,路徑表達(dá)式,嵌套與解除嵌套。的查詢語言,路徑表達(dá)式,嵌套與解除嵌套。 二、本章的重點篇幅:二、本章的重點篇幅:(1)對象聯(lián)系圖,帶泛化邊的對象聯(lián)系圖)對象聯(lián)系圖,帶泛化邊的對象聯(lián)系圖。 (教材(教材P.219的圖的圖10.4,圖,圖10.5)(2)OO的類型系統(tǒng)。的類型系統(tǒng)。 (教材(教材P.220221)(3)ORDB的定義語言的定義語言。(教材教材P.222-226的
38、例的例10.5例例10.8)(4)ORDB的查詢語言的查詢語言。(教材教材P.226-228的例的例10.9例例10.17) 三、要求掌握三、要求掌握(1)基本概念、定義和方法;)基本概念、定義和方法;(2)根據(jù)用戶的需求)根據(jù)用戶的需求, 設(shè)計對象聯(lián)系圖;設(shè)計對象聯(lián)系圖;(3)根據(jù)已知的對象聯(lián)系圖)根據(jù)已知的對象聯(lián)系圖, 用用ORDB定義語言定義語言,設(shè)計數(shù)據(jù)庫;設(shè)計數(shù)據(jù)庫;(4)用)用ORDB的查詢語言的查詢語言, 表達(dá)用戶的需求;表達(dá)用戶的需求;(5)根據(jù)已知的)根據(jù)已知的ORDB定義定義, 畫對象聯(lián)系圖。畫對象聯(lián)系圖。10.6 10.6 圖圖10.110.1是有關(guān)教師(是有關(guān)教師(Fa
39、cultyFaculty)、系()、系(DepartmentDepartment)和系主任)和系主任(DirectorDirector)信息的對象聯(lián)系圖。)信息的對象聯(lián)系圖。(1 1)試用)試用ORDBORDB的定義語言,定義這個數(shù)據(jù)庫。的定義語言,定義這個數(shù)據(jù)庫。(2 2)試用)試用ORDBORDB的查詢語言,分別寫出下列查詢的的查詢語言,分別寫出下列查詢的SELECTSELECT語句:語句: 檢索精通俄語(檢索精通俄語(RussianRussian)的教師工號和姓名。)的教師工號和姓名。 檢索復(fù)旦大學(xué)出訪過瑞士(檢索復(fù)旦大學(xué)出訪過瑞士(SwitzerlandSwitzerland)并且精通
40、日語)并且精通日語 (JapaneseJapanese)的系主任。)的系主任。 (大學(xué)名)(大學(xué)名) universityuniversity(系名)(系名)dnamednameworks_forworks_forstaffstaffdiredireDno(Dno(系主任編號系主任編號) )countriescountries(出訪過的國家)(出訪過的國家) Languages Languages(精通的外語)(精通的外語)fanemfanem(姓名)(姓名)fnofno(工號)(工號)DirectorDirectorDepartmentDepartmentFacultyFaculty解:(解
41、:(1)試用試用ORDBORDB的定義語言,定義這個數(shù)據(jù)庫的定義語言,定義這個數(shù)據(jù)庫: : CREATE TYPE MyString char varying; CREATE TABLE department(university MyString, dname MyString, staff setof(ref(faculty), dire ref(director); CREATE TABLE faculty(fno integer, fname MyString, languages setof(MyString), countries setof(MyString), works_fo
42、r ref(department); CREATE TABLE director(dno integer) Under faculty;(2 2)試用)試用ORDBORDB的查詢語言,分別寫出下列查詢的的查詢語言,分別寫出下列查詢的SELECTSELECT語句:語句: 檢索精通俄語(檢索精通俄語(RussianRussian)的教師工號和姓名。)的教師工號和姓名。 SELECT fno, fname FROM faculty WHERE Russian in languages; 檢索復(fù)旦大學(xué)出訪過瑞士(檢索復(fù)旦大學(xué)出訪過瑞士(SwitzerlandSwitzerland)并且精通日語)并且精
43、通日語 (JapaneseJapanese)的系主任。)的系主任。 SELECT D.dno, D.fnameFROM director as DWHERE D.works_for.university=Fudan University AND Switzerland in D.countries AND Japanese in D.languages;10.8 10.8 下圖是有關(guān)學(xué)生(下圖是有關(guān)學(xué)生(studentstudent)和學(xué)習(xí)()和學(xué)習(xí)(studystudy)信息的對象聯(lián)系圖。)信息的對象聯(lián)系圖。 (1 1)試解釋這個對象聯(lián)系圖。)試解釋這個對象聯(lián)系圖。(2 2)試用)試用ORD
44、BORDB的定義語言,定義這個數(shù)據(jù)庫。的定義語言,定義這個數(shù)據(jù)庫。(3 3)試用)試用ORDBORDB的查詢語言,分別寫出下列查詢的的查詢語言,分別寫出下列查詢的SELECTSELECT語句:語句: 檢索每個學(xué)生的學(xué)習(xí)課程和成績。檢索每個學(xué)生的學(xué)習(xí)課程和成績。 檢索至少有一門課程的求學(xué)地與籍貫在同一城市的學(xué)生學(xué)號和姓名。檢索至少有一門課程的求學(xué)地與籍貫在同一城市的學(xué)生學(xué)號和姓名。studystudystudentstudent (課程名)(課程名) coursenamecoursename(成績)(成績)gradegrade(求學(xué)地)(求學(xué)地)citycity(大學(xué))(大學(xué))universit
45、yuniversitystudiesstudiesstudentstudentcitycity(籍貫)(籍貫)snamesname(姓名)(姓名)snosno(身份證號)(身份證號)解:(解:(1 1)試解釋這個對象聯(lián)系圖試解釋這個對象聯(lián)系圖: : * 對象對象studentstudent包含:包含: 身份證號、姓名、籍貫和學(xué)習(xí)(身份證號、姓名、籍貫和學(xué)習(xí)(studiesstudies)等屬性)等屬性; * 對象對象studystudy包含:包含: 課程名、成績、求學(xué)地、大學(xué)以及學(xué)生(課程名、成績、求學(xué)地、大學(xué)以及學(xué)生(studentstudent)等屬性。)等屬性。 * 對象對象studen
46、tstudent和和studystudy之間的聯(lián)系為之間的聯(lián)系為1:N1:N。 (2 2)試用試用ORDBORDB的定義語言,定義這個數(shù)據(jù)庫的定義語言,定義這個數(shù)據(jù)庫 CREATE TYPE MyString char varying;CREATE TYPE MyString char varying; CREATE TABLE student(sno integer,CREATE TABLE student(sno integer, sname MyString, sname MyString, city MyString, city MyString, studies setoff(ref
47、(study); studies setoff(ref(study); CREATE TABLE study(coursename MyString, CREATE TABLE study(coursename MyString, grade integer, grade integer, city MyString, city MyString, university MyString, university MyString, student ref(student); student ref(student); (3 3)試用)試用ORDBORDB的查詢語言,分別寫出下列查詢:的查詢語言
48、,分別寫出下列查詢: 檢索每個學(xué)生的學(xué)習(xí)課程和成績。檢索每個學(xué)生的學(xué)習(xí)課程和成績。 SELECT A.sname, B.coursename, B.gradeSELECT A.sname, B.coursename, B.grade FROM student as A, A.studies as B; FROM student as A, A.studies as B; 檢索至少有一門課程的求學(xué)地與籍貫在同一城市的檢索至少有一門課程的求學(xué)地與籍貫在同一城市的 學(xué)生學(xué)號和姓名。學(xué)生學(xué)號和姓名。 SELECT A.sno, A.snameSELECT A.sno, A.sname FROM stu
49、dent as A, A.student as B FROM student as A, A.student as B WHERE A.city=B.city; WHERE A.city=B.city;第第11章章 面向?qū)ο髷?shù)據(jù)庫面向?qū)ο髷?shù)據(jù)庫本章概念本章概念:OODB與與ORDB的比較的比較使用使用UML類圖來概念對象建模類圖來概念對象建模 用類圖表達(dá)類和關(guān)聯(lián):用類圖表達(dá)類和關(guān)聯(lián): 類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類和類間的聯(lián)系。類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),包括類和類間的聯(lián)系。 類圖與類圖與ERER圖、對象聯(lián)系圖有很多類似的地方,但所用的術(shù)語和符號有所不同。圖、對象聯(lián)系圖有很多類似的地方,但所用的術(shù)語和符號有所不同。 類圖
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色能源儲藏系統(tǒng)采購合同4篇
- 二零二五年度美容院美容院連鎖經(jīng)營管理股份合作合同3篇
- 二零二五版綠色建筑暖通系統(tǒng)性能評估合同4篇
- 2025年度建筑工地臨時宿舍租賃服務(wù)合同范本2篇
- 2025年度寧波市事業(yè)單位財務(wù)人員勞動合同4篇
- 二零二五年度養(yǎng)老服務(wù)業(yè)合作合同2篇
- 二零二五年度新能源產(chǎn)業(yè)過橋資金投資合同
- 2025年度個人家居裝修貸款合同模板(含材料費)3篇
- 2025年度太空探索與衛(wèi)星發(fā)射服務(wù)合同范本4篇
- 2025年度汽車銷售獎勵訂車協(xié)議及購車合同范本
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細(xì)目表四級
- 撂荒地整改協(xié)議書范本
- GB/T 20878-2024不銹鋼牌號及化學(xué)成分
- 診所負(fù)責(zé)人免責(zé)合同范本
- 2024患者十大安全目標(biāo)
- 印度與阿拉伯的數(shù)學(xué)
- 會陰切開傷口裂開的護理查房
- 實驗報告·測定雞蛋殼中碳酸鈣的質(zhì)量分?jǐn)?shù)
- 部編版小學(xué)語文五年級下冊集體備課教材分析主講
- 電氣設(shè)備建筑安裝施工圖集
- 《工程結(jié)構(gòu)抗震設(shè)計》課件 第10章-地下建筑抗震設(shè)計
評論
0/150
提交評論