河北工業(yè)大學(xué)數(shù)據(jù)庫(kù)重點(diǎn)知識(shí)_第1頁(yè)
河北工業(yè)大學(xué)數(shù)據(jù)庫(kù)重點(diǎn)知識(shí)_第2頁(yè)
河北工業(yè)大學(xué)數(shù)據(jù)庫(kù)重點(diǎn)知識(shí)_第3頁(yè)
河北工業(yè)大學(xué)數(shù)據(jù)庫(kù)重點(diǎn)知識(shí)_第4頁(yè)
河北工業(yè)大學(xué)數(shù)據(jù)庫(kù)重點(diǎn)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、增加了開(kāi)發(fā)DBMS 的難度第一章1 .數(shù)據(jù)(Data):是數(shù)據(jù)庫(kù)中存儲(chǔ)的基本對(duì)象數(shù)據(jù)庫(kù)(Database,簡(jiǎn)不DB):是長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)內(nèi)、有組織的、可共享的大量數(shù)據(jù)的集合。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS):位于用戶(hù)與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。是基礎(chǔ)軟件,是一個(gè)大型復(fù)雜的軟件系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DatabaseSystem,簡(jiǎn)稱(chēng)DBS):在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫(kù)后的系統(tǒng)構(gòu)成2 .數(shù)據(jù)模型的組成要素:數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)操作完整性約束條件3.最常用的數(shù)據(jù)模型:層次模型網(wǎng)狀模型關(guān)系模型4.1關(guān)系模型:關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式在用戶(hù)觀點(diǎn)下,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,它由行和列組成

2、。II關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu):關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表元組:表中的一行即為一個(gè)元組屬性:表中的一列即為一個(gè)屬性,給每一個(gè)屬性起一個(gè)名稱(chēng)即屬性名主碼:表中的某個(gè)屬性組,它可以唯一確定一個(gè)元組域:屬性的取值范圍。分量元組中的一個(gè)屬性值。W關(guān)系模式:對(duì)關(guān)系的描述關(guān)系名(屬性1,屬性2,,屬性n)學(xué)生(學(xué)號(hào),姓名,年齡,性別,系,年級(jí))關(guān)系必須是規(guī)范化的,滿(mǎn)足一定規(guī)范條件最基本的規(guī)范條件:關(guān)系的每一個(gè)分量必須是一個(gè)不可分的數(shù)據(jù)項(xiàng),IV關(guān)系數(shù)據(jù)模型的操縱與完整性約束數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系查詢(xún)、插入、刪除、更新數(shù)據(jù)操作是集合操作,操作對(duì)象和操作結(jié)果都是關(guān)系,即若干元組的集合

3、存取路徑對(duì)用戶(hù)隱蔽,用戶(hù)只要指出“干什么”,不必詳細(xì)說(shuō)明“怎么干”關(guān)系的完整性約束條件實(shí)體完整性參照完整性用戶(hù)定義的完整性V關(guān)系數(shù)據(jù)模型的優(yōu)缺點(diǎn)優(yōu)點(diǎn)建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上:集合代數(shù)。概念單一實(shí)體和各類(lèi)聯(lián)系都用關(guān)系來(lái)表示對(duì)數(shù)據(jù)的檢索結(jié)果也是關(guān)系關(guān)系模型的存取路徑對(duì)用戶(hù)透明具有更高的數(shù)據(jù)獨(dú)立性,更好的安全保密性簡(jiǎn)化了程序員的工作和數(shù)據(jù)庫(kù)開(kāi)發(fā)建立的工作缺點(diǎn)存取路徑對(duì)用戶(hù)透明導(dǎo)致查詢(xún)效率往往不如非關(guān)系數(shù)據(jù)模型為提高性能,必須對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行優(yōu)化定義關(guān)系模式關(guān)系模式可以形式化地表示為:5 .數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式結(jié)構(gòu):模式(也稱(chēng)邏輯模式)數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述所有用戶(hù)的公共數(shù)據(jù)視

