軟考—關係資料庫的規範化
阿新 • • 發佈:2018-12-17
函式依賴
- 函式依賴:設是屬性集上的關係模式, 是的子集。若對的任何一個可能的關係,中不可能存在兩個元組在上的屬性值相等,而在上的屬性值不等,則稱函式決定或函式依賴於,記作。
- 非平凡的函式依賴:如果,但,則稱是非平凡的函式依賴。
- 完全函式依賴:在中,如果,並且對於的任何一個真子集都有不能決定,則稱對完全函式依賴,記作。
- 部分函式依賴:如果,但不完全函式依賴於,則稱對部分函式依賴,記作。
- 傳遞依賴:在中,如果,,,則稱對傳遞依賴。
- 碼:設為中屬性的組合,若,且對於的任何一個真子集不能決定,則為的候選碼。若有多個候選碼,則選一個座位主碼。候選碼通常也稱為候選關鍵字。
- 主屬性和非主屬性:包含在任一個候選碼中的屬性稱為主屬性,否則則是非主屬性。
- 外碼:若中的屬性或者屬性組非到的碼,但是另一個關係的碼。,則稱為外碼。
規範化
關係資料庫設計的方法之一就是設計滿足適當正規化的模式,通常可以通過判斷分解後的模式達到幾正規化來評價模式規範化的程度。
- (第一正規化) 定義:若關係模式的每一個分量是不可再分的資料項,則關係模式屬於第一正規化。
例如,供應者和它所提供的零件資訊,關係模式FIRST和函式依賴集如下:
Sno | Sname | Status | City | Pno | Qty |
---|---|---|---|---|---|
S1 | 精益 | 20 | 天津 | P1 | 200 |
S1 | 精益 | 20 | 天津 | P2 | 300 |
S1 | 精益 | 20 | 天津 | P3 | 480 |
S2 | 盛錫 | 10 | 天津 | P2 | 168 |
S2 | 盛錫 | 10 | 北京 | P3 | 500 |
S3 | 東方紅 | 30 | 北京 | P1 | 300 |
S3 | 東方紅 | 30 | 北京 | P2 | 280 |
S4 | 泰達 | 40 | 上海 | P2 | 460 |
從表中可看出1NF存在4個問題:
- 冗餘度大。
- 引起修改操作的不一致性。
- 插入異常。
- 刪除異常。
- 2NF(第二正規化) 定義:若關係模式,且每一個非主屬性完全依賴於碼,則關係模式。
換句話說,當消除了非主屬性對碼的部分函式依賴,則稱為。
例如,FIRST關係中的碼是,而,因此非主屬性部分函式依賴於碼,故非2NF的。
若此時將FIRST關係分解為和。
- 3NF(第三正規化) 定義:若關係模式中不存在這樣的碼,屬性值及非主屬性使得,成立,則關係模式。
即當2NF消除了非主屬性對碼的傳遞函式依賴,則稱為3NF。