4、 改進的第三范式:
(1) 定義:如果關(guān)系模式R是1NF,且每個屬性既不相存在部分函數(shù)依賴也不存在傳遞函數(shù)依賴于候選碼,則稱R是改進的第三范式(BCNF)。
5、 多值依賴與4NF:
(1) 多值依賴:表示關(guān)系中屬性(如A、B、C)之間的依賴,對于A的每個值,都存在一個B或C的值的集合,而且B和C的值相互獨立,記為:AààB、AààC。
(2) 第四范式:如果關(guān)系模式R屬于1NF,對于R的每個非平凡的多值依賴XàY(Y不屬于X),X含有候選碼,則R是第四范式。即是從BCNF范式中消除主碼內(nèi)的獨立依賴集(非平凡多值依賴)可達(dá)4NF。
6、 連接依賴與5NF:
(1) 連鎖依賴:設(shè)關(guān)系模式R,R的屬性子集為R1、R2、R3、R4、R5、R6、R7…,當(dāng)且僅當(dāng)R的每個合法值等于R1、R2、R3、R4、R5、R6、R7…的投影連接時,稱R滿足連接依賴。
(2) 第五范式:設(shè)R是一個滿足5NF的關(guān)系模式,當(dāng)且僅當(dāng)R的每一個非平凡連接依賴都被R的候選碼所蘊含,即從4NF中消除非候選碼所蘊含的連接依賴為5NF。
7、 總結(jié):
(1) 范式表達(dá)了關(guān)系模式滿足的條件,也是衡量關(guān)系模式設(shè)計優(yōu)劣的標(biāo)準(zhǔn)。
(2) 利用范式進行規(guī)范化設(shè)計的目的是消除數(shù)據(jù)冗余,避免出現(xiàn)異常,使結(jié)構(gòu)更合理。
(3) 規(guī)范化設(shè)計的基本過程是對關(guān)系進行的分解,消除屬性間不合理的數(shù)據(jù)依賴,用一組等價的子關(guān)系代替原有的關(guān)系。
(4) 數(shù)據(jù)庫規(guī)范化的程序越高,其關(guān)系表就越多,從而增加了表之間連接運算的代價,影響了數(shù)據(jù)庫的執(zhí)行速度和性能。所以通常關(guān)系模式規(guī)范化工作僅做到3NF,這樣既使關(guān)系中不合理的屬性基本消除,規(guī)范化程度也不太高,保證數(shù)據(jù)庫有較好的性能。
5.4 數(shù)據(jù)庫模式設(shè)計
5.4.1 初始關(guān)系模式的設(shè)計
1、 把ER圖轉(zhuǎn)換成關(guān)系模式:
(1) 把ER模型中的每個實體集轉(zhuǎn)換成一個同名的關(guān)系,實體集的屬性就是關(guān)系的屬性,實體集的碼就是關(guān)系的碼。
(2) 把ER模型中的每個聯(lián)系轉(zhuǎn)換成一個關(guān)系,與該聯(lián)系相連的各實體集的碼以及聯(lián)系的屬性轉(zhuǎn)換成為關(guān)系的屬性。
(A) 若聯(lián)系為1:1,則每個實體集的碼均是該關(guān)系的候選碼。
(B) 若聯(lián)系為1:n,則關(guān)系的碼為n端實體集的碼。
(C) 若聯(lián)系為m:n,則關(guān)系的碼為各實體集碼的組合。
(3) 合并具有相同碼的關(guān)系
2、 檢查確認(rèn)對象:檢查轉(zhuǎn)換后的每個關(guān)系名和屬性名是否符合數(shù)據(jù)庫設(shè)計關(guān)于統(tǒng)一命名的約定。
5.4.2 優(yōu)化關(guān)系模式
1、 模式分解原則:
(1) 分解具有無損連接性:分解后的關(guān)系能夠恢復(fù)成原來的關(guān)系。
(2) 分解保持函數(shù)依賴:
(A) 無損連接和保持函數(shù)依賴是用于衡量一個模式分解是否導(dǎo)致原有模式中部分信息丟失的兩個標(biāo)準(zhǔn)。
(B) 當(dāng)一個關(guān)系被分解后會出現(xiàn)幾種結(jié)果,既有無損連接,又能保持函數(shù)依賴是較理想的分解結(jié)果,意味著在分解的過程中沒有丟失原有模式的任何信息。
(C) 一般情況下,分解到3NF就足夠了,但在3NF關(guān)系下,仍存在一定程度上的更新異常或不一致的隱患,但與數(shù)據(jù)庫性能比較起來是可以忽略的,因為在數(shù)據(jù)庫設(shè)計過程中通過增加一些數(shù)據(jù)約束,就可以解決3NF引起的數(shù)據(jù)問題了。
3、 優(yōu)化屬性:確定各字段的類型和長度。
4、 確認(rèn)模式滿足需要。
5.4.3 數(shù)據(jù)完整性設(shè)計
1、 指定義數(shù)據(jù)庫中存儲的數(shù)據(jù)值滿足的約束條件,通過對存儲的數(shù)據(jù)值的約束維護關(guān)系的完整性。
2、 數(shù)據(jù)值滿足條件分為:
(1) 域約束:限制指定列的取值及范圍。
(2) 主碼約束:定義每個關(guān)系的主碼值不空,且惟一。
(3) 引用完整性約束:定義不同模式的屬性間滿足的條件,及一個關(guān)系模式中屬性間可能滿足的條件。
5.4.4 安全模式和外模式的設(shè)計
1、 根據(jù)選定的DBMS支持的安全控制特征來確定。
2、 根據(jù)不同用戶對數(shù)據(jù)庫存取特點定義相關(guān)的外模式。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |