作者: nonsweet (不甜) 站內: Examination
標題: [課業] 資料庫/正規化及推導候選鍵
時間: Sat Jul 3 17:27:02 2010
1.考試科目:資料庫應用
2.章節名稱or篇名(單元關鍵字):正規化、候選鍵
3.目前參考用書or考古題出處:98調查局資料庫第一題
4.想問的內容:我整理一下題目給的資訊
R1(A, B, C, D, E, F)
FD有 {A, B, C}→E;{A, B, C}→D;{A, B, C}→F;D→E;{A, B}→C
R2(G, H, I, J, K)
FD有 {G, H}→I;{G, H}→J;{G, H}→K;H→G
R3(P, Q, S, T)
{P, Q}→T;{P, Q}→S;T→Q
R4(T, U, V, X, Y, Z)
{T, U, V}→X;{T, U, V}→Y;{T, U}→Z
(二) R1、R2、R3、R4分別不滿足那個正規化(Normal Form)?
(三) R1、R2、R3、R4分別應如何更改,使之滿足BCNF(Boyce-Codd Normal Form)?
5.想法:
我知道候選鍵可以用求包的方式來求得,不過這一題的FD讓我有點手足無措,
原本我是這樣想的:
R1候選鍵為{A, B, C},不符合3NF與BCNF。
R2候選鍵為{G, H},不符合2NF與BCNF。
R3候選鍵為{P, Q},不符合3NF與BCNF。
R4候選鍵為{T, U, V},不符合2NF與BCNF。
可是當我在作BCNF的時候,在R1即出現問題,使用heath's 方法分割表格:
不符合之FD:D→E;{A, B}→C
合併不符合的FD:{A, B, D}→{C, E}
R11(A, B, D, F),主鍵為?????
R12(A, B, D, C, E),主鍵為 {A, B, D}
R11表格中似乎沒有適當的FD可以決定 D 跟 F 屬性。
於是我想我可能候選鍵選錯了,後來又這樣想:
FD具有自我決定性,即{A, B}→{A, B},加上{A, B}→C
所以{A, B}→{A, B, C},
R1的候選鍵為{A, B},不符合3NF與BCNF。
BCNF的規定:FD的決定因子都要是候選鍵。
所以不符合的FD有:{A, B, C}→E;{A, B, C}→D;{A, B, C}→F;D→E?????
這樣感覺蠻怪的...沒辦法做表格分割。
所以 R1 (以及R2、R3、R4)的候選鍵該怎麼選擇呢?
是不是我在想法上有哪裡走偏了?
還請各位高手提供一些建議,感謝大家 <(_ _)>
Saturday, July 3, 2010
[課業] 資料庫/正規化及推導候選鍵
Subscribe to:
Post Comments (Atom)
→ nonsweet:啊...R11的主鍵是{A, B}嗎?如果它可以 220.133.50.57 07/03 17:37
ReplyDelete→ nonsweet:決定{A, B, C},那應該可以產生遞移相依 220.133.50.57 07/03 17:38
→ nonsweet:(自問自答XD) 220.133.50.57 07/03 17:38
→ nonsweet:呃...對不起,上面的推文我搞錯了 orz 220.133.50.57 07/03 17:39