数据库系统概念总结:第八章 关系数据库设计
生活随笔
收集整理的這篇文章主要介紹了
数据库系统概念总结:第八章 关系数据库设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
周末無事水文章,期末備考的總結資料
第八章 關系數據庫設計
8.1 好的關系設計的特點
- 數據庫邏輯設計主要解決的問題:
–關系數據庫應該組織成幾個關系模式
–關系模式中有包括哪些屬性 - 從不良的設計模式到良好的設計模式的過程
- 不良的設計模式(各種異常)
A)數據冗余:看圖不解釋
B)插入異常:如果某個新學院沒有招生,尚無學生時,則學院名和院長的信息無法插入到數據庫中
C)刪除異常:如果某個學生因為中途休學,而停選了所有課程,則他的所有信息都會被刪除
D)更新異常:如果學生改名,則該學生的所有記錄都要逐一修改SN
8.2 原子域和第一范式
- 一個域是原子的(atomic),如果該域的元素被認為是不可分的單元。我們稱一個關系模式R屬于第一范式(First Normal Form,1NF)【關系中每一分量不可再分。即不能以集合、序列等作為屬性值】
8.3 使用函數依賴進行分解
8.3.1 碼和函數依賴(Functional Dependency)
- 關系模式中的各屬性之間相互依賴、相互制約的聯系稱為數據依賴
- 數據依賴一般分為函數依賴、多值依賴和連接依賴。其中,函數依賴是最重要的數據依賴
- 平凡/非平凡的函數依賴
- 完全函數依賴
- 傳遞函數依賴
8.4 函數依賴理論
8.4.1 函數依賴集的閉包
- 令F為一個函數依賴集。F的閉包是被F邏輯蘊含的所有函數依賴的集合,記作F+
- Armstrong公理系統
–三條規則
–簡化后的規則
–名詞英文解釋:自反律(reflexivity rule)、增補律(augmentation rule)、傳遞律(transitivity rule)、合并律(union rule)、分解律(decomposition)、偽傳遞律(pseudotransitivity rule)
8.4.2 屬性集的閉包
8.4.3 正則覆蓋
- 無關屬性(extraneous attribute)
- 正則覆蓋(canonical cover)
–函數依賴集的等價性:函數依賴集F,G,若F+ = G+,則稱F與G等價
–F的正則覆蓋Fc是與F等價的“最小”的依賴集,Fc滿足以下性質:
8.4.4 無損分解
- 定義
–具有無損連接性的分解保證不丟失信息;無損連接性不一定能解決插入異常、刪除異常、修改復雜、數據冗余等問題
·定理
8.4.5 保持依賴
- 定義
- 例子
8.5 分解算法
- 主屬性:候選碼中的屬性
- 非主屬性:不包含在任何一個候選碼中的屬性
- 范式
–定義:范式是對關系的不同數據依賴程度的要求
–類型
*1NF:關系中每一分量不可再分。即不能以集合、序列等作為屬性值
*2NF:每個非主屬性完全依賴于R的每一個候選關鍵字(消除非主屬性對碼的部分依賴)
*3NF:如果R的任何一個非主屬性都不傳遞依賴于它的任何一個侯選關鍵字,則稱R是第三范式,簡記為3NF(消除非主屬性對碼的傳遞依賴)
*BCNF:BC范式要求所有非平凡函數依賴都形如X→Y,其中X是一個超碼 - 關系
- 算法
–分解為BCNF(可能會丟失函數依賴)
–分解為3NF(無損)
總結
以上是生活随笔為你收集整理的数据库系统概念总结:第八章 关系数据库设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库系统概念总结:第七章 数据库设计和
- 下一篇: 数据库系统概念总结:第十一章 索引与散列