關聯式資料庫設計理論

2021-09-13 17:41:02 字數 2805 閱讀 7874

資料依賴是通過乙個關係中屬性間值的相等與否體現出來的資料間的相互關係,是現實世界屬性間相互聯絡的抽象,是資料內在的性質,是語義的體現。現在人們已經提出了很多種型別的資料依賴,其中最重要的是函式依賴(fd)和多值依賴(mvd)。

規範化理論致力於解決關係模式中不適合的資料依賴問題。而函式依賴和多值依賴是最重要的資料依賴。

函式依賴:設r(u)是乙個關係模式,u是r的屬性集合,x和y是u的子集。對於r(u)的任意乙個可能的關係r,如果r中不存在兩個元組,它們在x上的屬性值相同,而在y上的屬性值不同,則稱「x函式確定y」或者「y函式依賴於x」,記做x→y。

在關係模式r(u)中,對於u的自己x和y,如果x→y,但y⊈x,則x→y是非平凡函式依賴。若y⊆x,則稱x→y成為平凡函式依賴

若不特別宣告,我們總是討論非平凡函式依賴。

在關係模式r(u)中,如果x→y,並且對於x的任何乙個真子集x',都有x'↛ y,則稱y完全函式依賴於x,記做部分函式依賴於x,記作x

在關係模式r(u)中,如果x→y,y→z,且y⊈x,y↛  x,則稱z傳遞函式依賴於x。

是表中可以唯一確定乙個元組的某個屬性(或者屬性組),如果這樣的碼有不止乙個,那麼大家都叫候選碼,我們從候選碼中挑乙個出來做老大,它就叫主碼。注意碼可以包含多個屬性。

設r(u)是乙個屬性的乙個關係模式,x,y和z是u的子集,並且z=u-x-y,多值依賴x→→y成立當且僅當對r的任一關係r,r在(x,z)上的每個值對應的一組y的值,這組值僅僅決定於x值而與z值無關。

關聯式資料庫中的關係必須滿足一定的規範化要求,對於不同的規範化程度可用正規化來衡量。

1nf⊃2nf⊃3nf⊃bcnf⊃4nf⊃5nf

1)第一正規化(1nf)

如果乙個關係模式r的所有屬性都是不可分的基本資料項,則r∈1nf。即屬性的原子性

第一正規化是對關係模式的乙個最起碼的要求.不滿足第一正規化的資料庫模式不能稱為關聯式資料庫.

2)第二正規化(2nf)

2nf就是不允許關係模式的屬性之間有這樣的函式依賴x→y,其中x是碼的真子集,y是非主屬性。(顯然,碼只包含乙個屬性的關係模式,如果它屬於1nf,那麼它一定屬於2nf,因為它不可能存在非主屬性對碼的部分函式依賴。)

即理解為(非主屬性完全依賴於碼)或者 (消除部分依賴)

3)第三正規化(3nf)

如果關係模式r(u,f)中不存在候選碼、屬性組y以及非主屬性z(z⊈y),使得x→y,y→z和y↛ x成立,則r∈3nf。

滿足第二正規化的條件下不存在傳遞函式依賴。

4)bc正規化(bcnf)

設關係模式r(u,f)∈ 1nf,如果對於r的每個函式依賴x→y,若y⊈x,則x必含有候選碼,那麼r∈bcnf。

換句話說,在關係模式r(u,f)中,如果每乙個決定屬性集都包含候選碼,則r∈bcnf。

由bcnf的定義可以看到,每個bcnf的關係模式都具有如下3個性質:

1、所有非主屬性都完全函式依賴於每個候選碼。(nf2)

2、所有主屬性都完全函式依賴於每個不包含它的候選碼。

3、沒有任何屬性完全函式依賴於非碼的任何一組屬性。

bcnf實現了模式的徹底分解,達到了最高的規範化程度,消除了插入異常和刪除異常。

4)第四正規化(4nf)

關係模式r(u,f)∈1nf,如果對於r的每個非平凡多值依賴x→\→y(y⊈x),x都含有候選碼,則r∈4nf

關係模式規範化時一般應遵循以下原則:

1、關係模式進行無損連線分解。

2、合理選擇規範化程度。

3、正確性與可實現性原則。

關係模式規範化的步驟

關係模式的分解

關係模式的規範化過程是通過對關係模式的分解來實現的,但是把低一級的關係模式分解為若干個高一級的關係模式的方法並不是唯一的。在這些分解方法中,只有能夠保證分解後的關係模式與原關係模式等價的方法才有意義。

關係模式分解的三個定義:

1)、分解具有「無損連線性」

2)、分解要「保持函式依賴」

3)、分解既要「保持函式依賴」,又要具有「無損連線性」

規範化理論提供了一套完整的模式分解演算法,按照這套演算法可以做到:

1)若要求分解具有無損連線性,那麼模式分解一定能夠達到4nf

2)若要求分解保持函式依賴,那麼模式分解一定能夠達到3nf,但不一定能夠達到bcnf。

3)若要求分解既具有無損連線性,又保持函式依賴,則模式分解一定能夠達到3nf,但不一定能夠達到bcnf。

級別特點

無損分解

保持fd

1nf屬性值是原子值無無

2nf消除了非主屬性對碼的部分函式依賴

可達到可達到

3nf消除了非主屬性對碼的部分函式傳遞

可達到可達到

bcnf

消除了主屬性對碼的部分和傳遞函式依賴

可達到不一定

4nf消除了非平凡函式依賴的多值依賴

可達到不一定

5nf消除了不是由候選碼所蘊含的連續依賴

可達到不一定

關聯式資料庫設計理論

關聯式資料庫的模式設計 本章的理論性較強,學習時有無從下手的感覺,在學習時應多加思考,從概念出發去理解理論,前後的理論有較強的聯絡,因此要逐個理解,但對於理論的證明等內容則不必深究,本章重點是函式依賴,無損聯接 保持依賴和正規化的概念。一 關係模式的設計問題 識記 關聯式資料庫 是以關係模型為基礎的...

資料庫筆記(三)關聯式資料庫設計理論

sname sdept mname cname grade 1學生 1 學院 1 院長 1 課程 1902 學生 2 學院 2 院長 2 課程 2802 學生 2 學院 2 院長 2 課程 1 100修改異常 修改了乙個記錄中的資訊,但是另乙個記錄中相同的資訊卻沒有被修改。刪除異常 刪除乙個資訊,那...

關係模式正規化級別判斷 關聯式資料庫設計理論

函式依賴 記 a b 表示 a 函式決定 b,也可以說 b 函式依賴於 a。如果 是關係的乙個或多個屬性的集合,該集合函式決定了關係的其它所有屬性並且是最小的,那麼該集合就稱為鍵碼。對於 a b,如果能找到 a 的真子集 a 使得 a b,那麼 a b 就是部分函式依賴,否則就是完全函式依賴。對於 ...