1.一對一聯絡
2.一對多聯絡
3.多對多聯絡
是乙個關係內部屬性與屬性之間的一種約束關係
是現實世界屬性間相互聯絡的抽象
是資料內在的性質 是語義的體現
1.函式依賴
2.多值依賴
例:描述乙個學生關係,可以有學號、姓名、系名等屬性。
乙個學號只對應乙個學生,乙個學生只在乙個系中學習 「學號」值確定後,學生的姓名及所在系的值就被唯一確定。
現給出乙個關係模式找出其問題:
u =f=
(1)資料冗餘
(2)更新異常
(3)插入異常
(4)刪除異常
把這個單一的模式分成三個關係模式:
s(sno,sdept,sno → sdept);
sc(sno,cno,grade,(sno,cno) → grade);
dept(sdept,mname,sdept → mname);
這三個模式都不會發生插入異常、刪除異常的問題,資料的冗餘也得到了控制。
x→y,但y⊈x則稱x→y是非平凡的函式依賴。
x→y,但y⊆x 則稱x→y是平凡的函式依賴。
例:在關係sc(sno, cno, grade)中,
非平凡函式依賴: (sno, cno) → grade
平凡函式依賴: (sno, cno) → sno
(sno, cno) → cno
在關係sc(sno, cno, grade)中,有:
由於:sno ↛grade,cno ↛ grade,
因此:(sno, cno) → grade (sno,cno)→sdept是部分函式依賴
因為sno →sdept成立,且sno是(sno,cno)的真子集
在關係std(sno, sdept, mname)中,有:
sno → sdept,sdept → mname, mname傳遞函式依賴於sno。
第一正規化(1nf)
第二正規化(2nf)
第三正規化(3nf)
bc正規化(bcnf)
第四正規化(4nf)
第五正規化(5nf)
若關係模式r∈1nf,並且每乙個非主屬性都完全函式依賴於任何乙個候選碼,則r∈2nf
例:s-l-c(sno,sdept,sloc,cno,grade)
(sno,cno)→grade,sno→sdept,
(sno,cno)→sdept,sno→sloc,
(sno,cno)→sloc,sdept→sloc
s-l-c的碼為(sno,cno)
s-l-c滿足第一正規化。
非主屬性sdept、sloc並不完全依賴於碼
關係模式s-l-c不屬於2nf
產生問題:
插入異常
刪除異常
修改複雜
設關係模式r∈1nf,若r中不存在這樣的碼x、屬性組y及非主屬性z(z ⊇ y), 使得x→y,y→z成立,y ↛ x不成立,則稱r∈ 3nf。
例:2nf關係模式s-l(sno, sdept, sloc)中 函式依賴:
sno→sdept
sdept → sno
sdept→sloc
可得:sno→sloc,即s-l中存在非主屬性對碼的傳遞函式依賴,s-l 不屬於3nf
設關係模式r∈1nf,若x →y且y 不含於 x時x必含有碼,則r∈bcnf。
換言之,在關係模式r中,如果每乙個決定屬性集都包含候選碼,則r∈bcnf。
例子:關係模式sjp(s,j,p)中,s是學生,j表示課程,p表示名次。
每乙個學生選修每門課程的成績有一定的名次,每門課程中每一名次只有一 個學生(即沒有並列名次)。
由語義可得到函式依賴:
(s,j)→p;(j,p)→s
(s,j)與(j,p)都可以作為候選碼。
關係模式中沒有屬性對碼傳遞依賴或部分依賴,所以sjp∈3nf。
不允許有非平凡且非函式依賴的多值依賴。 允許的非平凡多值依賴實際上是函式依賴。
在關係模式r中為f所邏輯蘊涵的函式依賴的全體叫作f的閉包,記為f +。
設f為屬性集u上的一組函式依賴,x、y 屬於u, xf+=,xf+ 稱為屬性集x關於函式依賴集f的閉包。
例:已知關係模式r,其中u=;f=。
求(ab)f+ 。
ab→c,b→d
得出abcd
c→e,ac→b
得出abcde
所以閉包為abcde
若要求分解具有無損連線性,那麼模式分解一定能夠達到4nf。
若要求分解保持函式依賴,那麼模式分解一定能夠達到3nf,但不一定能夠達到bcnf。
若要求分解既具有無損連線性,又保持函式依賴,則模式分解一定能夠達到3nf,但不一定能夠達到bcnf。
資料庫第六章
一 關係模式由五部分組成,是乙個五元組 r u,d,dom,f 關係名r是符號化的元組語義 u為一組屬性 d為屬性組u中的屬性所來自的域 dom為屬性到域的對映 f為屬性組u上的一組資料依賴 二 一對一聯絡 設x,y為關係中的屬性或屬性組,它們的所有可能取值組成兩個集合。如果對於x中的任一具體值y中...
資料庫第六章作業
作業完成者 王典 2013211958 14 從供選擇的答案中選出應填入下面敘述中內的最確切的解答。實體聯絡模型 e r圖 中的基本語義單位是實體和聯絡。e r模型的圖形表示稱為e r圖。聯絡可以同a 實體有關。實體與實體之間的聯絡可以是b 利用e r模型進行資料庫的概念設計,可以分成3步 首先設計...
第六章 資料庫原理
6.1 sql語言的功能有哪些 常見筆試題 6.2 內鏈結與外連線有什麼區別 select fieldlist from table1 inner join table2 on tablel.column table2.column 6.3 什麼是事務 6.4 什麼是儲存過程?它與函式有什麼區別與聯...