千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 數據庫中的函數依賴的完全函數依賴和部分函數依賴還有傳遞函數依賴怎么理解?

數據庫中的函數依賴的完全函數依賴和部分函數依賴還有傳遞函數依賴怎么理解?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 06:20:20 1697149220

一、數據庫中的函數依賴

在關系型數據庫中,函數依賴是指一個或多個屬性(列)值的變化是否會導致其他屬性(列)值的變化。根據不同的依賴關系類型,可以分為以下幾種:

1、完全函數依賴

表示屬性的值只和另一個屬性或屬性集合有關,任何其他屬性沒有影響力。

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

比如說:C可以通過AB得到,并且C不可以僅通過A得到,也不可以僅通過B得到,那么就說C完全依賴AB。

實例:通過{學生學號,選修課程名}可以得到{該生本門選修課程的成績},而通過單獨的{學生學號}或者單獨的{選修課程名}都無法得到該成績,則說明{該生本門選修課程的成績}完全依賴于{學生學號,選修課程名}

2、部分函數依賴

表示屬性的值取決于多個屬性,而且其中一些屬性可以被移除而不影響該屬性的值。

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

比如說:C可以通過AB得到,并且C也可以僅通過A得到,僅通過B得到,那么就說C部分依賴AB。

實例:通過{學生學號,課程號}可以得到{該生姓名},而通過單獨的{學生學號}已經能夠得到{該生姓名},則說明{該生姓名}部分依賴于{學生學號,課程號}; 又比如,?通過{學生學號,課程號}可以得到{課程名稱},而通過單獨的{課程號}已經能夠得到{課程名稱},則說明{課程名稱}部分依賴于{學生學號,課程號}。(部分依賴會造成數據冗余及各種異常。)

3、傳遞函數依賴

表示屬性的值由其他屬性之間通過傳遞關系所決定。

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

比如說:B可以通過A得到,C可以通過B得到,那么就稱C傳遞依賴A。

實例:在關系R(學號,宿舍,費用)中,通過{學號}可以得到{宿舍},通過{宿舍}可以得到{費用},而反之都不成立,則存在傳遞依賴{學號}->{費用}。(傳遞依賴也會造成數據冗余及各種異常。)

二、數據庫三大范式

1、名列前茅范式

數據庫每一列都是不可分的基本數據項(原子數據項)。

就比如說,下面一個數據表:

上表所示的地址,就不符合名列前茅范式,以為地址那一列可以分為省份和市區,故可以修改為:

2、第二范式

第二范式要求在滿足名列前茅范式的基礎上,非碼屬性必須完全依賴于候選字,也就是要消除部分依賴。

就比如說:

如上圖加粗字體所示,可能對于同一個訂單,含有不同的產品,因此主鍵必須是產品號和訂單號聯合組成。但可以發現產品數量、產品價格與訂單號、產品號都有關,不過訂單時間與訂單金額僅與訂單號有關,這就違反了第二范式。故可以修改為:

3、第三范式

第三范式要求在滿足第二范式的基礎上,任何非主屬性不依賴于其他非主屬性,即在第二范式的基礎上消除傳遞依賴。第三范式要求數據表的每一列都與主鍵直接相關,而不是間接相關。

就比如說:

從上表可以看出,所有屬性都完全依賴于學號,故符合第三范式,但是班主任性別和班主任年齡直接依賴于班主任姓名,而不是主鍵學號,故不符合第三范式??尚薷臑椋?/p>

延伸閱讀1:數據庫模式分解簡介

把一個關系模式分解成若干個關系模式的過程,稱為關系模式的分解。把低一級的關系模式分解為若干個高一級的關系模式的方法不是少數的。只有能夠保證分解后的關系模式與原關系模式等價,分解方法才有意義。
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
久久亚洲中文字幕精品一区四,亚洲日本另类欧美一区二区,久久久久久久这里只有免费费精品,高清国产激情视频在线观看
日韩欧美国产高清 | 中文在线精品综合 | 日韩区一区二区三区四 | 欧美在线观看免费人成 | 亚洲小说少妇区图片 | 在线观看国产精品黄 |