數據依賴的公理系統
- 補充:候選碼只有一個非主屬性,單屬性 至少是第二屬性
- 非主屬性爲空爲第三範式
- 所有決定方都是碼 爲 BCNF
- Armstrong公理系統
- 一套推理規則,是模式分解算法的理論基礎
- 用途
- 求給定關係模式的碼
- 從一組函數依賴求得蘊涵的函數依賴
- 函數依賴的閉包
- 【F的閉包定義】:
- 在關係模式R<U,F>中爲F所邏輯蘊含的函數依賴的全體叫作 F的閉包,記爲F +。
- 屬性集X關於函數依賴集F的閉包
- 設F爲屬性集U上的一組函數依賴,X、Y 屬於U, XF+={ A|X→A能由F根據Armstrong公理導出},XF+稱爲屬性集X關於函數依賴集F的閉包。
- 數據依賴的公理系統(續)
- 對X(i)中的每個元素,依次檢查相應的函數依賴,將依賴它的屬性加入B
- 實例
- A的閉包是A B的閉包是BD
- 分類候選碼計算方法
- 定理1:對於給定的關係模式R及其函數依賴集F,若X(X∈R)是L類屬性,則X必爲R的任一候選碼的成員。
- 閉包包含所有
- 定理2:對於給定的關係模式R及其函數依賴集F,如果X(X∈R)是R類屬性,則X不在任何候選碼中。
- 定理3:設有關係模式R及其函數依賴集F,如果X 是R的N類屬性,則X必包含在R的任一候選碼中。
- 例子
- 多屬性依賴集候選碼求解法
- 示例
- 最小函數依賴集
- 如果函數依賴集F滿足下列條件,則稱F爲一個極小函數依賴集,亦稱爲最小依賴集或最小覆蓋。
- (1)F中任一函數依賴的右部僅含有一個屬性。
- (2)F中不存在這樣的函數依賴X→A, 使得F與F-{X→A}等價。
- 即F中的函數依賴均不能由F中其他函數依賴導出
- (3)F中不存在這樣的函數依賴X→A, X有真子集Z使得F-{X→A}∪{Z→A}與F等價。
- 說明:每個函數依賴集至少存在一個最小依賴集,但並不一定惟一。
- 示例
- 計算最小依賴集算法
- 解析:①A→B 看後面A的閉包是否有B 有則可以去掉A→B A→C C→A 推不出A→ B 不可去掉
- 捂住②B→A 看剩餘的閉包是否有A B的閉包推出C,C推出A ,可以去掉 剩下4個
- 捂住③也是新② B推不出C 留下 此時①③④⑤留着
- 捂住A→C A的閉包可以推出B B推出C 可以推出C 則沒有留下的必要④去掉
- 捂住C→A C的閉包是自己 推不出A留下 即①③⑤留下
- 解析:①一定留下 ②也留的話從③開始捂住B可以推出A,A可以推出C 刪去③
- 捂住第④個 A推出B B推出A推不出C留下 此時①②④留下
- 捂住⑤ C的閉包是自己 留下即①②④⑤
- 定理1:對於給定的關係模式R及其函數依賴集F,若X(X∈R)是L類屬性,則X必爲R的任一候選碼的成員。
- 【F的閉包定義】: