DBデータベーススペシャリスト試験 午前Ⅱ

令和5年度秋期 データベーススペシャリスト 午前Ⅱ 問7

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

便名に対して,客室乗務員名の集合及び搭乗者名の集合が決まる関係“フライト”がある。関係“フライト”に関する説明のうち,適切なものはどれか。ここで,便名,客室乗務員名,搭乗者名の組が主キーになっているものとする。
便名BD501及びBD702について,客室乗務員名と搭乗者名の全ての組合せを示す関係フライト。
便名BD501及びBD702について,客室乗務員名と搭乗者名の全ての組合せを示す関係フライト。

選択肢

  1. ア
    関係“フライト”は,更新時異状が発生することはない。
  2. イ
    関係“フライト”は,自明でない関数従属が存在する。
  3. ウ
    関係“フライト”は,情報無損失分解が可能である。
  4. エ
    関係“フライト”は,ボイス・コッド正規形の条件は満たしていない。
解き方のヒントを見る

主キーと集合の対応関係を確認

便名・客室乗務員名・搭乗者名の三つ組が主キーである前提を手掛かりに、各属性の組合せが関係内の行をどの範囲で識別するのかを整理し、説明文を読む視点を一つに絞る。

この問題で問われていること

三つの属性をまとめた主キーが、単独の属性や集合間の対応をどこまで決めるものなのかを区別して考える。主キーから直接読み取れる識別の範囲だけに注目し、関係全体の意味を過剰に補わない。

視点

主キーは関係内の行を区別するための条件として捉え、個々の属性が単独で何を決めるかとは分けて整理する。集合の対応関係を判断するときは、問題文に明示された制約と、そこからは分からない情報を区別する。

確認ポイント

  • 主キーを構成する属性が三つ組であることを確認する
  • 単独の属性から他の属性を決められると仮定していないか確認する
  • 問題文に明示された制約と追加の想定を区別して読む
正解と解説を見る

正解

ウ

解説

同じ便名について客室乗務員と搭乗者の組合せが網羅的に記録される関係では,便名から各集合への多値従属を利用して情報無損失分解ができます。一方,自明でない関数従属はなく,更新時異状がないとはいえません。

理由

表では,例えばBD501に対して客室乗務員2名と搭乗者2名の全組合せが現れています。この構造は,便名ごとの客室乗務員集合と搭乗者集合を別々に扱えることを示し,フライトと客室乗務員,フライトと搭乗者へ分解しても自然結合で元の関係を復元できます。したがって情報無損失分解が可能です。

比較

便名だけでは客室乗務員名や搭乗者名を一つに決められないため,自明でない関数従属は成立しません。また,関係全体には同じ便名や担当者名が繰り返し格納されるので,追加・削除・更新時異状が起こり得ます。非自明な関数従属がないため,ボイス・コッド正規形の条件にも反しません。

選択肢ア

これは不正解だよ。表では同じ便名に複数の客室乗務員名や搭乗者名が繰り返し現れるため,担当者の追加や変更では複数行を更新する必要があります。一部だけを更新すると不整合が生じる可能性があり,更新時異状が発生することはないとはいえません。

選択肢イ

これは不正解だよ。主キーは便名,客室乗務員名,搭乗者名の組ですが,便名だけから客室乗務員名や搭乗者名を一意に決めることはできません。表の構造は便名ごとの集合の組合せを示すものであり,自明でない関数従属が存在するとはいえません。

選択肢ウ(正解)

これは正解だよ。同じ便名に対応する客室乗務員の集合と搭乗者の集合を別の関係に分ければ,便名ごとの二つの集合を保持できます。分解後の関係を便名で結合すると元の組合せを復元できるため,情報無損失分解が可能です。

選択肢エ

これは不正解だよ。ボイス・コッド正規形では,成立する自明でない関数従属の決定項が候補キーであることを確認します。この表では便名だけで他の属性を一意に決められず,自明でない関数従属がないため,条件を満たしていないとはいえません。

学習のポイント

関数従属と多値従属を区別し,正規形と情報無損失分解の関係を理解する。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度秋期 データベーススペシャリスト試験 午前Ⅱ 問7(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針