逐一檢查f中各函式依賴fdi:x->y,若y=a1a2 ak,k>=2,則用來取代 x -> y
逐一檢查f中各函式依賴fdi:x->a,令g = f -,若a ∈ xg+,則從f中去掉此函式依賴(因為f與g等價的充要條件a)
逐一檢查f中各函式依賴fdi:x->a,設x = b1b2 bm,逐一考查bi(i =1,2, ,m),若a ∈ (x - bi)f+,則以x - bi 取代x(因為f與f-∪等價的充要條件是a∈zf+,其中z = x - bi)。
###以上是極小化的演算法思想,下面舉乙個例子進行詳細的解釋
f = ,求其極小依賴集。
1、分解右部為多屬性的函式依賴得:f=
2、去多餘函式依賴
考查b -> c:g = f-,因為 c 不屬於 (b)的g的閉包,所以不能去掉b->c。
考查b->d:g=f-,因為d ∈(b)g+=,所以應該去掉b->d。
f =
考查c->d:g=f-,因為d 不屬於(c)g+ = ,所以不能去掉c ->d。
考查de ->c:g = f-,因為c ∈ (de)g+=,所以應該去掉 b->d。
f=考查ce -> a:g = f -,因為 a 不屬於 (ce)g+ =,所以不能去掉 ce ->a.
考查ce->b:g = f-,因為b 不屬於(ce)g+ =,所以不能去掉ce->b。
考察e -> c:g =f - ,因為 c不屬於(e)g+=,所以不能去掉ce->c.
於是f =
3、去左部多餘屬性
考查ce->a。(ce)f+=
假設e是多餘的,c->a代替ce->a,(c)f+(c的f閉包)=。因為(c)f+的閉包≠(ce)f+的閉包,所以e不是多餘的,不能去掉。
假設c是多餘的,e->a代替ce->a,(e)f+(e的f閉包)=,因為(e)f+的閉包=(ce)f+的閉包,所以c是多餘的
之後的f =
考查ce->b,(ce)f+=
假設e是多於的,c->b代替ce->b,(c)f+=。因為(c)f+的閉包≠(ce)f+的閉包,所以e不是多餘的,不能去掉。
假設c是多餘的,e->a代替ce->a,(e)f+=,因為(e)f+的閉包=(ce)f+的閉包,所以c是多餘的
之後的f =
所以根據定理,求得的f位與函式依賴集等價的極小函式依賴集。
資料庫原理
基本內容 acid與cap 資料庫事務可能引發的問題 資料庫鎖的型別 封鎖協議 兩段鎖協議 資料庫隔離級別 mvcc的實現步驟 mysql事務如何實現 資料庫鎖如何實現 xa兩段提交協議。1.acid是資料庫事務正確執行的四個基本要素 原子性 事務是資料庫併發控制的最小單位,要麼全部提交成功,要麼全...
資料庫原理
資料庫是乙個以某種有組織的方式儲存的資料集合。也就是 儲存有組織資料的容器 乙個檔案或一組檔案 儲存資料的工具,或者說是儲存資料的集合,結構為 模式 內模式 外模式,由dbms 資料庫作業系統 來控制,達到管理資料的目的 特點 兩大資料模型 注 關係與非關聯式資料庫 資料庫三層次 我們要將資料存放到...
資料庫原理
資料建模分類 對資料建模的模型分類,分為以下兩大類 概念模型 又叫資訊模型 按照使用者觀點對現實世界資料進行建模 例如 實體 聯絡模型 e r模型 資料模型 按照計算機系統的觀點對現實世界資料進行建模 例如 關係模型 資料模型三要素 資料結構 資料操作 資料的完整性約束條件 對 的補充 資料的完整性...