データベーススペシャリスト試験 令和4年度 秋期 午前II 問3
関係R(A、B、C、D、E)において、関数従属性A→B、A→C、{C、D}→Eが成立する。最初に属性集合{A、B}に対して、これらの関数従属性によって関数的に決定される属性をこの属性集合に加える。この操作を繰り返して得られる属性集合(属性集合の閉包)はどれか。
選択肢を押すと答え合わせができます。
正解と解説を見る
【正解】ア
属性集合の閉包とは、最初の属性集合から、与えられた関数従属性を繰り返し適用して得られる全属性の集合です。初期集合を{A、B}とすると、A→Bによって得られるBは既に含まれています。次にA→Cを適用できるので、Cを加えて{A、B、C}となります。
残る{C、D}→Eを適用するには、左辺のCとDの両方が必要です。現在の集合にはDがなく、ほかにDを導く関数従属性もないため、Eは追加できません。これ以上集合が変化しないので、閉包は{A、B、C}であり、アが正解です。
イの{A、B、C、D}は誤りです。Dを右辺にもつ関数従属性がないため、Dを導出できません。
ウの{A、B、C、D、E}は誤りです。Dを導出できず、Dがなければ{C、D}→Eも適用できないので、Eも導出できません。
エの{A、B、E}は誤りです。A→CによってCは必ず含まれる一方、Eを得るために必要なDはありません。
【ポイント】 閉包X+は、Xから開始し、左辺が現在の集合に含まれる関数従属性の右辺を追加して求めます。 一度追加した属性によって、別の関数従属性が新たに適用できないかを繰り返し確認します。 候補キーの判定でも、閉包が関係の全属性を含むかどうかを利用します。
出典:令和4年度 秋期 データベーススペシャリスト試験 午前II 問3
※ 解説は SkillStack 編集部が作成したものです。Web 表示のため、図表の配置や表記を一部改めています。
この回の25問を、アプリで通しで解く
- 本番と同じ問題数・制限時間で通し演習(模試モード)
- 間違えた問題は自動で「復習すべき問題」に回る
- 解説で分からない点はAIに質問できる