Re: [課業] 103資訊高考資料庫第二題

看板Examination作者 (藍藍的天~白白的雲~)時間11年前 (2014/09/22 22:43), 11年前編輯推噓4(402)
留言6則, 3人參與, 最新討論串1/1
※ 引述《ARCHERDEVIL (開弓)》之銘言: : AS TITLE : 因為今天有人寄信問我說我資料庫第二題的超鍵數量怎麼回答 : 我想說我寫很多 : 乾脆複製過來這邊,拋磚引玉,說不定會有更好的發想。 : 我的寫法大致上如下 : ========== : 題目節錄 : 表格中有關編號(欄位名稱字尾有‘_ID’)之欄位均為唯一值(unique)、單位電話( : D_TEL)為唯一值且不能為空值(null)、聯絡電話(E_TEL)可能為空值或重覆 : 所以如果以第一個表格 : OBJECT [物資品項] : O_ID O_NAME TYPE O_NUM : 物資編號 物資名稱 規格 目前數量 : 以此為例 : ========== : 只有ID是候選鍵 : 所以包含id 的所有屬性組合,都可以是超鍵 : 因此id 本身,c3取0 : id + 任一非鍵屬性 c3取1 : id + 任二非鍵屬性 c3取2 : id + 任三非鍵屬性 c3取3 : 所以是1+3+3+1=8 共八組。 這邊我沒那麼麻煩耶 因為除了ID以外都可取可不取兩種可能 而所有attribute有3個(不含ID),故總排列組合為 2^3 = 8 : ========== : 然後寫題目太累所以我用 A B C D 舉例就好 : ========== : 假設有A B C D 四個屬性,假設A B 分別都可以是候選鍵 : 那就會有重複問題 : 所以我會這樣寫 : 候選鍵A本身是C3取0 : A+任一屬性 C3取1 : A+任二屬性 C3取2 : A+任三屬性 C3取3 : B+任一屬性 C3取1 : B+任二屬性 C3取2 : B+任三屬性 C3取3 : 然後,因為候選鍵加上屬性的時候會產生重複 : 當候選鍵是加上任意一屬性的時候,會產生一個重複 : 候選鍵加入兩個任意屬性的時候會產生兩個重複 : 所以可以推論出,重複狀況會是非候選鍵以外的屬性產生的排列 : 當總共有四個屬性,其中兩個分別可以成為候選鍵的時候 : 非鍵值屬性有兩個 : 所以要減掉C2取0 跟C2取1 跟C2取2 : C2取0是因為 : 如果你A加上任一屬性會產生一個超鍵叫做AB : 然後當你取B加上任一,會產生一個超鍵叫做BA : 這時候AB兩個會產生一個重複,而這個重複沒有非鍵屬性存在 : 所以非鍵屬性有兩個,但都不取,就變成C2取0 : C2取1以此類推 : 當超鍵組合是三個屬性時不論以A為主或者以B為主 : 重複的時候一定是同時有AB存在的時候產生重複 : 此時AB佔去超鍵組合的兩個屬性空間,剩下一個是非鍵屬性 : 而總共從兩個非鍵屬性挑一個放進去 因此C2取1 : 最後,C2取2也一樣 : 當單一屬性候選鍵與其他任三屬性形成超鍵組合的時候 : 只要有AB同時存在就會產生重複 : 然後非鍵值屬性有兩個,全部都要填入,所以是C2取2 : 因此答案就會變成 : (1+3+3+1)*2-C2取0-C2取1-C2取2=16-4=12 這邊就是venn diagram的概念 把有A這個atrrtibute的集合 + 有B這個attribute的集合 - 有AB atrribute集合就好 也就是 2^3 + 2^3 - 2^2 = 8 + 8 -4 =12 不過這邊基本上都在考排列組合, 跟DB好像沒什麼關係 = = 以下恕刪 =================== -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 163.20.68.250 ※ 文章網址: http://www.ptt.cc/bbs/Examination/M.1411396986.A.AAF.html ※ 編輯: kaocoming (117.19.202.64), 09/22/2014 23:11:50

09/22 23:22, , 1F
程式語言第二題也在考排列組合... 今年真的很妙
09/22 23:22, 1F

09/23 17:12, , 2F
我也是用排列組合 .但這整大題我只拿到8分 WHY~
09/23 17:12, 2F

09/23 21:45, , 3F
我的答案有包含為什麼這樣排列組合的原因歐
09/23 21:45, 3F
我同A大,雖然說算是那樣算,不過我對那個算式多做了很多補充,寫說那樣算的原因 是什麼,這算念書時的經驗吧 XDD 以前寫作業時,遇到很直觀的題目都直接寫答案,結果分數都超低 = = 後來在寫的時候,就習慣補一大堆廢話上去了 ※ 編輯: kaocoming (163.20.68.250), 09/23/2014 21:59:25

09/23 23:44, , 4F
阿我是本來就廢話很多...
09/23 23:44, 4F

09/23 23:45, , 5F
所以才說那題小氣。當時寫的時候真的是哭笑不得...
09/23 23:45, 5F

09/24 00:01, , 6F
是阿 不過不寫又不行 就只好這樣囉 = =
09/24 00:01, 6F
文章代碼(AID): #1K83Lwgl (Examination)