【資料庫之函式依賴】
總述
函式依賴,提到這個概念我們有時候分不清楚它的關係,總結是一個將知識轉化為自己東西的一個方法。現在我們們一起來”分解“它:函式依賴。
分述
一、函式依賴關係
1.資料依賴
資料依賴通常包括函式依賴和多值依賴。
2.函式依賴問題
A.函式依賴
定義:
設一個關係R,X和Y是它的兩個屬性集,若對於X上的每一個值都有Y上的一個唯一的值與之對應,則稱X和Y 具有函式依賴關係,並稱X函式決定Y,或稱Y函式依賴X,稱X為決定因素。
簡而言之:一個X值只對應一個Y值。
e.g設一個學生關係為(學號,姓名,性別,)
學生號為該關係的主鍵
每一個學生的學生號對應著姓名屬性的唯一值,即一個學生的姓名由其學生的學號唯一確定,在這裡,我們稱學號函式決定姓名,或稱姓名函式依賴職工號。
B.部分函式依賴
定義:
設一個關係R,X和Y是它的兩個屬性集,若X函式決定Y,同時X的一個子集X也能夠函式決定Y,則稱Y部分函式依賴於X
簡而言之:只拿出X屬性集的一部分,就可以函式決定Y了,不需要全部屬性。
e.g如上面的例子:設一個學生關係為(學號,姓名,性別,)
學生號是一個單值屬性決定因素,它決定其他的麼一個屬性,如果把(學生號,姓名)看成X,它能夠決定其他所有屬性,而職工號一個屬性就能夠函式決定其他屬性,所以(學生號,姓名)到其他屬性間的函式依賴為部分函式依賴 。
C.傳遞函式依賴
定義:
一個關係R,X,Y和Z是它的三個屬性集,其中X→Y,Y→Z(Y不包含Z,X也不函式依賴Y),則存在X→Z,稱此為傳遞函式依賴,即X傳遞函式依賴決定Y,Y傳遞函式依賴於Z。
簡而言之:這個函式依賴關係是通過“推導”間接得到的。
e.g設一個學生關係為(學號,姓名,性別,系號,系名,系主任名)
由題我們知道:學號→系號,系號→系名,所以知道一個學號之後就能夠唯一對應一個系號,系號又能確定唯一的一個系名,所以學號→系名,這個關係為傳遞函式依賴。
二.圖形概括
eg.設一個學生關係(學號,姓名,性別,班級,班主任,課程號,課程名,考試成績)則用函式依賴關係可以如下表示:
注:一個學生屬於一個班,一個班有多名學生,一個班級有一個班主任,一個班主任只帶一個班。
總結:
對於函式依賴的知識點,我的理解就是這樣,現在不知道大家清楚了沒,如果有不對的地方希望大家給我指正!
相關文章
- 函式依賴與資料庫正規化函式資料庫
- 資料庫系統------函式依賴與正規化資料庫函式
- 當useEffect遇到函式依賴函式
- 函式計算安裝依賴庫方法小結函式
- 快取依賴(檔案、資料庫)快取資料庫
- 分析資料庫的依賴關係(轉)資料庫
- 簡單歡樂的依賴注入函式依賴注入函式
- 響應式資料與資料依賴基本原理
- Angular 依賴注入學習筆記之工廠函式的用法Angular依賴注入筆記函式
- Django筆記二十七之資料庫函式之文字函式Django筆記資料庫函式
- SqlServer—大話函式依賴與正規化SQLServer函式
- 資料庫之DQL排序&分組&函式資料庫排序函式
- Spring基於建構函式和設值函式的依賴注入Spring函式依賴注入
- 將你的Gradle依賴轉換為函式Gradle函式
- Django筆記二十五之資料庫函式之日期函式Django筆記資料庫函式
- INFORMIX資料庫函式ORM資料庫函式
- 以vue依賴統計為核心的框架(函式),mveVue框架函式
- 使用IDEA模組之間依賴找不到依賴類Idea
- 不要依賴Mock庫 - ErwinMock
- SQL Server 2005實現資料庫快取依賴SQLServer資料庫快取
- Asp.net 資料庫快取依賴(SQLServer 2005)ASP.NET資料庫快取SQLServer
- python介面自動化測試之介面資料依賴Python
- 如何解決微服務之間的資料依賴問題?微服務
- 7.資料庫函式資料庫函式
- PHP Oracle 資料庫函式庫(轉)PHPOracle資料庫函式
- 函式計算|如何使用層解決依賴包問題?函式
- 如何在java中使用 Excel 動態函式生成依賴列表JavaExcel函式
- 微服務之間的資料依賴問題,該如何解決?微服務
- Django筆記二十四之資料庫函式之比較和轉換函式Django筆記資料庫函式
- .NET之預設依賴注入依賴注入
- PHP之依賴管理composerPHP
- python 介面自動化--依賴資料Python
- MongoDB之資料更新(更新函式)MongoDB函式
- 依賴管理和依賴範圍
- 介面自動化測試-apiAutoTest 優化之資料依賴處理API優化
- 從原始碼解析vue的響應式原理-依賴收集、依賴觸發原始碼Vue
- 依賴
- oracle資料庫常用分析函式與聚合函式的用法Oracle資料庫函式