4、圖,綜合了所有用戶(hù)的需求外模式(也稱(chēng)子模式或用戶(hù)模式)數(shù)據(jù)庫(kù)用戶(hù)(包括應(yīng)用程序員和最終用戶(hù))使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述數(shù)據(jù)庫(kù)用戶(hù)的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示內(nèi)模式(也稱(chēng)存儲(chǔ)模式)是數(shù)據(jù)物理結(jié)構(gòu)和存儲(chǔ)方式的描述是數(shù)據(jù)在數(shù)據(jù)庫(kù)內(nèi)部的表示方式6 .二級(jí)映像:外模式/模式映像:模式:描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu)外模式:描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)模式/內(nèi)模式映像:模式內(nèi)模式映象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系。7 .數(shù)據(jù)庫(kù)系統(tǒng)的組成:硬件平臺(tái)軟件:包括數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用程序數(shù)據(jù)庫(kù)人員:包括數(shù)據(jù)庫(kù)管理員、程序員和一般用戶(hù)第二章1 .關(guān)系模式的含義:關(guān)系模式是型,關(guān)系是

5、值,關(guān)系模式是對(duì)關(guān)系的描述R(U,D,DOM,F(xiàn))R關(guān)系名U組成該關(guān)系的屬性名集合D屬性組U中屬性所來(lái)自的域DOM屬性向域的映象集合F屬性間的數(shù)據(jù)依賴(lài)關(guān)系集合一般情況下,簡(jiǎn)寫(xiě)為R(U)2 .基本的關(guān)系操作:并(Union)設(shè)關(guān)系R和S具有相同的關(guān)系模式,R和S的并是由屬于R或?qū)儆赟的元組構(gòu)成的集合,記為RU&形式定義如下:RUat|tGRVtGS,t是元組變量,R和S的元數(shù)相同。兩個(gè)關(guān)系R和S若進(jìn)行并運(yùn)算,則它們必須是相容的:關(guān)系R和S必須是同元的,即它們的屬性數(shù)目必須相同。對(duì)i,R的第i個(gè)屬性的域必須和S的第i個(gè)屬性的域相同。交(intersection)定義所有同時(shí)出現(xiàn)在兩個(gè)關(guān)系中

6、的元組集合。RnS=r|rGRArGS交運(yùn)算可以通過(guò)差運(yùn)算來(lái)重寫(xiě):RnS=R(RS)R和S必須同類(lèi)型(屬性集相同、次序相同,但屬性名可以不同)3 .關(guān)系的三類(lèi)完整性約束的含義:實(shí)體完整性規(guī)則若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值例:SAP(SUPERVISO,RSPECIALIT,YPOSTGRADUATE)POSTGRADUAT:E主碼(假設(shè)研究生不會(huì)重名)不能取空值參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼

7、值用戶(hù)定義的完整性:針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿(mǎn)足的語(yǔ)義要求關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能4 .(53頁(yè))傳統(tǒng)的集合運(yùn)算:并,差,交,笛卡爾積差:R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成R-S=t|tRAtS笛卡爾積:嚴(yán)格地講應(yīng)該是廣義的笛卡爾積R: n目關(guān)系,k1個(gè)元組S: m目關(guān)系,k2個(gè)元組RXS列:(n+m)列元組的集合元組的前n列是關(guān)系R的一個(gè)元組后m列是關(guān)系S的一個(gè)元組行:k1xk2個(gè)元組RXS=trts|trRAtsSX二

8、)專(zhuān)門(mén)的關(guān)系運(yùn)算:自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組在結(jié)果中把重復(fù)的屬性列去掉自然連接的含義R和S具有相同的屬性組BRgS=trts|trGRAtsGSAtrB=tsB一般的連接操作是從行的角度進(jìn)行運(yùn)算。自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。第三章一種語(yǔ)法結(jié)構(gòu)提供多種使用方式語(yǔ)言簡(jiǎn)潔,易學(xué)易用的特點(diǎn):綜合統(tǒng)一高度非過(guò)程化面向集合的操作方式以同2.基本表的定義和刪除定義基本表CREATETABLETS(列名數(shù)據(jù)類(lèi)型列級(jí)完整性約束條件,列名數(shù)據(jù)類(lèi)型列級(jí)完整性約束條件刁,表級(jí)完整性約束條件);如果完整性約束條件涉及到該表的多個(gè)屬性列,則必須定

