關係模式中各屬性之間的相互依賴、相互制約的聯絡稱為資料依賴,資料依賴又分為函式依賴和多值依賴,其中函式依賴最為重要。
函式依賴(function dependency,fd)是關係模式中屬性之間的一種邏輯關係依賴。例如在關聯式資料庫理論(一)中的scd表中,【sno】和【sn、age、dept】之間就有一種邏輯依賴關係。當乙個sno確定下來以後,對應的學生就確定了,他的姓名sn,年齡age以及所屬的系別dept都被確定了。這就類似於數學中的函式定義y=f(x),x可以唯一確定y的值,對於同乙個x值,不會有多個y值與它對應。現在自變數是【sno】,因變數是【sn、age、dept】,我們說sno的值唯一地決定函式(sn,age,dept)的值。函式依賴形式化的定義如下所示:
有關函式依賴有下面幾點需要說明:
假設已知關係模式r(x,y,z),並且有函式依賴x→y,y→z,問是否有x→z?能否從已知的函式依賴中得到函式依賴xy→yz?
類似上面這種從一組已知的函式依賴中,判斷一些函式依賴是否成立或者能否從前面已知的函式依賴推導出後面的函式依賴,就是邏輯蘊含所要涉及的內容。
簡言之,如果能夠從f中推導出x→y,就說f邏輯蘊含x→y.
在邏輯蘊含部分我們意識到一些推理規則的必要性,從已知的函式依賴中,我們需要知道哪些函式依賴是能夠被得出的,函式依賴的推理規則最早出現在2023年w.w.armstrong的**中。
所有的規則介紹中的符號說明如下:設有關係模式r(u),u是關係模式r的屬性集,f是r上成立的、只涉及u中屬性的函式依賴集。x、y、z、w均是u的子集,r是r的乙個例項。
armstrong公理.
【①自反律reflexivity】
證明:因為y是x的子集,若r中的兩個元組在x上的值相等,那麼它們在y上的值也必然相等。
【②增廣律augmentation】
證明:假設在條件之下,結論不成立,也就是說當t1[
xz]=
t2[x
z]t_1[xz]=t_2[xz]
t1[xz
]=t2
[xz
]時,有t1[
yz]≠
t2[y
z]t_1[yz]≠t_2[yz]
t1[yz
]=
t2[
yz],也就是存在t1[
y]≠t
2[y]
t_1[y]≠t_2[y]
t1[y]
=t
2[y
]或t1[z
]≠t2
[z]t_1[z]≠t_2[z]
t1[z]
=t
2[z
]。前一種情況與自反律相矛盾,後一種情況與條件t1[
xz]=
t2[x
z]t_1[xz]=t_2[xz]
t1[xz
]=t2
[xz
]矛盾,所以假設不成立,即增廣律是正確的。
【③傳遞律transitivity】
證明:假設該條件之下,結論不成立,即t1[
x]=t
2[x]
t_1[x]=t_2[x]
t1[x]
=t2
[x]時,有t1[
z]≠t
2[z]
t_1[z]≠t_2[z]
t1[z]
=t
2[z
].在這樣的假設下,t
1t_1
t1和t
2t_2
t2在屬性集y上的情況只有兩種:t1[
y]=/
≠t2[
y]t_1[y]=/≠t_2[y]
t1[y]
=/
=t2
[y],如果等於,則與y→z矛盾;否則就與x→y矛盾,因此假設不成立,所以傳遞律是正確的。
armstrong公理推論.
【①合併律union】
證明:已知x→y,用增廣律兩邊加上x,得到xx→xy,同理x→z得到xy→yz,再根據傳遞律,得到xx→yz,即x→yz.
【②偽傳遞律pseudotransitivity】
證明:已知x→y,用增廣律兩邊加上w,得到xw→yw,再根據傳遞律,得到xw→z.
【③分解律decomposition】
證明:根據自反律有y→z,再根據傳遞律得到x→z.
有了分解律以及合併律之後,我們有如下這個定理:
【④復合律composition】
證明:根據增廣律以及x→y得到xw→yw,同理有yw→yz,再根據傳遞律就有xw→yz.
資料庫原理 關聯式資料庫
一 思維導圖 二 基本知識點 1 關聯式資料庫結構 1 域 一組具有相同資料型別的值的集合 如整數 實數 指定長度的字串集合 2 笛卡爾積運算 假設兩個集合d1和d2,其中d1 d2 這兩個集合的笛卡爾積d1 d2 3 笛卡爾積 可表示一張二維表,表中每一行乙個元組,表中每一列乙個域 2 關係的定義...
資料庫原理(十 七) 關係資料理論
資料依賴的公理系統 模式的分解 在乙個不規範化的關係模式中可能會出現資料冗餘 插入異常 更新異常和刪除異常,如果要解決這些問題就要用到規範化理論 規範化可以直觀地描述將具有不合適性質的關係轉換為更合適的形式。乙個低一級正規化的關係模式通過模式分解可以轉換為若干個高一級正規化的關係模式的集合,這種過程...
關聯式資料庫理論 正規化
盡可能減少冗餘 重複資料 沒有插入異常 插入不了,沒滿足復合主鍵的要求 刪除異常 把相同的內容都刪除了 修改異常 修改不完全有剩餘 關係模式中的各關係屬性之間相互依賴,相互制約 的聯絡稱為資料依賴。是關係模式中屬性之間的一種邏輯依賴關係。sn,age,dept 函式依賴於sno u f 設關係模式r...