資料庫3正規化

2021-09-24 13:18:46 字數 817 閱讀 6589

定義:在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#)、班級(sb)、輔導員(tn)的關係u(s#,sb,tn)。乙個班有若干學生,乙個學生只屬於乙個班,乙個班只有乙個輔導員,但乙個輔導員負責幾個班。根據現實世界可得到一組函式依賴:

f=學生學號決定了所在班級,所在班級決定了輔導員,所以輔導員tn傳遞函式依賴於學生學號s#。

1、第一正規化(1nf):沒個字段的值要保證其原子性(不可被拆分)。

2、第二正規化(2nf):滿足第一正規化,然後消除部分依賴。(每個表只描述一件事)

沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。 

eg:不滿足2nf:學生資訊表:學號(主鍵),姓名,系名,系主任,課程名稱,分數。(正確:學號--》姓名,學號--系名,學號--》系主任,)

問題:1.部分依賴    分數  --依賴--》  (課程名稱+學號)

正確,拆分表:學生表:學號,姓名,系名,系主任;

學生成績:學號,課程名稱,成績;

3、第三正規化(3nf): 滿足第二正規化,消除傳遞依賴。

eg:不滿足3nf:學生資訊表:學號(主鍵),姓名,系名,系主任。

問題: 學號 --》 系名,系名--》系主任;存在傳遞依賴

正確,拆分表:學生資訊表:學號(主鍵),姓名,系名;

學校系: 系名,系主任;

資料庫3大正規化

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

資料庫基礎(3) 正規化

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

資料庫 3大正規化

1 第一正規化 確保每列保持原子性 必須不包含重複組的關係,即每一列都是不可拆分的原子項。2 第二正規化 確保表中的每列都和主鍵相關 關係模式必須滿足第一正規化,並且所有非主屬性都完全依賴於主碼。注意,符合第二正規化的關係模型可能還存在資料冗餘 更新異常等問題。3 第三正規化 確保每列都和主鍵列直接...