国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 信息時代 > 規(guī)范化方法(數(shù)據(jù)庫)

規(guī)范化方法(數(shù)據(jù)庫)

時間:2022-12-25 12:30:01 | 來源:信息時代

時間:2022-12-25 12:30:01 來源:信息時代

    規(guī)范化方法 : 將非規(guī)范化關(guān)系模式分解成多個規(guī)范化模式的方法,亦即是將一個函數(shù)依賴模式(R,∑)分解成屬于第3范式或?qū)儆贐C范式的幾個函數(shù)依賴模式,或?qū)⒁粋€多值依賴模式(R,∑)分解成幾個屬于第4范式的幾個多值依賴模式,或?qū)⒁粋€連接依賴模式(R,∑)分解成幾個屬于第5范式的幾個連接依賴模式的方法。
無損依賴地分解成屬于第3范式的方法,是于1977年由Bernstein給出的。既無損連接又無損依賴地分解成屬于第3范式的方法是于1979年由Biskup、Dayal及Berestein給出的。包含函數(shù)依賴及多值依賴的多值依賴模式無損連接地分解為第4范式的方法是于1978年由Aho、Beeri及Ulman給出的。無損連接地分解為第5范式的算法是于1979年由Linj及Demers給出的。
為了將一個函數(shù)依賴模式(R,∑)分解成幾個屬于第3范式的函數(shù)依賴模式,需要先計算與∑等價(等價請參看函數(shù)依賴條目)的正則最小函數(shù)依賴集(正則函數(shù)依賴集及最小函數(shù)依賴集請見函數(shù)依賴條目),即需要先計算與∑等價的滿足以下條件的函數(shù)依賴集∑0:
(1)∑0中每個函數(shù)依賴右部都只有一個屬性,
(2)∑0中不存在這樣的函數(shù)依賴X→A,使得∑0*=(∑0-{X→A})*,即∑0中無多余依賴。
(3)∑0中不存在這樣的函數(shù)依賴X→A及Y⊂X使∑0*=((∑0∪{Y→A}-{X→A})*,即每個函數(shù)依賴左部都無多余屬性。
求給定的函數(shù)依賴集合∑的等價正則最小函數(shù)依賴集合的方法如下:
(1)右部化為單個屬性形成∑1: 將∑中的每個函數(shù)依賴X→Y全用{X→A|A∈Y}來代替,即形成集合∑1={X→A|A∈Y,X→Y∈∑}。
(2)去掉多余依賴形成∑2:在∑1中依次取函數(shù)依賴X→A,令∑0`=∑1-{X→A},并求X∑′+,若A∈X∑′+,即(∑-{X→A})⊧X→A, 則刪除X→A,刪除后仍記為∑1。依次將函數(shù)依賴全部取完,并都做了相應(yīng)的處理完后,將最終的∑1改記為∑2。
(3)去掉左邊的多余屬性形成∑0: 逐個取出∑2中的每個X→A,做以下工作,設(shè)X=B1,…,Bm
①令X0=X,i=0。

③i<m則i=i+1轉(zhuǎn)②,否則(i=m),則令∑0={Xm→A|X→A∈∑2}即為所求。
在計算出正則最小函數(shù)依賴集的基礎(chǔ)上,將(R,∑)分解成幾個無損連接無損依賴的屬于第3范式的函數(shù)依賴模式的方法如下:
首先求出與∑等價的最小函數(shù)依賴集,并仍記為∑,然后按以下幾種方法進(jìn)行:
若有X→A∈∑且X∪{A}=R,則輸出μ={R0,∑0)}結(jié)束,其中R0=R,∑0=∑。
若不是情況1,則把不在∑中出現(xiàn)的屬性合在一起形成R0, 并令∑0={∅}。
對每一個Xi→Ai∈∑(i=1,…,n),令Ri=Xi∪{Ai},令∑i={X→Y|X→Y∈∑*,X, YRi}, 任取(R,∑)的一個鍵X`,令Rn+1=X`,令∑n+1={X→Y|X→Y∈∑*∧X,YRn+1}。
輸出μ={(R0,∑0),(R1,∑1),…,(Rn+1,∑n+1)}結(jié)束。
將一個函數(shù)依賴模式(R,∑)分解成幾個屬于第BC范式的無損連接的函數(shù)依賴模式的算法是(下面用KEY(R,∑)表示函數(shù)依賴模式(R,∑)的全部鍵的集合):
(1)首先求出∑的等價的正則最小函數(shù)依賴集合,不失一般性我們?nèi)杂浰鼮椤啤?br>(2)令ρ1={(R,∑)}。
(3)若已知ρk(k=1,2,…),檢查ρk中的每一個(Ri,∑i)是否都屬于BCNF,若都屬于,則ρk即為所求的ρ,輸出ρ,算法終止。
(4)若ρk中有(Ri,∑i)不屬于BCNF,那么必有X→A∈Xi*,A∉X且X∉KEY(Ri,∑i)。這時令Ri1=X∪{A},Ri2=Ri-{A},并令:ρk+1={(R1,∑1),…,(R_((i-1)),∑i-1),(Ri1,∑i1),(Ri2,∑i2),(Ri+1,∑i+1),…,(Rn,∑n)}。其中,∑i1={X→Y|X∑_((i))*⊧X→Y且X,YRi1},∑i2={X→Y|X∑_((i))*⊧X=Y且X,YRi2}。然后再回到步驟(3)。
已證明這個分解是無損連接的,但一般情況下不能保證是無損依賴的。
將一個不屬于4NF的多值依賴模式分解為幾個屬于4NF的多值依賴模式的無損連接的方法是:
對于多值依賴模式(R,∑),令R1=R,∑1=∑,ρ1={(R1,∑1)},及i=1。
若已知ρi={(R1,∑1),…,(Ri,∑i)}中仍有(Rk,∑k)不屬于4NF,則用(Rk1,∑k1)及(Rk2,∑k2)來代替(Rk,∑k),而其他多值依賴模式不變,生成一個ρi+1,這里Rk1=X∪Y,Rk2=Rk-Y,∑k1用以下方法給出: 對每個X→Y∈X∑_((i))*, 若XRk1, 則X→(Y∩Rk1)∈∑k1,對每個X→→Y∈X∑_((i))*,若XRk1,則X→→(Y∩Rk1)∈∑k1; Rk2用以下方法給出: 對每個X→Y∈X∑_((i))*,若XRk2, 則X→(Y∩Rk2)∈∑k2, 對每個X→→Y∈X∑_((i))*, 若XRk2,則X→→(Y∩Rk2)∈∑k2。
直到某個ρn={(R1,∑1),…,(Rn,∑n)}中每個(Rk,∑k)都屬于4NF為止,ρn即為所求。已證明這種分解是無損連接的但不一定是無損依賴的。
將一個不屬于5NF的連接依賴模式分解為幾個無損連接的屬于5NF的連接依賴模式的方法是:
(1)對于連接依賴模式(R,∑),令R1=R,∑1=∑,ρ1={(R1,∑1)},及i=1。
(2)若已知ρi={(R1,∑1),…,(Ri,∑i)}中仍有(Rk,∑k)不屬于5NF,則在∑k中取使其不屬于5NF的連接依賴μ=Rk(1)⋈Rk(2)⋈…⋈Rk(p)。 用(Rk(i)),∑k(i))(i=1,…,p)來代替(Rk,∑k),而其他多連接賴模式不變,生成一個ρi+1,其中∑k(i)是∑在Rk(i)上的投影。
直到某個ρn={(R1,∑1),…,(Rn,∑n)}中每個(Rk,∑k)都屬于5NF為止,ρn即為所求。
已證明這種分解是無損連接的。

關(guān)鍵詞:數(shù)據(jù),方法,規(guī)范化

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