Google Search Box

自訂搜尋

Saturday, July 3, 2010

[課業] 資料庫/正規化及推導候選鍵

作者: 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)的候選鍵該怎麼選擇呢?
是不是我在想法上有哪裡走偏了?
還請各位高手提供一些建議,感謝大家 <(_ _)>

1 comment:

  1. → nonsweet:啊...R11的主鍵是{A, B}嗎?如果它可以 220.133.50.57 07/03 17:37
    → 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

    ReplyDelete