1. 程式人生 > >資料庫基礎(3)函式依賴-平凡依賴,完全依賴,部分依賴,傳遞依賴

資料庫基礎(3)函式依賴-平凡依賴,完全依賴,部分依賴,傳遞依賴

函式依賴是關係資料庫中非常重要的概念
包括平凡依賴,完全依賴,部分依賴以及傳遞依賴 ,這些都是關係資料庫正規化的基礎

函式依賴基本概念

函式依賴基本定義

在這裡插入圖片描述

簡單來說就是,只要屬性X的屬性值一樣(x1=x2) 那麼 屬性Y中的屬性值就一樣(y1=y2),就說明Y依賴於X

例題:判斷是否函式依賴

例題

  • 先看A-> D ,由於第一行的a1對應d1,第二行的a1對應d2
    說明a1分別對應d1和d2 兩個值,所以A->D的函式依賴不成立
  • AB -> D 的函式依賴是成立的 (因為左邊相同的屬性,右邊均相同)
  • C -> BDE
    成立
  • E -> A不成立 ,因為取e1的時候,e1對應了a中的多個值,所以不成立

平凡依賴,完全依賴,部分依賴,傳遞依賴

1.平凡依賴與非平凡依賴

平凡與非平凡

2.完全依賴和部分依賴

完全依賴與部分依賴
比如說,{學號,課程號}-> 姓名,同時也有{學號} -> 姓名
由於{學號}是{學號,課程號}的真子集。 所以 {學號,課程號}-> 姓名 是部分函式依賴

3.傳遞依賴

傳遞依賴
比如說 , 學號 - > 班號 , 班號 - > 班長,推出 => 學號 - > 班長
所以 “班長” 傳遞依賴於 “學號”
還有一個例子: 過去 - > 現在,現在 - > 未來, 推出 過去 -> 未來
所以 “未來” 傳遞依賴於 “過去”


例題

例子

基本函式依賴的關係已經在圖裡面給出了答案,
依賴性質很好判斷!就不多說啦~