1.判斷下列模式分別屬于哪個范式(最高范式)并說明理由。
(1).R({S,T,J},{(S,J) -> T,(S,T) -> J,T -> J})
(2).R({S#,SD,SL,SN},{S# -> SD,S# -> SN,S# -> SL,SD -> SL})
(1)解:碼是(S,J) (S,T)
存在T->J,而T不是碼所以不是BCNF
屬于3NF。因為沒有任何非主屬性對碼部分函數依賴或者傳遞依賴。
(2)解:ZNF關系的碼為S#,存在對碼的傳遞函數依賴。
2.設關系模式R<A,B,C,D,E,F>,函數依賴集F={AB→E,AC →F,AD →B,B →C,C →D}
證明AB、AC、AD均是候選碼。
提示:證明AB為候選碼 即證明 (AB)F+={A,B,C,D,E,F} 且AF+≠{A,B,C,D,E,F} 、BF+≠{A,B,C,D,E,F}
閉包內容參看教材p191-192 定義6.13、例6.11
![]()
3.設關系模式R<A,B,C,D>,
函數依賴集F={A→C , C→A , B→AC , D→AC , BD→A}
求F的最小函數依賴集。
提示:參看教材p193-194 定義6.15、定理6.3、例6.13
也可參看以網上實例:最小函數依賴-其它文檔類資源-CSDN文庫
解:
F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}
F中的B→C可以從B→A和A→C推導出來,刪掉B→C可得:
F={A→C,C→A,B→A,D→A,D→C,BD→A}
同里可以刪掉D→C可得:
F={A→C,C→A,B→A,D→A,BD→A}
F中的BD→A可以從B→A 和 D→A推導得來,刪掉BD→A可得:
F={A→C,C→A,B→A,D→A }
所以F的最小函數依賴集Fmin={A→C,C→A,B→A,D→A }。