你現在的位置:首頁 >> 教學內容 >> 第7章 | 重難點
概念搜尋
§7.3.2 函式依賴保持性
定義5 設關係模式r具有屬性集u和函式依賴集f,ρ=(r1,...,rk)是r的乙個分解,ui是ri的屬性集,fi是f在ui的投映。
若f+=(∪i=1kfi)+,則稱分解ρ具函式依賴保持性?
[演算法2]函式依賴保持性的判斷演算法
輸入:函式依賴集合f、f1、f2、…、fk,記g=(∪
i=1kfi)
輸出:是否f+
=g+方法
(1)for 每個x→y∈f do
if y 不屬於x關於g的閉包 then 輸出 『f+
≠g+』停止
endfor;
(2)輸出『f+
=g+』停止.
由引理4, f+
=g+的充分必要條件是g
及f,由g的定義,前者是必然的,只需考慮後者。
該演算法實際上是通過判斷f
來判別f+
=g+。
關係模式分解的例子:
考慮右圖所示的關係模式,比較幾個分解方案,是否具有函式依賴保持性
學生(學號,係屬,主任) f=
分解1 ρ1=.
f1=f2=f3=φ, g+=(f1→f2→f3)+=φ,
因f+≠g+,故ρ1不具有函式依賴保持性。
分解2 ρ2=.
f1=,f2= ,
g+=(f1∪f2)+ =,
因g+缺少『係屬→主任』,故f+≠g+,
從而ρ2不具有函式依賴保持性。
分解3 ρ3=.
f1=,f2=,
容易看到g=(f1∪f2)=f,故f+=g+ ,
故ρ3具有函式依賴保持性。
檢驗分解的函式依賴保持性
輸入 關係模式r的函式依賴集f和分解p 輸出 p是否保持函式依賴的判定。方法 1 for 每個x y f do 2 begin 3 if 不存在i使得xyr then 檢驗x y是否被分解p所保持 4 begin 5 z x 6 repeat 7 for i 1 to k do 8 z z u z ...
保持函式依賴的模式分解
一 轉換成3nf的保持函式依賴的分解 演算法 是關係模式r的乙個分解,u f 並設f是乙個最小依賴集,記fdi為xi alj,其步驟如下 對r的函式依賴集f進行極小化處理 處理後的結果仍記為f 找出不在f中出現的屬性,將這樣的屬性構成乙個關係模式。把這些屬性從u中去掉,剩餘的屬性仍記為u 若有x a...
判斷該分解是否保持函式依賴性 函式節流與函式防抖
題圖 mike labrum這裡以判斷頁面是否滾動到底部為例,普通的做法就是監聽window物件的scroll事件,然後再函式體中寫入判斷是否滾動到底部的邏輯 function onscroll window on scroll onscroll 這樣做的乙個缺點就是比較消耗效能,因為當在滾動的時候...