數據庫的表的設計規範,以及數據庫範式的概念

範式中涉及的概念問題:

         ① 部分函數依賴:設X,Y是關係R的兩個屬性集合,存在X→Y,若X’是X的真子集,存在X’→Y,則稱Y部分函數依賴於X。

          簡單說:A——>(推出)B,如果A是一個屬性組的話,則B屬性只需要依賴A屬性組中的某些屬性就可以推出B,就是說B部分依賴於A

          例子:學生信息表中有(學號,課程名稱,姓名),學號可以推出,但是課程名稱不能推出姓名,也就是說姓名部分依賴於(學號,課程名稱)

 

           ②完全函數依賴:設X,Y是關係R的兩個屬性集合,X’是X的真子集,存在X→Y,但對每一個X’都有X’!→Y,則稱Y完全函數依賴於X

          簡單說:A——>B,如果A是一個屬性組的話,則B必須依賴A屬性組中的所有屬性纔可以推出B,就是說B完全依賴於A。

          例子:學生表中有(學號,課程名稱,分數),單一的學號並不能推出分數,單一的課程名稱也不能推出分數,只有學號和            課程名稱一起才能推出分數,所以說分數完全依賴於(學號,課程名稱)

 

           ③傳遞函數依賴:設X,Y,Z是關係R中互不相同的屬性集合,存在X→Y(Y !→X),Y→Z,則稱Z傳遞函數依賴於X

           簡單說:A——>B,B——>C,如果A屬性組可以確定唯一B屬性的值,B屬性組可以確定唯一C屬性的值,則說C傳遞依賴於A

           例子:學生表中有(學號,系主任,系名),學號可以推出系主任,系主任可以推出系名,所以說系名傳遞依賴於學號

 

範式以及表的設計規範:

一範式:表中屬性都是單一屬性,不可再分

下圖就是不滿足一範式的表

應該改爲如下圖所示:

二範式:在一範式的基礎上,消除部分函數依賴

三範式:在一二範式的基礎上,消除傳遞函數依賴

爲什麼需要滿足範式:

不滿足範式會出現數據冗餘、數據插入異常、數據刪除異常以及更新異常等問題

表的設計基本上滿足第三範式就足夠了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章