指導老師:桃群老師
1、函式依賴
什麼是函式依賴?比如學生管理系統資料庫,有學生姓名(sname)、學生系名(sdept)、學生學號(sno)等等。乙個學號只能唯一確定乙個學生,乙個學生只在乙個系學習。所以,當「學號」確定後,學生姓名和該學生所在系也被唯一確定了。
這時我們可以說
sno函式決定sname和sdept,或者說sname,sdept函式依賴於sno1.1 完全函式依賴可記作:sno->sname,sno->sdept
在r(u)中,若x->y,並且對於x的任意乙個真子集x』,都有y不依賴於x』,那麼稱y對x完全函式依賴比如乙個學生的學號和課程號才能共同決定乙個學生該門課的成績,即(sno,cno)->grade,但x的真子集為sno或者cno,他們無法單獨決定該門課的成績,所以學號和課程號完全函式依賴成績
2.2 部分函式依賴
在r(u)中,若x->y,對於x的任意乙個真子集x』,有y依賴於x』 ,那麼稱y對x部分函式依賴。比如(sno,cno)->sname,x的真子集sno和cn都能單獨決定學生姓名,所以學號和課程號部分函式依賴學生姓名。
2.3 傳遞函式依賴
在r(u)中,如果y依賴於x,x不依賴於y,z依賴於y,則稱z對x傳遞函式依賴;比如:sno->sdept,sdept不依賴於sno,sdept->manager,則sno傳遞函式依賴於manager
2.4 直接函式依賴
在r(u)中,如果y依賴於x,x依賴於y,z依賴於y,則稱z對x直接函式依賴正規化是衡量關係的規範化程度。比如:sno->sdept,sdept->sno,sdept->manager,則sno直接函式依賴於manager
1、第一正規化 (1nf)
若乙個關係模式r的所有屬性都是不可再分項,則該關係屬於第一正規化學號
姓名班級
正班長副班長
2018029
成小白5班
龍龍豫豫
2018030
晨小美5班
龍龍豫豫
在上面這個**中,所有屬性都是不可再分項,所以該關係為1nf。
2、第二正規化(2nf)
1nf是關聯式資料庫中對關係最基本的要求,但不是理想的結構形式,仍然有大量的資料冗餘和操作異常。所以為了解決這些問題,就要消除模式中屬性之間存在的部分函式依賴,將其轉化成更高一級的第二正規化。
若關係模式r屬於1nf,且r中每個非主屬性都完全函式依賴於主關鍵字,則稱r是第二正規化(2nf)
也就是說當1nf消除了非主屬性對關鍵字的部分函式依賴,則稱為2nf
案例:
學生關係s(sno,sname,sdept,manager,cno,grade)
·關係s屬於第一正規化
·關係s不屬於第二正規化,存在非主屬性對(sno,cno)的部分函式依賴
·如果將該學生關係s分解成以下兩個關係s1和s2,
-s1(sno,cno,grade),這時grade完全依賴於主碼
沒有部分函式依賴,所以屬於第二正規化
-s2(sno,sname,sdept,manager)
主碼是sno,其他非主關鍵字都是完全函式依賴於主碼
屬於第二正規化
3、第三正規化(3nf)
當第二正規化消除了非主屬性對碼的傳遞函式依賴,則稱為第三正規化
舉例:4、bc正規化(bcnf)
當第三正規化消除了主屬性對碼的部分和傳遞函式依賴,稱為bcnf
從資料庫設計的角度看,在函式依賴的基礎上,分解最高正規化bcnf的模式中仍然勳在資料冗餘問題,這時就需要更高的正規化來解決這個問題,本篇文章先到這裡,後面再更新多值依賴,連線依賴和更高正規化喔~
關係模式規範化
關係模式 關係模式相當於一張二維表的框架,在這個框架下填入資料,稱為關係模式的乙個例項,或者叫關係 r r a1,a2,a3.ai r是關係名,ai是關係的屬性名。乙個關係名對應一張表,關係名對應表名,屬性對應表中的列名。關係模式的簡化表示法 r。未經規範化的資料庫一般都有下述缺點 較大的資料冗餘,...
關係模式規範化
3nf規範化 通過該演算法可以獲得乙個保持函式依賴性並滿足3nf的關係模式分解 先求出fmin 1 x a,xa r 那麼xa單獨構成乙個關係模式 2 如果關係模式r中的某些屬性與函式依賴集f的左右部屬性均無關的話,將他們單獨作為乙個模式 3 出現x a1,x a2 可以合併成乙個關係模式 x a1...
關係模式的規範化
原文路徑 了解關係模式規範化的作用 掌握第一正規化 重點 掌握第二正規化 重點 掌握第三正規化 重點 回顧關係模式 關係模式 關係模式相當於一張二維表的框架,在這個框架下填入資料,稱為關係模式的乙個例項,或者叫關係 r r a1,a2,a3.ai r是關係名,ai是關係的屬性名。乙個關係名對應一張表...