資料庫知識總結 關係規範化(三)

2021-09-24 02:17:45 字數 1414 閱讀 4599

模式分解的目標是:更高的正規化級別、無損分解、保持函式依賴。 但是這三個目標往往不能同時達到,我們總要捨棄一些。

函式依賴在屬性集合上的投影:

我們在進行分解的時候需要將函式依賴集合分解到不同的屬性集合上,這個時候我們就需要求解函式依賴集合在相應集合上的投影。

定義:x->y屬於f+並且xy屬於集合w,那麼得到的函式依賴集合就是f在屬性集合w上的投影。

計算的方法:計算出集合w上的各個屬性的閉包,然後得到相應的函式依賴,注意求集合的閉包,不僅要求的是單個屬性的閉包,還要包括組合屬性的閉包。

計算之後可以進行一下化簡,得到其最小覆蓋。

1、定義: 無損連線分解就是在分解的過程中不要增加多餘的元組,最基本的判定的方法就是將各分解的關係進行自然連線,與最開始的關係進行比價,如果是相等的沒有增減資訊,那麼就是無損分解,否則就不是。非無損分解似乎一般出現的問題都是增加了多餘的元組。

2、判定的方法: 使用矩陣轉換的方法進行判斷。

3、如何得到關係模式r(u)的乙個無損連線的分解

對於關係模式r(u),將其分解為u1和u2兩個關係模式,那麼:

判定的方法就是通過矩陣的方法得到的。

1、定義

保持函式依賴的模式分解,也就是說f中的函式依賴不能因為分解而丟失。

2、判定的方法

保持函式依賴也就是f+=(ufi)+,所以判斷某模式分解是否滿足保持i函式依賴,那麼要繼續以下兩個方面的判斷:

f屬於(ufi)+

ufi屬於f+

而判斷函式依賴集是否屬於另乙個函式依賴集合,也就是判斷其中的函式依賴是否在對方的函式依賴集合中,而判斷函式依賴是否在該函式依賴集合中就是要計算屬性的閉包。

3、怎樣得到r(u)保持函式以來的模式分解

進行分解,只要f中的所有的函式依賴可以在各個分解中的函式依賴中找到,那麼就是保持函式依賴的分解。

我們進行分解的很多時候是要到達更高的正規化,但是在這個過程中我們又要考慮無損連線和保持函式依賴。

1、達到bcnf無損連線的分解演算法

對於各個模式的分解,看是否每乙個都滿足bcnf,如果都滿足,那麼該分解就是最終的結果,否則進行以下的操作

如果在某個分解中存在x->y但是x不是碼,那麼我們就將xy分解出去,成為乙個單獨的關係模式,這樣的話x就成為了碼,也就符合bcnf的要求了。如此進行下去,直到消除了所有的不滿足的函式依賴關係

注意在判斷每個分解是否符合bcnf的時候,我們要在每個fi+裡進行判斷,而不是僅僅是fi

而無損,是因為我們分出去的元素會作為自然連線的橋梁,保證了我們不會額外增加其餘的元組

2、達到4nf的無損連線的分解

方法與bcnf的相同,因為函式依賴是特殊的多值依賴,所以除了要對多值依賴進行判斷之外i,還要對函式依賴進行相應的判斷。

關聯式資料庫規範化總結

最近本人在準備軟考,所以不得不拿起大一大二時的書本,再次複習一遍。在做軟考的試題中遇到了幾個常遇到的問題,在這裡就討論一下關係型資料庫規範化的問題。關係型資料庫設計的理論核心是資料間的函式依賴問題,衡量的標準是關係規範化的程度及分解的無損連線和保持函式的依賴性。函式依賴是最重要的資料依賴。函式依賴又...

關聯式資料庫規範化總結

最近本人在準備軟考,所以不得不拿起大一大二時的書本,再次複習一遍。在做軟考的試題中遇到了幾個常遇到的問題,在這裡就討論一下關係型 資料庫規範化的問題。關係型資料庫設計的理論核心是資料間的函式依賴問題,衡量的標準是關係規範化的程度及分解的無損連線和保持函式的依賴性。函式依賴是最重要的資料依賴。函式依賴...

總結 關係型資料庫規範化

關係型資料的關係模式是乙個五元組 r u,d,dom,f r 關係名 u 屬性名的集合,即屬性組 d u中屬性所來自的域 相同型別的值的集合 dom 屬性 u 到域 d 的對映 f 屬性組u上的一組資料依賴。由於d和dom對模式設計關係不大,本文把關係模式化簡成為乙個三元組,即 r u,f 設r u...