IPA過去問ドリル

令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3

テクノロジ/データベース

関係 R (A, B, C, D, E) において,関数従属性 A → B,A → C,{C, D} → E が成立する。最初に属性集合 {A, B} に対して,これらの関数従属性によって関数的に決定される属性をこの属性集合に加える。この操作を繰り返して得られる属性集合(属性集合の閉包)はどれか。

出典:令和4年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問3

正解:ア

解説

属性集合の閉包は,与えられた関数従属性を繰り返し適用し,新たに決定される属性を追加していくことで求まります。初期集合{A,B}にA→Bを適用しても変化はなく,A→Cを適用するとCが追加されて{A,B,C}となります。{C,D}→Eを適用するにはDが集合に含まれている必要がありますが,Dは含まれないため適用できず,これ以上属性は追加されません。したがって閉包は{A,B,C}です。

選択肢ごとの解説

  • 正しい。A→CでCが追加された後,{C,D}→Eを適用するために必要なDが集合にないため,これ以上拡張されず{A,B,C}で確定します。
  • 誤り。Dは初期集合にもどの関数従属の右辺にも含まれないため,閉包に加わることはありません。
  • 誤り。Eを得るには{C,D}→Eが適用できる必要がありますが,Dが集合にないため適用できず,Eは閉包に含まれません。
  • 誤り。A→Cによって必ずCが閉包に加わるため,Cを含まない{A,B,E}にはなりません。
データベーススペシャリストの過去問を演習モードで解く