資料庫基礎(3) 正規化

2021-09-18 01:24:09 字數 1249 閱讀 5815

第一正規化:e-r模型允許實體集和聯絡集的屬性具有某些程度的子結構。比如address屬性下,擁有子屬性street,city,state等。如果乙個屬性的元素被認為是不可分的,則我們認為這個屬性是原子的。如果乙個關係模式r中,所有的屬性都是原子的,不可再分的,則稱該關係模式r屬於第一正規化(1nf)。

第二正規化:如果關係模式r®中,屬性集合r中的每個屬性a都滿足如何準則之一:

(1)它出現在乙個候選碼中;

(2)他它沒有部分依賴於乙個候選碼;

判斷乙個關係模式是否屬於第二正規化可以根據以下步驟來判斷:

(1)找出所有的碼;

(2)根據第一步找出的碼,找出所有的主屬性;

(3)資料表中,去除所有的主屬性,剩下的就是非主屬性;

(4)檢視是否存在非主屬性對主碼的部分函式依賴。

如下表,dept-name和budget都可以唯一確定乙個元組。所以dept-name和budget都是候選碼。主屬性即:dept-name和budget。非主屬性:building。因為dept-name和budget都是單個元素的候選碼,其真子集為空,所以不存在building對兩個候選碼的函式依賴。所以是第二正規化。

第三正規化:在第二正規化的基礎上,不存在傳遞依賴。

所以判斷乙個關係模式是不是第三正規化,可以根據以下步驟來進行:

(1)先判斷是不是第二正規化;

(2)在確定是第二正規化的基礎上,看有沒有傳遞依賴,如果有的話,不是第三正規化。

如果沒有的話,是第三正規化。

如下表:關係模式中id,name,salary這三個屬性中都沒有重複的,都可以唯一確定乙個元組。他們三個都是包含單個屬性的候選碼,真子集為空。所以不存在非主屬性對候選碼的部分依賴。由此判斷這個關係模式是第二正規化。但是我們可以看到存在函式依賴id-dept_name,depet_name-building,id-building,存在傳遞依賴。所以它不是第三正規化。

第一,二,三正規化的區別:

(1)第二正規化消除了第一正規化中非主屬性對候選碼的部分函式依賴;

(2)第三正規化消除了第二正規化中的傳遞依賴。

加油!!!

本文部分參閱了感謝!

資料庫3正規化

定義 在r u 中,如果x y,對於x的任意乙個真子集x 都有x 不能決定y,則稱y對x完全函式依賴,記為xy 例 s cn g 定義 在r u 中,如果x y,但y不完全函式依賴於x,則稱y對x部分函式依賴。定義 在r u 中,當且僅當x y,y z時,稱z對x傳遞函式依賴。例 描述學生 s 班級...

資料庫 基礎 正規化

1 正規化 1nf 1 指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。2 無重複的列。2nf 要求非主屬性完全依賴於主關鍵字,不存在不依賴於主關鍵字的屬性 3nf 最小冗餘,非主屬性只依賴於主關鍵字,沒有傳遞依賴。第一正規化 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係...

資料庫3大正規化

資料庫的三大特性是 實體屬性和關係。實體 表 屬性 表中的資料 字段 關係 表與表之間的關係 資料庫設計三大正規化 重點 第一正規化 1nf 資料表中的每一列 每個字段 必須是不可拆分的最小單元,也就是確保每一列的原子性 例如 userinfo 山東省煙台市 131777368781 userads...