Re: [考題] 資料庫主鍵問題

看板Examination作者 (開弓)時間12年前 (2013/08/29 18:29), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《Sunofgod ( )》之銘言: : 題目來自101國營資訊專業科目非選擇題 : http://ppt.cc/V4oO 公職王的擬答 : Joe 的公司有3 名員工及3 個部門。員工分別是Bob、Joe 及Mary(按字母順序排序) : 部門分別是HR MIS Sale(按字母順序)。其中Bob屬HR部門 Joe屬MIS部門 Mary為新進同仁 : 尚未有部門 Sale部門則無員工 : 資料塑模中建立兩個關聯 員工任務及部門 : 用來紀錄員工任務及隸屬部門。 : 員工任務的關聯綱目為 員工任務(EID,EName,DID,JobID,JName,Title,Salary) : ,函數相依如下 EID-->{EName,DID,JobID} : JobID-->JName : {EID,Title}-->Salary : 部門的關聯綱目為 部門(DID,DName) 主鍵為DID : 員工任務.DID 參照 部門.DID : Mary因不屬於任何部門 故DID為NULL : (一)員工任務的主鍵為? : (二)請將員工任務分解成滿足3NF的關聯綱目,並指出各綱目主鍵 : 查到的答案為EID : 但我想問為什麼{EID,Title}不行? : 很弱的問題 請多多包涵 我廢話比較多用回文比較快...。 你仔細看關聯表跟列舉的相依關係 會發現沒有任何項目可以決定Title與EID 所以實際上應該是EID, Title可以決定所有項目 所以aids講的是對的 你的認為也是對的 可是網路上的解答,這題,是錯的。 然後... EID Title 兩個屬性可以決定整個關聯表屬性,且無其他多餘(非鍵值)屬性 這是主鍵沒錯 主鍵應該要滿足兩個條件,最小性或者最簡性,以及唯一性,然後從候選鍵中被選出 (如果有候選鍵的話啦) 假設你把其他亂七八糟的非鍵值屬性都扔進去... 的確照你的理解是一樣可以決定關聯表內其他值沒錯 實際上也有這種狀況,但不叫主鍵 比如說R(a,b) 裡面 已知相依關係a->b 所以a->ab是成立的 當然ab->b或者ab->ab也都成立 但b->b與a->a,兩個拆出來看根本廢話(攤手) 這是理所當然的吧? 所以當你把所有廢話全部刪掉之後,就會得到最簡表示相依關係,a->b,於是a為主鍵 那一定要把非鍵值屬性加進去的狀況下有沒有? 有阿,超鍵。 我另外舉一個例子 R(a,b,c) a->b, b->c 很明顯a是主鍵屬性 abc中有遞移關係,但別管他 這時候我們可以很清楚的判斷a->{a,b,c}是可以成立的 當然,ab->{a,b,c}與abc->{abc}也一樣都成立 所以ab是超鍵之一,abc也一樣是超鍵之一 同樣的a也是超鍵。 你可以找一下超鍵,候選鍵,主鍵的定義 Google就有 超鍵是「只要可以表達決定整個關聯,他就是超鍵」 候選鍵是「要滿足超鍵條件,同時無多餘非鍵值屬性」 主鍵是「要滿足候選鍵。」 然後所謂的非鍵值屬性就是多餘屬性 所謂的鍵值,就是可以成為超鍵、候選鍵、主鍵的集合 上面那一句所講的集合... 舉例來說大概像這樣 R(a,b,c) a->b, b->c 超鍵值可以是a, ab, abc,這時候a是超鍵值1 , ab 是超鍵值二,abc 是超鍵值三 鍵值可以是複合值組 屬性不行,除非你不滿足第一正規化才會有複合屬性 這樣,okeydoke? P.S. 定義要看清楚,每個字每個符號都請了解意思... 今年高考好像滿多人因為定義的關係痛失分數...orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.111.51.2

08/29 18:57, , 1F
網路解答誤導沒補該補習班的人...搞不好故意的
08/29 18:57, 1F

08/29 19:05, , 2F
自己懂就不用怕黑暗兵法了阿XD
08/29 19:05, 2F

08/29 19:48, , 3F
解說的很詳細 推!!
08/29 19:48, 3F

08/29 19:55, , 4F
話說今年高三資料庫第一題就是定義阿...快放榜了
08/29 19:55, 4F

08/29 19:58, , 5F
其實我說的是包涵那個符號orz
08/29 19:58, 5F

08/29 19:58, , 6F
第一眼看下去就在心內幹譙了...
08/29 19:58, 6F

08/29 20:03, , 7F
包含那題我也有卡一下...只能說考很活XD
08/29 20:03, 7F

08/29 20:05, , 8F
考那麼細其實不如考45NF比較實際你不覺得嗎= =
08/29 20:05, 8F

08/29 20:06, , 9F
害我拆兩次,嚇都嚇死
08/29 20:06, 9F

08/29 23:28, , 10F
推~
08/29 23:28, 10F
文章代碼(AID): #1I7o9nY8 (Examination)
討論串 (同標題文章)
文章代碼(AID): #1I7o9nY8 (Examination)