目錄
第一章 數(shù)據(jù)庫系統(tǒng)概述
第二章 關(guān)系代數(shù)
第四章 關(guān)系數(shù)據(jù)庫理論
第五章 數(shù)據(jù)庫設計
第六章 數(shù)據(jù)庫管理系統(tǒng)
第八章 事務管理
第一章 數(shù)據(jù)庫系統(tǒng)概述
1.1三級模式
①外模式:它為特定的應用程序或用戶群體提供了一個數(shù)據(jù)視圖,這個視圖是獨立于數(shù)據(jù)庫其他用戶的。
②概念模式:由數(shù)據(jù)庫管理員使用SQL語句(DDL)來定義的表,供數(shù)據(jù)庫管理員使用。
③內(nèi)模式:數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的物理結(jié)構(gòu)和存儲方式,說明了數(shù)據(jù)如何在存儲介質(zhì)上存儲。
1.2 兩級映射
①外模式-概念模式的映射:當概念模式(表)發(fā)生變化時,通過修改映射關(guān)系(視圖-表),可以使得外模式保持不變,從而應用程序也不需要改變,體現(xiàn)了邏輯獨立性。
②概念模式-內(nèi)模式的映射:保證了物理獨立性,即數(shù)據(jù)庫的存儲結(jié)構(gòu)發(fā)生變化時,不會影響到應用程序。數(shù)據(jù)庫管理員可以在表結(jié)構(gòu)不變的情況下,修改內(nèi)模式。
第二章 關(guān)系代數(shù)
第四章 關(guān)系數(shù)據(jù)庫理論
4.1 如何求屬性集閉包?
依據(jù):根據(jù)公理系統(tǒng)的自反律(X決定自身的子集)、傳遞律(A--->B、B---->C可以得出A--->C)可以求解屬性集的閉包。
4.2如何求最小函數(shù)依賴集?
原則:右(右邊分解為單一屬性)、中(去本求包)、左(左邊最小化)
4.3 如何求候選碼?
①給定關(guān)系模式R (U, F)。將R的所有屬性分為L, R, LR和N四類。其中
L表示屬性只在函數(shù)依賴左邊出現(xiàn):
R表示屬性只在函數(shù)依賴右邊出現(xiàn);
LR表示屬性既在左邊出現(xiàn),又在右邊出現(xiàn);
N表示函數(shù)依賴左右都未出現(xiàn)。
②令X=L U N, Y=LR求X的閉包,若X的閉包包含了R表的所有屬性,則X為R的唯一候選碼,轉(zhuǎn)(5) 。
tip: 因為X已經(jīng)是R表的候選碼了,所以X再與Y中的每個屬性組合的閉包肯定也等于屬性全集U此時所求的候選碼就是超碼。屬于多余的,因此沒必要在求(XA)。
③Y中選取任意一個屬性A,求(XA)的閉包,若它包含了R的全部屬性,則是候選碼。調(diào)換屬性,反復進行這個過程,直到試完Y中的所有屬性。
④如果已找出所有的候選碼,轉(zhuǎn)(5) ,否則在Y中后面依次選取2個屬性,3個屬性,.... 求他們的閉包,若其閉包包含R的全部屬性, 則是候選碼。
⑤結(jié)束算法,輸出候選碼。
4.4 如何將關(guān)系模式分解成3NF范式?
步驟:
1、求F的最小函數(shù)依賴集,合并左邊相同的函數(shù)依賴(依據(jù)合并性)。
2、將最小函數(shù)依賴集中每個函數(shù)依賴組成一個表。
3、如果構(gòu)成的各表中沒有一個表中包含R的某個候選鍵,就選取R表中的一個后選鍵作為一張表放入模式集中(求最小依賴集F的候選碼)。
4.5 如何判斷表滿足第幾范式?
1NF范式: 表中每個單元格都是不能在分割的最小單元(橫平豎直)
2NF范式:表中不存在非主屬性(普通列)對候選碼的部分函數(shù)依賴,而是對候選碼的完全函數(shù)依賴。
3NF范式:表中不存在非主屬性列對候選碼的傳遞函數(shù)依賴(沒有中間屬性)。
BCNF范式:表中所有函數(shù)依賴都寫出來,如果函數(shù)依賴集各元素左邊都包含候選碼則此表滿足BCNF范式。
第五章 數(shù)據(jù)庫設計
5.1 E-R圖
5.2 E-R圖轉(zhuǎn)換為關(guān)系模式
總結(jié):
①一個實體對應一張表,表的屬性就是與實體相連的屬性。
②所有聯(lián)系都可以獨立作為一張表,其屬性由“兩端實體主碼+自身屬性”,主碼因聯(lián)系類型不同而異。
③1:1、1:n的聯(lián)系都能合并,合并后的表屬性由“加入到表的屬性+另端主碼+聯(lián)系自身屬性”。其合并后表的主碼為:加入到的實體表中的主碼。
- 1:1
聯(lián)系獨立作為一張表: 兩端相連實體主碼+聯(lián)系自身屬性。
??????????????????????????? 主碼:從兩端實體的主碼中任選一個作為關(guān)系表的主碼。
聯(lián)系與其他表合并:另端實體主碼+聯(lián)系自身屬性,放到要加入到的表中。
??????????????????????????? 主碼:加入表的主碼
- 1:N
聯(lián)系獨立:兩端相連實體的主碼+聯(lián)系自身屬性。
????????????? 主碼:N端主碼作為獨立表的主碼
聯(lián)系合并到N端表中:另端實體主碼+聯(lián)系自身屬性。
????????????? 主碼:加入表的主碼。即N端的主碼作為表的主碼
- N:M
聯(lián)系只能獨立單獨作為一張表,其表的屬性由“聯(lián)系兩端相連實體的主碼+聯(lián)系自身屬性”。其表的主碼為:兩端實體的主碼組合在一起共同作為聯(lián)系表的主碼。
第六章 數(shù)據(jù)庫管理系統(tǒng)
6.1 查詢優(yōu)化
基本原則:盡量減少查詢過程中的中間結(jié)果,從而以較少的時間和空間開銷取得所需的查詢結(jié)果。
優(yōu)化策略:
①盡可能先做選擇運算,允許的情況下在優(yōu)先執(zhí)行投影。
②將先笛卡爾積后選擇的查詢轉(zhuǎn)化為連接運算。
③把投影運算和選擇運算同時進行。
④讓投影運算與其前后的其它運算同時進行。
⑤在執(zhí)行連接前先對關(guān)系做適當?shù)念A處理,如:在連接屬性上建立索引。
第八章 事務管理
8.1 什么是事務
為了滿足特定的需求而由一系列數(shù)據(jù)庫操作的SQL語句組成的集合。這些SQL操作語句要么全部執(zhí)行成功,要么全部執(zhí)行失?。ㄎ⑿呸D(zhuǎn)賬)。
8.2 封鎖
所謂封鎖就是事務T在對數(shù)據(jù)對象操作之前如:表、記錄先對其進行加鎖。加鎖后事務T就會對數(shù)據(jù)對象有一定的控制,而在事務T釋放掉數(shù)據(jù)對象的鎖前不允許其它事務對數(shù)據(jù)對象進行操作了(類似Java中的文件鎖)。
①排它鎖:事務T在對數(shù)據(jù)對象加X鎖后,只有事務T可以對數(shù)據(jù)對象進行讀、寫。其它事務無法對數(shù)據(jù)對象在進行加鎖,也不能讀、寫此數(shù)據(jù)對象。文章來源:http://www.zghlxwxcb.cn/news/detail-806556.html
②共享鎖:事務T在對數(shù)據(jù)對象加S鎖后,不管是其本身還是其它事務都只能對數(shù)據(jù)對象只讀而無法寫入,其它事務可以在對數(shù)據(jù)對象加S鎖但不能加X鎖。文章來源地址http://www.zghlxwxcb.cn/news/detail-806556.html
到了這里,關(guān)于【期末考試】數(shù)據(jù)庫綜合復習寶典的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!