河北工業大學數據庫重點知識_第1頁
河北工業大學數據庫重點知識_第2頁
河北工業大學數據庫重點知識_第3頁
河北工業大學數據庫重點知識_第4頁
河北工業大學數據庫重點知識_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

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

2、。II關系數據模型的數據結構:關系:一個關系對應通常說的一張表元組:表中的一行即為一個元組屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名主碼:表中的某個屬性組,它可以唯一確定一個元組域:屬性的取值范圍。分量元組中的一個屬性值。W關系模式:對關系的描述關系名(屬性1,屬性2,,屬性n)學生(學號,姓名,年齡,性別,系,年級)關系必須是規范化的,滿足一定規范條件最基本的規范條件:關系的每一個分量必須是一個不可分的數據項,IV關系數據模型的操縱與完整性約束數據操作是集合操作,操作對象和操作結果都是關系查詢、插入、刪除、更新數據操作是集合操作,操作對象和操作結果都是關系,即若干元組的集合

3、存取路徑對用戶隱蔽,用戶只要指出“干什么”,不必詳細說明“怎么干”關系的完整性約束條件實體完整性參照完整性用戶定義的完整性V關系數據模型的優缺點優點建立在嚴格的數學概念的基礎上:集合代數。概念單一實體和各類聯系都用關系來表示對數據的檢索結果也是關系關系模型的存取路徑對用戶透明具有更高的數據獨立性,更好的安全保密性簡化了程序員的工作和數據庫開發建立的工作缺點存取路徑對用戶透明導致查詢效率往往不如非關系數據模型為提高性能,必須對用戶的查詢請求進行優化定義關系模式關系模式可以形式化地表示為:5 .數據庫系統的三級模式結構:模式(也稱邏輯模式)數據庫中全體數據的邏輯結構和特征的描述所有用戶的公共數據視

4、圖,綜合了所有用戶的需求外模式(也稱子模式或用戶模式)數據庫用戶(包括應用程序員和最終用戶)使用的局部數據的邏輯結構和特征的描述數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示內模式(也稱存儲模式)是數據物理結構和存儲方式的描述是數據在數據庫內部的表示方式6 .二級映像:外模式/模式映像:模式:描述的是數據的全局邏輯結構外模式:描述的是數據的局部邏輯結構模式/內模式映像:模式內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系。7 .數據庫系統的組成:硬件平臺軟件:包括數據庫管理系統應用程序數據庫人員:包括數據庫管理員、程序員和一般用戶第二章1 .關系模式的含義:關系模式是型,關系是

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19、視圖BT_S:DROPVIEWBT_;S刪除視圖IS_S1:DROPVIEWIS_S;1拒絕執行級聯刪除:DROPVIEWIS_S1CASCADE;6.更新視圖:例12將信息系學生視圖IS_Student中學號200215122的學生姓名改為“劉辰”。UPDATEIS_StudentSETSname='劉辰'WHERESno='200215122';轉換后的語句:UPDATEStudentSETSname=劉辰'WHERESno='200215122'ANDSdept='IS;'例13向信息系學生視圖IS_S中插入一個新的

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

21、視圖是不可更新的,因為對這些視圖的更新不能唯一地有意義地轉換成對相應基本表的更新例:視圖S_G為不可更新視圖。UPDATES_GSETGavg=90WHERESno=200215121;這個對視圖的更新無法轉換成對基本表SC的更新允許對行列子集視圖進行更新對其他類型視圖的更新不同系統有不同限制7.視圖的作用:視圖能夠簡化用戶的操作:能夠為復雜的查詢構造視圖;能夠隱藏數據的復雜性;而有效地簡化查詢操作視圖使用戶能以多種角度看待同一數據視圖對重構數據庫提供了一定程度的邏輯獨立性:通過構造視圖,能夠在用戶和應用程序與實際的基本表之間提供更好的數據獨立性.視圖能夠對機密數據提供安全保護:能夠將對數據庫

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

