定義:在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 第三正規化 確保每列都和主鍵列直接...