9、義在表級(jí)上,否則既可以定義在列級(jí)也可以定義在表級(jí)。刪除基本表DROPTABLE表名RESTRICT|CASCADE;RESTRICT刪除表是有限制的。欲刪除的基本表不能被其他表的約束所引用如果存在依賴(lài)該表的對(duì)象,則此表不能被刪除CASCADE刪除該表沒(méi)有限制。在刪除基本表的同時(shí),相關(guān)的依賴(lài)對(duì)象一起刪除3.索引的建立:建立索引的目的:加快查詢(xún)速度誰(shuí)可以建立索引DBA或表的屬主(即建立表的人)DBMS一般會(huì)自動(dòng)建立以下列上的索引PRIMARYKEYUNIQUE誰(shuí)維護(hù)索引DBMS自動(dòng)完成?使用索引DBMS自動(dòng)選擇是否使用索引以及使用哪些索引語(yǔ)句格式CREATEUNIQUECLUSTERINDEX名O

10、N表名(列名次序刁卜列名次序刁);例14為學(xué)生-課程數(shù)據(jù)庫(kù)中的Student,Course,SC三個(gè)表建立索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUEINDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoAS,CCnoDESC;)Student表按學(xué)號(hào)升序建唯一索引Course表按課程號(hào)升序建唯一索引SC表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引4.1插入數(shù)據(jù):兩種插入數(shù)據(jù)方式插入元組插入子查詢(xún)結(jié)果可以一次插入多個(gè)元組插入元組:語(yǔ)句格式INSERTINTOa名(屬性列1,屬性列2)VAL

11、UES(常量1,常量2)功能將新元組插入指定表中INTO子句屬性列的順序可與表定義中的順序不一致沒(méi)有指定屬性列指定部分屬性列VALUES?句提供的值必須與INTO子句匹配值的個(gè)數(shù)值的類(lèi)型例1將一個(gè)新學(xué)生元組(學(xué)號(hào):200215128;姓名:陳冬;性別:男;所在系:IS;年齡:18歲)插入到Student表中。INSERTINTOStudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('200215128,''陳冬','男','IS',18);例2將學(xué)生張成民的信息插入到Student表中。INSERTIN

12、TOStudentVALUES(200215126,張成民,男,18,'CS');插入子查詢(xún)結(jié)果語(yǔ)句格式INSERTINTO裱名(屬性列1,屬性列2)子查詢(xún);功能將子查詢(xún)結(jié)果插入指定表中INTO子句(與插入元組類(lèi)似)子查詢(xún)SELEC仔句目標(biāo)歹U必須與INTO子句匹配值的個(gè)數(shù)值的類(lèi)型例4對(duì)每一個(gè)系,求學(xué)生的平均年齡,并把結(jié)果存入數(shù)據(jù)庫(kù)。第一步:建表CREATETABLEDept_age(SdeptCHAR(15)/*系名*/Avg_ageSMALLINT;)/*學(xué)生平均年齡*/第二步:插入數(shù)據(jù)INSERTINTODept_age(Sdept,Avg_age)SELECTSdept

13、,AVG(Sage)FROMStudentGROUPBYSdep;tn修改數(shù)據(jù):語(yǔ)句格式UPDATE表名SET列名=表達(dá)式,列名=表達(dá)式刁WHERE條件;功能修改指定表中滿(mǎn)足WHERE子句條件的元組SET子句指定修改方式要修改的列修改后取值WHERE子句指定要修改的元組缺省表示要修改表中的所有元組三種修改方式1. 修改某一個(gè)元組的值2. 修改多個(gè)元組的值3. 帶子查詢(xún)的修改語(yǔ)句例5將學(xué)生200215121的年齡改為22歲UPDATEStudentSETSage=22WHERESno='200215121';例6將所有學(xué)生的年齡增加1歲UPDATEStudentSETSage=S

14、age+;1例7將計(jì)算機(jī)科學(xué)系全體學(xué)生的成績(jī)置零。UPDATESCSETGrade=0WHERE'CS'=(SELETESdeptFROMStudentWHERE=;m刪除數(shù)據(jù):語(yǔ)句格式DELETEFROM<表名>WHERE<條件>;功能刪除指定表中滿(mǎn)足WHERE子句條件的元組WHERE子句指定要?jiǎng)h除的元組缺省表示要?jiǎng)h除表中的全部元組,表的定義仍在字典中三種刪除方式1. 刪除某一個(gè)元組的值2. 刪除多個(gè)元組的值3. 帶子查詢(xún)的刪除語(yǔ)句例8刪除學(xué)號(hào)為200215128的學(xué)生記錄。DELETEFROMStudentWHERESno=200215128;

15、9;例9刪除所有的學(xué)生選課記錄。DELETEFROMSC;例10刪除計(jì)算機(jī)科學(xué)系所有學(xué)生的選課記錄。DELETEFROMSCWHERE'CS'=(SELETESdeptFROMStudentWHERE=;5.定義視圖:建立視圖例2建立信息系學(xué)生的視圖,并要求進(jìn)行修改和插入操作時(shí)仍需保證該視圖只有信息系的學(xué)生。CREATEVIEWIS_StudentASSELECTSn,oSname,SageFROMStudentWHERESdept='IS'WITHCHECKOPTIO;N對(duì)IS_Student視圖的更新操作:修改操作:自動(dòng)加上Sdept='IS'

16、;的條件刪除操作:自動(dòng)加上Sdept='IS'的條件插入操作:自動(dòng)檢查Sdept屬性值是否為'IS'如果不是,則拒絕該插入操作FROM Student ;如果沒(méi)有提供Sdept屬性值,則自動(dòng)定義Sdept為IS'基于多個(gè)基表的視圖分組視圖age, dept)Student 視圖的例3建立信息系選修了1號(hào)課程的學(xué)生視圖。CREATEVIEWIS_S1(S,noSname,Grade)ASSELECT,Sname,GradeFROMStudent,SCWHERESdept='IS'AND=AND='1';基于視圖的視圖例4建立

17、信息系選修了1號(hào)課程且成績(jī)?cè)?0分以上的學(xué)生的視圖。CREATEVIEWIS_S2ASSELECTSn,oSname,GradeFROMIS_S1WHEREGrade=90;帶表達(dá)式的視圖例5定義一個(gè)反映學(xué)生出生年份的視圖。CREATEVIEWBT_S(Sno,Sname,Sbirth)AS例6將學(xué)生的學(xué)號(hào)及他的平均成績(jī)定義為一個(gè)視圖假設(shè)SC表中“成績(jī)”列Grade為數(shù)字型CREATVIEWS_G(Sno,Gavg)ASSELECTSn,oAVG(Grade)FROMSCGROUPBYSno不指定屬性列例7將Student表中所有女生記錄定義為一個(gè)視圖CREATEVIEWF_Student(F

18、_Sn,oname,sex,ASSELECT*FROMStudentWHERESsex='女';缺點(diǎn):修改基表Student的結(jié)構(gòu)后,Student表與F映象關(guān)系被破壞,導(dǎo)致該視圖不能正確工作。刪除視圖語(yǔ)句的格式:DROPVIEW視圖名;該語(yǔ)句從數(shù)據(jù)字典中刪除指定的視圖定義SELECTSn,oSname,2000-Sage如果該視圖上還導(dǎo)出了其他視圖,使用CASCADED聯(lián)刪除語(yǔ)句,把該視圖和由它導(dǎo)出的所有視圖一起刪除例14刪除信息系學(xué)生視圖IS_Student中學(xué)號(hào)為200215129的記錄刪除基表時(shí),由該基表導(dǎo)出的所有視圖定義都必須顯式地使用DROPVIEW語(yǔ)句刪除例8刪除

19、視圖BT_S:DROPVIEWBT_;S刪除視圖IS_S1:DROPVIEWIS_S;1拒絕執(zhí)行級(jí)聯(lián)刪除:DROPVIEWIS_S1CASCADE;6.更新視圖:例12將信息系學(xué)生視圖IS_Student中學(xué)號(hào)200215122的學(xué)生姓名改為“劉辰”。UPDATEIS_StudentSETSname='劉辰'WHERESno='200215122';轉(zhuǎn)換后的語(yǔ)句:UPDATEStudentSETSname=劉辰'WHERESno='200215122'ANDSdept='IS;'例13向信息系學(xué)生視圖IS_S中插入一個(gè)新的

20、學(xué)生記錄:200215129,趙新,20歲INSERTINTOIS_StudentVALUES(95029,趙新,20);轉(zhuǎn)換為對(duì)基本表的更新:INSERTINTOStudent(Sno,Sname,Sage,Sdept)VALUES(200215129','趙新',20,'IS');DELETEFROMIS_StudentWHERESno='200215129;'轉(zhuǎn)換為對(duì)基本表的更新:DELETEFROMStudentWHERESno='200215129'ANDSdept='IS;'更新視圖的限制:一些

21、視圖是不可更新的,因?yàn)閷?duì)這些視圖的更新不能唯一地有意義地轉(zhuǎn)換成對(duì)相應(yīng)基本表的更新例:視圖S_G為不可更新視圖。UPDATES_GSETGavg=90WHERESno=200215121;這個(gè)對(duì)視圖的更新無(wú)法轉(zhuǎn)換成對(duì)基本表SC的更新允許對(duì)行列子集視圖進(jìn)行更新對(duì)其他類(lèi)型視圖的更新不同系統(tǒng)有不同限制7.視圖的作用:視圖能夠簡(jiǎn)化用戶(hù)的操作:能夠?yàn)閺?fù)雜的查詢(xún)構(gòu)造視圖;能夠隱藏?cái)?shù)據(jù)的復(fù)雜性;而有效地簡(jiǎn)化查詢(xún)操作視圖使用戶(hù)能以多種角度看待同一數(shù)據(jù)視圖對(duì)重構(gòu)數(shù)據(jù)庫(kù)提供了一定程度的邏輯獨(dú)立性:通過(guò)構(gòu)造視圖,能夠在用戶(hù)和應(yīng)用程序與實(shí)際的基本表之間提供更好的數(shù)據(jù)獨(dú)立性.視圖能夠?qū)C(jī)密數(shù)據(jù)提供安全保護(hù):能夠?qū)?duì)數(shù)據(jù)庫(kù)

22、的訪(fǎng)問(wèn)限制在一定的范圍內(nèi);有利于數(shù)據(jù)的保密適當(dāng)?shù)睦靡晥D可以更清晰的表達(dá)查詢(xún)第四章若RG3NF,則每一個(gè)非主屬性既不部分依賴(lài)于碼也不傳遞依賴(lài)于5.具有無(wú)損連接性的模式分解計(jì)算機(jī)系統(tǒng)的三類(lèi)安全性問(wèn)題:技術(shù)安全類(lèi):采用一定安全的硬件、軟件來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的保護(hù)管理安全類(lèi):管理不善造成的問(wèn)題政策法律類(lèi):建立相關(guān)的法律。第六章1 .函數(shù)依賴(lài)的含義:設(shè)R(U層一個(gè)屬性集U上的關(guān)系模式,X和Y是U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱(chēng)“X函數(shù)確定Y”或“Y函數(shù)依賴(lài)于X”,記作X-Yo2 .范式:符合某一種級(jí)別的關(guān)系模式的集合:2NF的

23、定義若RG1NF,且每一個(gè)非主屬性完全函數(shù)依賴(lài)于碼,則RG2NF。例:S-L-C(Sno,Sdept,Sloc,Cno,Graded1NFS-L-C(Sno,Sdept,Sloc,Cno,Graded2NFSC(Sno,Cno,Grade)&2NFS-L(Sno,Sdept,Sloc)&2NF:關(guān)系模式R<U,F(xiàn)>中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X-Y,Y-Z成立,YfX,貝U稱(chēng)R<U,F>&3NF。碼?;颍喝鬜G3NF,則每一個(gè)非主屬性不傳遞依賴(lài)于碼。例:2NF關(guān)系模式S-L(Sno,Sdept,Slo/函數(shù)依賴(lài):Sno

24、fSdeptSdeptfSnoSdeptfSloc可得:Sn>Sloc,即S-L中存在非主屬性對(duì)碼的傳遞函數(shù)依賴(lài),S-L&3NF解決方法把S-L分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴(lài):S-D(Sno,Sdept)D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴(lài)S-D的碼為Sno,D-L的碼為SdeptSnofSdeptSdeptfSlocS-DD-LS-L(Sno,Sdept,Sloc)2NFS-L(Sno,Sdept,Sloc)3NFS-D(SnqSdept)&3NFD-L(Sdept,Sloc)

25、G3NF采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)3NF的關(guān)系,可以在一定程度上解決原2NF關(guān)系中存在的插入異常、刪除異常、函據(jù)冗余度大、修改復(fù)雜等問(wèn)題。將一個(gè)2NF關(guān)系分解為多個(gè)3NF的關(guān)系后,仍然不能完全消除關(guān)系模式中的各種異常情況和函據(jù)冗余。關(guān)系模式R<U,F>勺一個(gè)分解p=R1<U1,F1>,R2<U2,F2>,Rn<Un,Fn>若R與R1、R2、Rn自然連接的結(jié)果相等,則稱(chēng)關(guān)系模式R的這個(gè)分解p具有無(wú)損連接性。具有無(wú)損連接性的分解保證不丟失信息,無(wú)損連接性不一定能解決插入異常、刪除異常、修改復(fù)雜、數(shù)據(jù)冗余等問(wèn)題保持函數(shù)依賴(lài)的模式分解設(shè)關(guān)

26、系模式R<U,F瞰分解為若干個(gè)關(guān)系模式R1<U1,F1>R2<U2,F2>;,Rn<Un,Fn>(其中U=U1UU2U-UUn,且不存在UiUj,Fi為F在Ui上的投影),若F所邏輯蘊(yùn)含的函數(shù)依賴(lài)一定也由分解得到的某個(gè)關(guān)系模式中的函數(shù)依賴(lài)Fi所邏輯蘊(yùn)含,則稱(chēng)關(guān)系模式R的這個(gè)分解是保持函數(shù)依賴(lài)的如果一個(gè)分解具有無(wú)損連接性,則它能夠保證不丟失信息。如果一個(gè)分解保持了函數(shù)依賴(lài),則它可以減輕或解決各種異常情況。分解具有無(wú)損連接性和分解保持函數(shù)依賴(lài)是兩個(gè)互相獨(dú)立的標(biāo)準(zhǔn)。具有無(wú)損連接性的分解不一定能夠保持函數(shù)依賴(lài);同樣,保持函數(shù)依賴(lài)的分解也不一定具有無(wú)損連接性。第

27、七章1 .數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟一、數(shù)據(jù)庫(kù)設(shè)計(jì)的準(zhǔn)備工作:選定參加設(shè)計(jì)的人系統(tǒng)分析人員、數(shù)據(jù)庫(kù)設(shè)計(jì)人員自始至終參與數(shù)據(jù)庫(kù)設(shè)計(jì)用戶(hù)和數(shù)據(jù)庫(kù)管理員主要參加需求分析和數(shù)據(jù)庫(kù)的運(yùn)行維護(hù)應(yīng)用開(kāi)發(fā)人員(程序員和操作員)在系統(tǒng)實(shí)施階段參與進(jìn)來(lái),負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境二、數(shù)據(jù)庫(kù)設(shè)計(jì)的過(guò)程(六個(gè)階段)準(zhǔn)確了解與分析用戶(hù)需求(包括數(shù)據(jù)與處理)最困難、最耗費(fèi)時(shí)間的一步概念結(jié)構(gòu)設(shè)計(jì)階段整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵通過(guò)對(duì)用戶(hù)需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型邏輯結(jié)構(gòu)設(shè)計(jì)階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型對(duì)其進(jìn)行優(yōu)化數(shù)據(jù)庫(kù)物理設(shè)計(jì)階段為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包

28、括存儲(chǔ)結(jié)構(gòu)和存取方法)數(shù)據(jù)庫(kù)實(shí)施階段運(yùn)用DBMS提供的數(shù)據(jù)庫(kù)語(yǔ)言(如SQD及宿主語(yǔ)言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫(kù)編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫(kù)進(jìn)行試運(yùn)行數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)階段數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)經(jīng)過(guò)試運(yùn)行后即可投入正式運(yùn)行在數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)行過(guò)程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改2 .概念結(jié)構(gòu)設(shè)計(jì);概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)(1) 能真實(shí)、充分地反映現(xiàn)實(shí)世界(2) 易于理解(3) 易于更改(4) 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換描述概念模型的工具需求分析階段設(shè)計(jì)分E-R 圖的步驟:選擇局部應(yīng)用。在多層的數(shù)據(jù)流圖中選擇E-R模型一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計(jì)分E-R圖的出發(fā)點(diǎn)選修(學(xué)號(hào),課程

29、號(hào),成績(jī))(4)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼:通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)逐一設(shè)計(jì)分E-R圖。任務(wù):將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來(lái)參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識(shí)實(shí)體的碼確定實(shí)體之間的聯(lián)系及其類(lèi)型(1:1,1:n,m:n)3.E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問(wèn)題如何將實(shí)體和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式如何確定這些關(guān)系模式的屬性和碼轉(zhuǎn)換內(nèi)容將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。實(shí)體型間的聯(lián)系有以下不同情況:(1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)

30、系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并(2)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式與n端對(duì)應(yīng)的關(guān)系模式合并(3)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書(shū)號(hào)為關(guān)系的組合碼:講授(課程號(hào),職工號(hào),書(shū)號(hào))(5)具有相同碼的關(guān)系模式可合并目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后

31、去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序第九章查詢(xún)樹(shù)的啟發(fā)式優(yōu)化第十章1 .事務(wù)的基本概念:事務(wù)是用戶(hù)定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位事務(wù)的特性:原子性一致性隔離性持續(xù)性2 .數(shù)據(jù)庫(kù)恢復(fù)概述:故障是不可避免的計(jì)算機(jī)硬件故障系統(tǒng)軟件和應(yīng)用軟件的錯(cuò)誤操作員的失誤惡意的破壞故障的影響運(yùn)行事務(wù)非正常中斷到此事務(wù)的開(kāi)始標(biāo)記,事務(wù)故障恢復(fù)就完成了。破壞數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)故障的對(duì)策DBMS提供恢復(fù)子系統(tǒng)保證故障發(fā)生后,能把數(shù)據(jù)庫(kù)中的數(shù)據(jù)從錯(cuò)誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài)保證事務(wù)ACID恢復(fù)技術(shù)是衡量系統(tǒng)優(yōu)劣的重要指標(biāo)3 .故障的種類(lèi)

