關係模式能夠形式化地表示爲R(U,D,dom,F); U:屬性集,D:表示屬性的域,dom:屬性像域的映射集合,F:表示屬性之間數據的依賴關係集合。
數據庫
1.函數依賴分爲如下幾種:dom
函數依賴定義:假設有關係模式R(U),X和Y都是U的子集,若是R(U)中任一可能的關係r中,不存在兩行記錄在X上的值相同而在Y上的值不一樣,則稱屬性子集X函數決定屬性子集Y,或者稱Y函數依賴於X,記爲X->Y.
函數
(1)平凡函數依賴與非平凡函數依賴:在關係模式R(U)中,對於U的子集X和Y,若是X——>Y,可是Y不是X的子集,則稱X->Y是非平凡函數依賴,若Y是X的子集,則稱X->Y是平凡函數依賴。設計
提示:對於任一關係模式,平凡函數依賴都是必然成立的。教程
(2)徹底函數依賴與部分函數依賴:在關係模式R(U)中,若是X->Y,而且對於X的任何一個真子集XX,都有XX不決定Y,則稱Y徹底函數依賴於X,記做X-(F)Y。若是X->Y,但Y不徹底函數依賴於X,則稱Y部分函數依賴於X記做X(P)Y。基礎
提示:若是Y對X部分函數依賴,X中的「部分」就能夠肯定對Y的關聯,從數據依賴的觀點來看,X中存在「冗餘」屬性。實際上,部分依賴與傳遞依賴是產生冗餘和異常的兩個重要緣由。qq
(3)傳遞函數依賴數據
在關係模式R(U)中,若是X->Y,Y->Z,且Y不決定X,Z不屬於X,則稱Z傳遞函數依賴於X,記做X->(T)Z。異常
提示:傳遞函數依賴定義中之因此要加上條件Y不決定X,是由於若是Y->X,則X<->Y,這其實是Z直接依賴於X,也就是直接函數依賴,而不是傳遞函數依賴。註釋
2範式理論:
第一範式1NF:要求屬性不可分,第一範式是設計數據庫表的最低要求。如聯繫方式 :電環:XXX;郵箱:liu@qq.com。這個就不符合1NF。
第二範式2NF:要求在知足1NF基礎上,每一個非主屬性徹底函數依賴於候選鍵。
第三範式3NF:要求在知足2NF基礎上,關係模式R(U,F)中的全部非主屬性對任何候選鍵都不存在傳遞依賴。則稱關係R是屬於第三範式的模式。
註釋:此文參考了楊少敏和王紅敏編寫的Oracle11g教程。