日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

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

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

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 06:20:20 1697149220

一、數(shù)據(jù)庫中的函數(shù)依賴

在關(guān)系型數(shù)據(jù)庫中,函數(shù)依賴是指一個(gè)或多個(gè)屬性(列)值的變化是否會(huì)導(dǎo)致其他屬性(列)值的變化。根據(jù)不同的依賴關(guān)系類型,可以分為以下幾種:

1、完全函數(shù)依賴

表示屬性的值只和另一個(gè)屬性或?qū)傩约嫌嘘P(guān),任何其他屬性沒有影響力。

設(shè)X,Y是關(guān)系R的兩個(gè)屬性集合,X’是X的真子集,存在X→Y,但對(duì)每一個(gè)X’都有X’!→Y,則稱Y完全函數(shù)依賴于X。

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

實(shí)例:通過{學(xué)生學(xué)號(hào),選修課程名}可以得到{該生本門選修課程的成績(jī)},而通過單獨(dú)的{學(xué)生學(xué)號(hào)}或者單獨(dú)的{選修課程名}都無法得到該成績(jī),則說明{該生本門選修課程的成績(jī)}完全依賴于{學(xué)生學(xué)號(hào),選修課程名}

2、部分函數(shù)依賴

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

設(shè)X,Y是關(guān)系R的兩個(gè)屬性集合,存在X→Y,若X’是X的真子集,存在X’→Y,則稱Y部分函數(shù)依賴于X。

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

實(shí)例:通過{學(xué)生學(xué)號(hào),課程號(hào)}可以得到{該生姓名},而通過單獨(dú)的{學(xué)生學(xué)號(hào)}已經(jīng)能夠得到{該生姓名},則說明{該生姓名}部分依賴于{學(xué)生學(xué)號(hào),課程號(hào)}; 又比如,?通過{學(xué)生學(xué)號(hào),課程號(hào)}可以得到{課程名稱},而通過單獨(dú)的{課程號(hào)}已經(jīng)能夠得到{課程名稱},則說明{課程名稱}部分依賴于{學(xué)生學(xué)號(hào),課程號(hào)}。(部分依賴會(huì)造成數(shù)據(jù)冗余及各種異常。)

3、傳遞函數(shù)依賴

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

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

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

實(shí)例:在關(guān)系R(學(xué)號(hào),宿舍,費(fèi)用)中,通過{學(xué)號(hào)}可以得到{宿舍},通過{宿舍}可以得到{費(fèi)用},而反之都不成立,則存在傳遞依賴{學(xué)號(hào)}->{費(fèi)用}。(傳遞依賴也會(huì)造成數(shù)據(jù)冗余及各種異常。)

二、數(shù)據(jù)庫三大范式

1、名列前茅范式

數(shù)據(jù)庫每一列都是不可分的基本數(shù)據(jù)項(xiàng)(原子數(shù)據(jù)項(xiàng))。

就比如說,下面一個(gè)數(shù)據(jù)表:

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

2、第二范式

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

就比如說:

如上圖加粗字體所示,可能對(duì)于同一個(gè)訂單,含有不同的產(chǎn)品,因此主鍵必須是產(chǎn)品號(hào)和訂單號(hào)聯(lián)合組成。但可以發(fā)現(xiàn)產(chǎn)品數(shù)量、產(chǎn)品價(jià)格與訂單號(hào)、產(chǎn)品號(hào)都有關(guān),不過訂單時(shí)間與訂單金額僅與訂單號(hào)有關(guān),這就違反了第二范式。故可以修改為:

3、第三范式

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

就比如說:

從上表可以看出,所有屬性都完全依賴于學(xué)號(hào),故符合第三范式,但是班主任性別和班主任年齡直接依賴于班主任姓名,而不是主鍵學(xué)號(hào),故不符合第三范式。可修改為:

延伸閱讀1:數(shù)據(jù)庫模式分解簡(jiǎn)介

把一個(gè)關(guān)系模式分解成若干個(gè)關(guān)系模式的過程,稱為關(guān)系模式的分解。把低一級(jí)的關(guān)系模式分解為若干個(gè)高一級(jí)的關(guān)系模式的方法不是少數(shù)的。只有能夠保證分解后的關(guān)系模式與原關(guān)系模式等價(jià),分解方法才有意義。
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
css為什么要放在head標(biāo)簽中?

一、考慮加載順序和頁面渲染當(dāng)瀏覽器加載一個(gè)網(wǎng)頁時(shí),它會(huì)逐行解析HTML文檔,從上到下構(gòu)建文檔對(duì)象模型(DOM)。DOM樹的構(gòu)建過程是逐步進(jìn)行的,...詳情>>

2023-10-13 07:37:19
在數(shù)據(jù)庫查詢的底層實(shí)現(xiàn)上SQL Server和MySQL的區(qū)別是什么?

一、在數(shù)據(jù)庫查詢的底層實(shí)現(xiàn)上SQL Server和MySQL的區(qū)別1.MySQL是技術(shù)外殼架構(gòu) + 插件方式存儲(chǔ)引擎的方式,mysql復(fù)制語法解析,SQL優(yōu)化等,然后...詳情>>

2023-10-13 07:33:43
開發(fā)APP需要哪些第三方費(fèi)用?

1、服務(wù)器費(fèi)用如果你的應(yīng)用需要一個(gè)服務(wù)器來存儲(chǔ)和處理數(shù)據(jù),你需要支付服務(wù)器費(fèi)用。服務(wù)器費(fèi)用通常是每月收費(fèi)的,而且價(jià)格因服務(wù)提供商和服務(wù)...詳情>>

2023-10-13 06:42:42
Web應(yīng)用開發(fā)中常見的HTTP Server和技術(shù)組件有哪些?

一、Web應(yīng)用開發(fā)中常見的HTTP Server有哪些1、ApacheApache HTTP Server(簡(jiǎn)稱Apache)是Apache軟件基金會(huì)的一個(gè)開放源碼的網(wǎng)頁服務(wù)器,可以在...詳情>>

2023-10-13 06:37:05
MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么?

一、MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么1、MyISAM存儲(chǔ)引擎采用表格鎖MyISAM 存儲(chǔ)引擎采用了一種稱為“表格鎖”(Table-l...詳情>>

2023-10-13 06:31:35
快速通道
主站蜘蛛池模板: 高邮市| 溧水县| 桐梓县| 宜章县| 五大连池市| 阜南县| 溧阳市| 宁明县| 敖汉旗| 清苑县| 安陆市| 定襄县| 微山县| 樟树市| 福州市| 乌拉特中旗| 泾源县| 宜阳县| 商都县| 白城市| 永修县| 台州市| 拉萨市| 南皮县| 西峡县| 平舆县| 云梦县| 商南县| 东丰县| 瓦房店市| 怀化市| 扎兰屯市| 荔浦县| 怀来县| 湘潭市| 襄汾县| 云龙县| 阿荣旗| 华宁县| 金秀| 昌图县|