8、 確定關系的碼:
(1) 利用迭代算法計算X+,步驟如下:
(A) 選X作為閉包X+的初值X(0);
(B) 由X(i)計算X(i+1)時,它是由X(0)并上屬性集合A所組成,其中A滿足下列條件:Y(包含于)X(i),且F中存在函數(shù)依賴YàZ,而A(包含于)Z。因為U是有窮的,所以會得到X(i)=X(i+1),此時X(i)為所求的X+。
5.3.3 規(guī)范化設計方法
1、 第一范式:
(1) 定義:設關系模式R(F,U),如果R的每一個屬性都是不可分的數(shù)據(jù)項,則此關系模式為第一范式;
(2) 一個給定關系和第一范式(1NF)的區(qū)別:
(A) 一個關系中的數(shù)據(jù)按照行和列的形式組織,每個元組具有相同數(shù)目的屬性個數(shù),且每一個元組的屬性值具有統(tǒng)一的數(shù)據(jù)類型和長度;元組或屬性的排列與順序無關,每個元組必須通過一個屬性或屬性組惟一識別;
(B) 第一范式實際上對關系增加了一個約束,即關系中元組的每個屬性都只取一個值,第一范式是對關系模式的基本要求,不滿足第一范式的數(shù)據(jù)庫就不是關系數(shù)據(jù)庫。
2、 第二范式:
(1) 定義:若關系模式R(F,U)是1NF,且每個非主屬性完全函數(shù)依賴于碼,則稱R為第二范式,即在2NF中不存在非主屬性對碼的部分依賴;
(2) 僅滿足第一范式關系會存在種種問題,要消除必須用更高級的范式標準來設計,稱為標準化;
(3) 具體做法是將大的關系分解成多個小的關系,使分解后的關系滿足更高級范式的要求。
(4) 第二范式實際上對關系增加了一個約束,就是關系中的每一個屬性必須完全依賴于主碼,即在第一范式的基礎上,消除非主屬性對主碼的部分函數(shù)依賴可達到2NF;
3、 第三范式:
(1) 定義:若關系R(U,F(xiàn))為第一范式,且不存在非主屬性對主碼的傳遞函數(shù)依賴,則稱R為第三范式;
(2) 第三范式是在第二范式的基礎上對關系又增加了一個約束,就是關系中的每一個非主屬性必須只依賴于主碼。即2NF的基礎上,消除非主屬性對主碼的傳遞函數(shù)依賴可達到3NF。
4、 改進的第三范式:
(1) 定義:如果關系模式R是1NF,且每個屬性既不相存在部分函數(shù)依賴也不存在傳遞函數(shù)依賴于候選碼,則稱R是改進的第三范式(BCNF)。
5、 多值依賴與4NF:
(1) 多值依賴:表示關系中屬性(如A、B、C)之間的依賴,對于A的每個值,都存在一個B或C的值的集合,而且B和C的值相互獨立,記為:AààB、AààC
(2) 第四范式:如果關系模式R屬于1NF,對于R的每個非平凡的多值依賴XàY(Y不屬于X),X含有候選碼,則R是第四范式。即是從BCNF范式中消除主碼內的獨立依賴集(非平凡多值依賴)可達4NF;
6、 連接依賴與5NF
(1) 連鎖依賴:設關系模式R,R的屬性子集為R1、R2、R3、R4、R5、R6、R7….,當且僅當R的每個合法值等于R1、R2、R3、R4、R5、R6、R7…的投影連接時,稱R滿足連接依賴;
(2) 第五范式:設R是一個滿足5NF的關系模式,當且僅當R的每一個非平凡連接依賴都被R的候選碼所蘊含,即從4NF中消除非候選碼所蘊含的連接依賴為5NF;
7、 總結:
(1) 范式表達了關系模式滿足的條件,也是衡量關系模式設計優(yōu)劣的標準;
(2) 利用范式進行規(guī)范化設計的目的是消除數(shù)據(jù)冗余,避免出現(xiàn)異常,使結構更合理;
(3) 規(guī)范化設計的基本過程是對關系進行的分解,消除屬性間不合理的數(shù)據(jù)依賴,用一組等價的子關系代替原有的關系;
(4) 數(shù)據(jù)庫規(guī)范化的程序越高,其關系表就越多,從而增加了表之間連接運算的代價,影響了數(shù)據(jù)庫的執(zhí)行速度和性能。所以通常關系模式規(guī)范化工作僅做到3NF,這樣既使關系中不合理的屬性基本消除,規(guī)范化程度也不太高,保證數(shù)據(jù)庫有較好的性能。
相關推薦:2010年9月計算機等級考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |