5.4 數(shù)據(jù)庫(kù)模式設(shè)計(jì)
5.4.1 初始關(guān)系模式的設(shè)計(jì)
1、 把ER圖轉(zhuǎn)換成關(guān)系模式:
(1) 把ER模型中的每個(gè)實(shí)體集轉(zhuǎn)換成一個(gè)同名的關(guān)系,實(shí)體集的屬性就是關(guān)系的屬性,實(shí)體集的碼就是關(guān)系的碼;
(2) 把ER模型中的每個(gè)聯(lián)系轉(zhuǎn)換成一個(gè)關(guān)系,與該聯(lián)系相連的各實(shí)體集的碼以及聯(lián)系的屬性轉(zhuǎn)換成為關(guān)系的屬性。
(A) 若聯(lián)系為1:1,則每個(gè)實(shí)體集的碼均是該關(guān)系的候選碼;
(B) 若聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體集的碼;
(C) 若聯(lián)系為m:n,則關(guān)系的碼為各實(shí)體集碼的組合;
(3) 合并具有相同碼的關(guān)系
2、 檢查確認(rèn)對(duì)象:檢查轉(zhuǎn)換后的每個(gè)關(guān)系名和屬性名是否符合數(shù)據(jù)庫(kù)設(shè)計(jì)關(guān)于統(tǒng)一命名的約定;
5.4.2 優(yōu)化關(guān)系模式
1、 模式分解原則:
(1) 分解具有無(wú)損連接性:分解后的關(guān)系能夠恢復(fù)成原來(lái)的關(guān)系;
(2) 分解保持函數(shù)依賴:
(A) 無(wú)損連接和保持函數(shù)依賴是用于衡量一個(gè)模式分解是否導(dǎo)致原有模式中部分信息丟失的兩個(gè)標(biāo)準(zhǔn);
(B) 當(dāng)一個(gè)關(guān)系被分解后會(huì)出現(xiàn)幾種結(jié)果,既有無(wú)損連接,又能保持函數(shù)依賴是較理想的分解結(jié)果,意味著在分解的過程中沒有丟失原有模式的任何信息;
(C) 一般情況下,分解到3NF就足夠了,但在3NF關(guān)系下,仍存在一定程度上的更新異;虿灰恢碌碾[患,但與數(shù)據(jù)庫(kù)性能比較起來(lái)是可以忽略的,因?yàn)樵跀?shù)據(jù)庫(kù)設(shè)計(jì)過程中通過增加一些數(shù)據(jù)約束,就可以解決3NF引起的數(shù)據(jù)問題了。
3、 優(yōu)化屬性:確定各字段的類型和長(zhǎng)度;
4、 確認(rèn)模式滿足需要:
5.4.3 數(shù)據(jù)完整性設(shè)計(jì)
1、 指定義數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)值滿足的約束條件,通過對(duì)存儲(chǔ)的數(shù)據(jù)值的約束維護(hù)關(guān)系的完整性。
2、 數(shù)據(jù)值滿足條件分為:
(1) 域約束:限制指定列的取值及范圍;
(2) 主碼約束:定義每個(gè)關(guān)系的主碼值不空,且惟一;
(3) 引用完整性約束:定義不同模式的屬性間滿足的條件,及一個(gè)關(guān)系模式中屬性間可能滿足的條件;
5.4.4 安全模式和外模式的設(shè)計(jì)
1、 根據(jù)選定的DBMS支持的安全控制特征來(lái)確定;
2、 根據(jù)不同用戶對(duì)數(shù)據(jù)庫(kù)存取特點(diǎn)定義相關(guān)的外模式;
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |