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