32、:事務(wù)故障系統(tǒng)故障介質(zhì)故障4 .恢復(fù)的實(shí)現(xiàn)技術(shù):如何建立冗余數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)儲(chǔ)登錄日志文件如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫(kù)恢復(fù)5 .恢復(fù)策略:事務(wù)故障的恢復(fù)事務(wù)故障:事務(wù)在運(yùn)行至正常終止點(diǎn)前被中止恢復(fù)方法由恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤消(UNDO)此事務(wù)已對(duì)數(shù)據(jù)庫(kù)進(jìn)行的修改事務(wù)故障的恢復(fù)由系統(tǒng)自動(dòng)完成,不需要用戶(hù)干預(yù)事務(wù)故障的恢復(fù)步驟反向掃描文件日志(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。對(duì)該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值"(BI)寫(xiě)入數(shù)據(jù)庫(kù)。插入操作,“更新前的值”為空,則相當(dāng)于做刪除操作刪除操作,“更新后的值”為空,則相當(dāng)于做插入操作若是修改操作,則用BI代替AI繼續(xù)反向掃描日志文件,查找系統(tǒng)故障的恢復(fù)系統(tǒng)故障造成數(shù)據(jù)庫(kù)不一致?tīng)顟B(tài)的原因一些未完成事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新已寫(xiě)入數(shù)據(jù)庫(kù)一些已提交事務(wù)對(duì)數(shù)據(jù)庫(kù)的更新還留在緩沖區(qū)沒(méi)來(lái)得及寫(xiě)入數(shù)據(jù)庫(kù)恢復(fù)方法Undo故障發(fā)生時(shí)未完成的事務(wù)Redo已完成的事務(wù)系統(tǒng)故障的恢復(fù)由系統(tǒng)在重新啟動(dòng)時(shí)自動(dòng)完成,不需要用戶(hù)干預(yù)系統(tǒng)故障的恢復(fù)步驟正向掃描日志文件(即從頭掃描日志文件)Re

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論