23、定義若RG1NF,且每一個非主屬性完全函數依賴于碼,則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:關系模式R<U,F>中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X-Y,Y-Z成立,YfX,貝U稱R<U,F>&3NF。碼。或:若RG3NF,則每一個非主屬性不傳遞依賴于碼。例:2NF關系模式S-L(Sno,Sdept,Slo/函數依賴:Sno

24、fSdeptSdeptfSnoSdeptfSloc可得:Sn>Sloc,即S-L中存在非主屬性對碼的傳遞函數依賴,S-L&3NF解決方法把S-L分解為兩個關系模式,以消除傳遞函數依賴:S-D(Sno,Sdept)D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關系模式S-D與D-L中不再存在傳遞依賴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采用投影分解法將一個2NF的關系分解為多個3NF的關系,可以在一定程度上解決原2NF關系中存在的插入異常、刪除異常、函據冗余度大、修改復雜等問題。將一個2NF關系分解為多個3NF的關系后,仍然不能完全消除關系模式中的各種異常情況和函據冗余。關系模式R<U,F>勺一個分解p=R1<U1,F1>,R2<U2,F2>,Rn<Un,Fn>若R與R1、R2、Rn自然連接的結果相等,則稱關系模式R的這個分解p具有無損連接性。具有無損連接性的分解保證不丟失信息,無損連接性不一定能解決插入異常、刪除異常、修改復雜、數據冗余等問題保持函數依賴的模式分解設關

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

27、七章1 .數據庫設計的基本步驟一、數據庫設計的準備工作:選定參加設計的人系統分析人員、數據庫設計人員自始至終參與數據庫設計用戶和數據庫管理員主要參加需求分析和數據庫的運行維護應用開發人員(程序員和操作員)在系統實施階段參與進來,負責編制程序和準備軟硬件環境二、數據庫設計的過程(六個階段)準確了解與分析用戶需求(包括數據與處理)最困難、最耗費時間的一步概念結構設計階段整個數據庫設計的關鍵通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型邏輯結構設計階段將概念結構轉換為某個DBMS所支持的數據模型對其進行優化數據庫物理設計階段為邏輯數據模型選取一個最適合應用環境的物理結構(包

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

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

30、系模式,也可以與任意一端對應的關系模式合并。轉換為一個獨立的關系模式與某一端實體對應的關系模式合并(2)一個1:n聯系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。轉換為一個獨立的關系模式與n端對應的關系模式合并(3)一個m:n聯系轉換為一個關系模式。例,“選修”聯系是一個m:n聯系,可以將它轉換為如下關系聯系轉換為一個關系模式。例,“講授”聯系是一個三元聯系,可以將它轉換為如下關系模式,其中課程號、職工號和書號為關系的組合碼:講授(課程號,職工號,書號)(5)具有相同碼的關系模式可合并目的:減少系統中的關系個數合并方法:將其中一個關系模式的全部屬性加入到另一個關系模式中,然后

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

32、:事務故障系統故障介質故障4 .恢復的實現技術:如何建立冗余數據數據轉儲登錄日志文件如何利用這些冗余數據實施數據庫恢復5 .恢復策略:事務故障的恢復事務故障:事務在運行至正常終止點前被中止恢復方法由恢復子系統應利用日志文件撤消(UNDO)此事務已對數據庫進行的修改事務故障的恢復由系統自動完成,不需要用戶干預事務故障的恢復步驟反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新操作。對該事務的更新操作執行逆操作。即將日志記錄中“更新前的值"(BI)寫入數據庫。插入操作,“更新前的值”為空,則相當于做刪除操作刪除操作,“更新后的值”為空,則相當于做插入操作若是修改操作,則用BI代替AI繼續反向掃描日志文件,查找系統故障的恢復系統故障造成數據庫不一致狀態的原因一些未完成事務對數據庫的更新已寫入數據庫一些已提交事務對數據庫的更新還留在緩沖區沒來得及寫入數據庫恢復方法Undo故障發生時未完成的事務Redo已完成的事務系統故障的恢復由系統在重新啟動時自動完成,不需要用戶干預系統故障的恢復步驟正向掃描日志文件(即從頭掃描日志文件)Re

溫馨提示

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

評論

0/150

提交評論