函式依賴與正規化

2021-10-09 03:14:02 字數 1614 閱讀 2181

函式依賴與正規化

在資料庫設計過程中,往往遇到資料冗餘、修改異常、插入異常和刪除異常等問題,為了設計乙個好的資料庫,人們定義了一些好的關係模式標準,稱它們為規範的關係模式(簡稱正規化,nf)。目前共定義了多個正規化,分別為1nf、2nf、3nf、bcnf、4nf和5nf.但實際應用中,一般只要達到3nf.

函式依賴是資料庫的一種約束,決定了關係模式屬於哪種正規化。為了理解方便,需要先了解一下函式依賴的有關概念。

1.函式依賴

設r(u)是屬性u上的乙個關係模式,x和y是u的子集,r為r的任一關係,如果對於r中的任意兩個元組u,v,只要有u[x]=v[x],就有u[y]=v[y],則稱x函式決定y,或稱y函式依賴於x,記為x→y.

如果有x→u在關係模式r(u)上成立,並且不存在x的任一真子集x′使x′→u成立,那麼稱x是r的乙個候選鍵(候選碼)。也就是x值唯一決定關係中的元組。乙個表可以有多個候選鍵,可以任

意指定其中的乙個為主鍵(主碼),其他的候選鍵稱作備用鍵。

如果乙個關係的所有屬性組合成乙個鍵,則稱該關係為全碼關係屬於任何乙個候選鍵的屬性稱為主屬性,不屬於任何乙個候選鍵的屬性稱為非主屬性。

在r(u)中,如果x→y,並且對於x的任何乙個真子集x′,都有x′→y不成立,則稱y對x完全函式依賴。若x→y,但y不完全函式依賴於x,則稱y對x部分函式依賴。

在r(u)中,如果x→y(y不是x的真子集),且y→x不成立,y→z,則稱z對x傳遞函式依賴

閉包

在關係模式r(u,f)中被f邏輯蘊含的函式依賴全體叫做f的閉包,記做f+.

設f為屬性集u上的一組函式依賴,x是u的子集,那麼相對於f屬性集x的閉包用x+表示,它是乙個從f集使用推理規則推出的所有滿足x→a的屬性a的集合:x+=

如果g+=f+,就說函式依賴集f覆蓋g(f是g的覆蓋,或g是f的覆蓋),或f與g等價。

2.正規化

有了上述的函式依賴概念之後,我們再介紹正規化的概念。

(1)第一正規化(1nf):如果關係模式r的每個關係r的屬性值都是不可分的原子值,那麼稱 r是1nf的模式,r是規範化的關係。關聯式資料庫研究的關係都是規範化的關係。

(2)第二正規化(2nf):若關係模式r是1nf,且每個非主屬性完全函式依賴於候選鍵,那麼稱r是2nf的模式。也就是說,只要有任何1個非主屬性部分依賴於任何1個候選鍵,則就不是2nf.

(3)第三正規化(3nf):如果關係模式r是1nf,且每個非主屬性都不傳遞依賴於r的候選鍵,則稱r是3nf的模式。也就是說,只要有任何1個非主屬性傳遞依賴於任何1個候選鍵,則就不是3nf.

(4)bc正規化(bcnf):若關係模式r是1nf,且每個屬性都不傳遞依賴於r的候選鍵,那麼稱r是bcnf的模式。也就是說,只要有任何1個屬性(注意:3nf中指的是非主屬性,而這裡指的是任何屬性,也就是包括主屬性)傳遞依賴於任何1個候選鍵,則就bcnf.

關係模式,函式依賴,正規化

關聯式資料庫,關聯式資料庫的基本結構是關係模式,比較好的關係模式集合,能有效控制資料庫冗餘,對資料庫進行有效的管理。下面對關係模式的函式依賴,正規化和模式設計方法進行分析。知識點 關係模式,函式依賴,正規化 關係模式 關係實質上是一張二維表,表的每一行資料為乙個元組,每一列為乙個屬性。關係模式就是對...

程式設計正規化19 函式正規化與Scheme

過程 c oo c 函式正規化是面向函式返回值的 參考 參考 函式式程式設計與命令式程式設計最大的不同其實在於 函式式程式設計關心資料的對映,命令式程式設計關心解決問題的步驟這裡的對映就是數學上 函式 的概念 一種東西和另一種東西之間的對應關係。這也是為什麼 函式式程式設計 叫做 函式 式程式設計。...

學習筆記 正規化,資料依賴

正規化 說明 1 關聯式資料庫中的關係是要滿足一定要求的,滿足不同程度要求的為不同正規化。2 滿足最低要求的叫第一正規化,簡稱1nf。3 規範化定義 乙個低一級正規化的關係模式通過模式分解可以轉換為若干個高一級正規化的關係模式的集合,這種過程就叫規範化。4 bcnf滿足條件 1 所有非主屬性對每乙個...