函式依賴的推導規則
完全函式依賴與部分函式依賴
傳遞函式依賴
候選鍵在函式依賴中的定義
總結定義
函式依賴是關係模式中,屬性之間的邏輯依賴關係
定義如下:
設關係r(u,f),u是屬性集,f是函式依賴集,令x、y是u的兩個子集
對於任意r的乙個關係r,x的每乙個具體值,y都有唯一值與之對應
則,x決定函式y,或y函式依賴於x,記作x→y(x是自變數,y是因變數,乙個x只能得到乙個y)
若x→y且y→x,則x↔y函式依賴可以理解為屬性之間的一種約束條件,它能夠用於判斷建立的關係表是否合理不依賴則是在箭頭上畫上斜線
簡單說,若x→y,那麼在關係r上任意兩個元組,若ti[x] = tj[x],那麼ti[y] = tj[y],在這裡就要聯想到函式的單對映和雙映**
平凡函式依賴
若屬性集y是x的子集,則必然存在函式依賴x→y,這種函式依賴就是平凡的函式依賴,其他型別的函式依賴就是非平凡的函式依賴
這裡是對屬性集是否包含而言的,不是指屬性的域的包含關係函式依賴於屬性之間聯絡的關係
當x與y有1:1聯絡時,一定有x↔y
當x與y有m:1聯絡時,有x→y
當x與y有m:n聯絡時,x、y之間不存函式依賴
設f是關係模式r的函式依賴集,x、y是屬性集u的子集,x→y是乙個函式依賴,若在f中,能夠用其他函式依賴關係推導出x→y,則x→y為f的邏輯蘊涵,或f邏輯蘊涵x→y,記作f|=x→y
f是r的函式依賴集,被f邏輯蘊涵的函式依賴的集合稱為f的閉包
記作f+
f+=
除了函式依賴集的閉包外,屬性集也存在閉包運算,如下定律名稱屬性集x的閉包x+ =
條件結果
自反律y⊆x⊆u
x→y增廣律
x→y,z⊆u
xz→yz
傳遞律y→y,y→z
x→z合併律
x→y,x→z
x→yz
偽傳遞律
x→y,yw→z
xw→z
分解律x→y,z⊆y
x→z復合律
x→y,w→z
xw→yz
以上的xy這樣的形式,不是離散中的集合求交集,而是將他們合併若x→y,且對於x的任意真子集x』,都不滿足x』→y,則y對x完全函式依賴,記作若x→y,且對於x的任意真子集x』,存在x』→y,則y對x部分函式依賴,記作此外如:y⊆x,是y中的屬性是x中屬性的子集,如y(姓名,性別),x(姓名、性別、年齡),那麼y就⊆x
元組中其它屬性對主鍵或其候選鍵都是完全函式依賴的x→y,且y→x不成立,而有y→z(其中y不屬於x,z不屬於y),則有z對x傳遞函式依賴,記作上述的x的子集,是指x屬性集中的部分屬性,而不是屬性域的子集
為什麼不能有y→x,是因為,如果這個條件成立,x→z就不是傳遞得來的,而是直接能得到的定義屬於關係不存在的限制也是一樣,是為了排除平凡函式依賴
u是關係r的屬性集,若屬性集x→u在r上成立,x是r的乙個超鍵
在x是超鍵的基礎上,若x的任一真子集x』 都有
x』 →u不成立,那麼x是r上的乙個候選鍵
由此可知,其他所有屬性對於候選鍵都是完全函式依賴的如何在函式依賴中尋找候選鍵
對屬性進行分類
函式依賴的主要作用是,在建立號關系資料 表之後,可以通過它來對資料表進行檢查,看是否符合規則
完全函式依賴域部分函式依賴的區別在於x的子集能否滿足x』→y
在求解函式依賴的閉包時,一定要全面,不能忘記f本身
資料庫 關係模式函式依賴
關聯式資料庫邏輯設計 針對具體問題,如何構造乙個適合於它的資料模式 資料庫邏輯設計的工具 關聯式資料庫的規範化理論 關係模式由五部分組成,即它是乙個五元組 r u,d,dom,f r 關係名 u 組成該關係的屬性名集合 d 屬性組u中屬性所來自的域 dom 屬性向域的映象集合 f 屬性間資料的依賴關...
資料庫複習 資料的函式依賴
r u 是屬性集u上的關係模式,x,y是u的乙個子集,r是r u 中的任意給定的關係,對於r中的任意兩個元組s和t,當s x t x 時,一定有s y t y 稱為y函式依賴於x 記為 x y x被稱為決定因素 每乙個x只能有乙個y 如果y不是x的子集,則稱為非平凡依賴,否則平凡依賴 在關係r中,k...
資料庫快取依賴
更多的時候,我們的伺服器效能損耗還是在查詢資料庫的時候,所以對資料庫的快取還是顯得特別重要,上面幾種方式都可以實現部分資料快取功能。但問題是我們的資料有時候是在變化的,這樣使用者可能在快取期間查詢的資料就是老的資料,從而導致資料的不一致。那有沒有辦法做到,資料如果不變化,使用者就一直從快取中取資料,...