第二章 關聯式資料庫(五)

2021-10-05 01:47:33 字數 1421 閱讀 2003

關係規範化是用關係模式中屬性與屬性之間的函式依賴性,判斷關係模式的合理性,解決資料庫設計的優化問題。

一,函式依賴

函式依賴性是規範化理論研究的基礎和重要內容。根據關係模式中屬性與屬性之間的函式依賴性,可以判斷關係中是否存在資料冗餘和可能產生的資料異常,以及如何消除這些資料異常。函式依賴是關係模型設計的一種約束條件,只有符合這些約束條件,才能使關係模式設計更規範,更合理。

1.函式依賴的定義

在乙個關係中,如果知道乙個屬性的值,就可以確定另外乙個屬性的值,例如,知道一名職工的職工號,就可以知道他的姓名,性別,出生年月等屬性值,這種在屬性之間存在的關係就是我們將要討論的函式依賴性。

2.函式依賴圖

知道乙個屬性的值,就可以確定另外乙個屬性的值

3.完全函式依賴

在關係模式中,主鍵可以是乙個屬性或者多個屬性的組合,對於多屬性主鍵可能存在非主屬性對主鍵完全函式依賴或部分函式依賴的問題。

二,關係的規範化

表的結構設計是否合理是資料庫設計的重要指標。如果乙個資料庫的表結構設計不合理,即便採用最好的關聯式資料庫軟體,也很難避免資料冗餘導致的資料異常問題。關係規範化是判斷表結構是否合理的有效防範,它利用一組不同級別的正規化判定關係規範化的程度,判別表中是否存在資料異常,並通過關係模式分解的防範,消除資料異常。

第一正規化:當關係模式r的所有屬性都不能在分解為更基本的資料單位時,稱r是滿足第一正規化的,簡記為1nf。滿足第一正規化是關係模式規範化的最低要

求,否則,將有很多基本操作在這樣的關係模式中實現不了。

第二正規化:如果關係模式r滿足第一正規化,並且r得所有非主屬性都完全依賴於r的每乙個候選關鍵屬性,稱r滿足第二正規化,簡記為2nf。

第三正規化:設r是乙個滿足第一正規化條件的關係模式,x是r的任意屬性集,如果x非傳遞依賴於r的任意乙個候選關鍵字,稱r滿足第三正規化,簡記為3nf.

三大正規化理解

第一正規化

1、每一列屬性都是不可再分的屬性值,確保每一列的原子性

2、兩列的屬性相近或相似或一樣,盡量合併屬性一樣的列,確保不產生冗餘資料。

第二正規化

每一行的資料只能與其中一列相關,即一行資料只做一件事。只要資料列**現資料重複,就要把錶拆分開來。

第三正規化

資料不能存在傳遞關係,即沒個屬性都跟主鍵有直接關係而不是間接關係。像:a–>b–>c 屬性之間含有這樣的關係,是不符合第三正規化的。

比如student表(學號,姓名,年齡,性別,所在院校,院校位址,院校**)

這樣乙個表結構,就存在上述關係。 學號–> 所在院校 --> (院校位址,院校**)

這樣的表結構,我們應該拆開來,如下。

(學號,姓名,年齡,性別,所在院校)–(所在院校,院校位址,院校**)

第二章 關聯式資料庫

一 關係資料結構及形式化定義 1.域 定義 域是一組具有相同資料型別的值的集合。例 整數 實數介於某個取值範圍的整數 指定長度的字串集合 2.笛卡爾積 定義 給定一組域d1,d2,dn,允許其中某些域是相同的。d1,d2,dn的笛卡爾積為 d1 d2 dn d1,d2,dn di di,i 1,2,...

第二章 關聯式資料庫

2.2 關係操作 2.3 資料完整性約束 2.4 關係代數 一 域 domain 二 笛卡爾積 cartesian product 三 關係 relation t 關係中的每個元素是關係中的元組,通常用t表示 關係的表示 關係是笛卡積的子集,所以關係也是乙個二維表,表每行對應乙個元組,表的每列對應乙...

第二章 關聯式資料庫

域 笛卡爾積 數學關係式就不說了,簡單來說就是所有域的所有取值的乙個集合 不能重複 例 d1 d2 d3 笛卡爾積 d1xd2xd3 等等12種組合 關係 候選碼 若關係中的某一屬性組你能惟一的標識乙個元組,則稱該屬性組為候選碼。在最簡單情況下,候選碼只包含乙個屬性 全碼 在最極端的情況下關係模式的...