函式依賴保持性

2021-08-25 20:30:46 字數 893 閱讀 3335

你現在的位置:首頁 >> 教學內容 >> 第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 這樣做的乙個缺點就是比較消耗效能,因為當在滾動的時候...