1、資料冗余導致的問題:冗余存盤、更新例外、插入例外、洗掉例外,
2、函式依賴:一種完整性約束,
在關系模式r(R)中,α屬于R,β屬于R,
1)α函式確定β(β函式依賴于α):記作α→β,對于任意合法關系r及其中任兩個元組ti和tj,i≠j,若ti[α]=tj[α],則ti[β]=tj[β],
2)非平凡函式依賴和平凡函式依賴:若α→β,但β不屬于α,則稱α→β是非平凡函式依賴;否則,若β不屬于α,則稱α→β是平凡函式依賴,


非平凡函式依賴 平凡函式依賴
3)完全函式依賴和部分函式依賴:α→β是非平凡函式依賴,若對任意的γ含于α,γ→β都不成立,則稱α→β是完全函式依賴,簡稱完全依賴;否則,若存在非空的γ含于α,使γ→β成立,則稱α→β是部分函式依賴,簡稱部分依賴,

部分依賴α→β的依賴圖
4)傳遞函式依賴
γ屬于R,若α→β,β→γ,則必存在函式依賴α→γ,若α→β,β→γ和α→γ都是非平凡函式依賴,且β不依賴于α,則稱α→γ是傳遞函式依賴,簡稱傳遞依賴,

傳遞依賴α→γ的依賴圖
3、函式依賴集閉包
1)邏輯蘊涵:若給定函式依賴集F,可以證明其他函式依賴也成立,則稱這些函式依賴被F邏輯蘊涵,
2)閉包:令F為一函式依賴集,F邏輯蘊涵的所有函式依賴組成的集合稱為F的閉包,記為F+,
3)屬性集A的閉包:令r(R)為關系模式,F為屬性依賴集,A屬于R的屬性集,則稱在函式依賴集F下由A函式確定的所有屬性的集合為F下屬性集A的閉包,記為A+,
4)Armstrong公理及推論(可直接計算F+)
(1)自反律:若存在β屬于α,則有α→β,
(2)增補律:若存在α→β,則有γα→γβ,
(3)傳遞律:若存在α→β且β→γ,則有α→γ,
(4)合并律:若存在α→β且α→γ,則有α→βγ,
(5)分解律:若存在α→βγ,則有α→β和α→γ,
(6)偽傳遞律:若存在α→β且βγ→δ,則有αγ→δ,
4、范式(關系模式要滿足的條件)
1)目的:消除存盤例外、減少資料冗余、保證資料完整性和存盤效率,
2)基于函式依賴理論,范式的分類:
(1)第一范式(1NF)---碼
如果一關系模式r(R)的每個屬性對應的域值都是不可分的,則稱r(R)屬于第一范式,
目標:將基本資料劃分成稱為物體集或表的邏輯單元,當設計好每個物體后,需要為其指定主碼,
| empno | ename | address | ||
| province | city | street | ||
非規范化的關系模式(地址的值域可分)
| empno | ename | province | city | street |
1NF規范化后的關系模式
(2)第二范式(2NF)---全部是碼
如果一關系模式r(R),α屬于r(R),若α包含在r(R)的摸個候選碼中,則稱α為主屬性,否則α非主屬性,
如果一關系模式r(R)屬于第一范式,且所有非主屬性都完全函式依賴于r(R)的候選碼,則稱r(R)屬于第二范式,
目標:將只部分依賴于候選碼(即依賴于候選碼的部分屬性)的非主屬性通過關系模式分解移到其他表中去,
(3)第三范式(3NF)---僅僅是碼
如果一關系模式r(R)屬于第二范式,且所有非主屬性都直接函式依賴于r(R)的候選碼,且非主屬性之間不存在依賴關系(即不存在非主屬性傳遞依賴于候選碼),則稱r(R)屬于第三范式,
目標:將只部分依賴于候選碼(即依賴于候選碼的部分屬性)的非主屬性通過關系模式分解移到其他表中去,
(4)Boyce-Codd范式(BCNF)
給定關系模式r(R)及函式依賴集F,若F+中的所有函式依賴α→β(α屬于R,β屬于R)至少滿足下列條件之一:α→β是平凡函式依賴(即β屬于α)、α是r(R)的一個超碼(即α+包含R的全部屬性),則稱r(R)屬于Boyce-Codd范式,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/2528.html
標籤:SQL Server
上一篇:sql server如何用不同語種語言顯示報錯的錯誤訊息
下一篇:sql某個日期是當年的第幾周
