2017年計算機四級考試數據庫復習筆記:數據庫模式設計

字號:


    5.4 數據庫模式設計
    5.4.1 初始關系模式的設計
    1、 把ER圖轉換成關系模式:
    (1) 把ER模型中的每個實體集轉換成一個同名的關系,實體集的屬性就是關系的屬性,實體集的碼就是關系的碼;
    (2) 把ER模型中的每個聯系轉換成一個關系,與該聯系相連的各實體集的碼以及聯系的屬性轉換成為關系的屬性。
    (A) 若聯系為1:1,則每個實體集的碼均是該關系的候選碼;
    (B) 若聯系為1:n,則關系的碼為n端實體集的碼;
    (C) 若聯系為m:n,則關系的碼為各實體集碼的組合;
    (3) 合并具有相同碼的關系
    2、 檢查確認對象:檢查轉換后的每個關系名和屬性名是否符合數據庫設計關于統(tǒng)一命名的約定;
    5.4.2 優(yōu)化關系模式
    1、 模式分解原則:
    (1) 分解具有無損連接性:分解后的關系能夠恢復成原來的關系;
    (2) 分解保持函數依賴:
    (A) 無損連接和保持函數依賴是用于衡量一個模式分解是否導致原有模式中部分信息丟失的兩個標準;
    (B) 當一個關系被分解后會出現幾種結果,既有無損連接,又能保持函數依賴是較理想的分解結果,意味著在分解的過程中沒有丟失原有模式的任何信息;
    (C) 一般情況下,分解到3NF就足夠了,但在3NF關系下,仍存在一定程度上的更新異?;虿灰恢碌碾[患,但與數據庫性能比較起來是可以忽略的,因為在數據庫設計過程中通過增加一些數據約束,就可以解決3NF引起的數據問題了。
    3、 優(yōu)化屬性:確定各字段的類型和長度;
    4、 確認模式滿足需要:
    5.4.3 數據完整性設計
    1、 指定義數據庫中存儲的數據值滿足的約束條件,通過對存儲的數據值的約束維護關系的完整性。
    2、 數據值滿足條件分為:
    (1) 域約束:限制指定列的取值及范圍;
    (2) 主碼約束:定義每個關系的主碼值不空,且惟一;
    (3) 引用完整性約束:定義不同模式的屬性間滿足的條件,及一個關系模式中屬性間可能滿足的條件;
    5.4.4 安全模式和外模式的設計
    1、 根據選定的DBMS支持的安全控制特征來確定;
    2、 根據不同用戶對數據庫存取特點定義相關的外模式;