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

問7

便名に対して,客室乗務員名の集合及び搭乗者名の集合が決まる関係"フライト"がある。関係"フライト"に関する説明のうち,適切なものはどれか。ここで,便名,客室乗務員名,搭乗者名の組が主キーになっているものとする。
07.png/image-size:348×251
  • 関係"フライト"は,更新時異状が発生することはない。
  • 関係"フライト"は,自明でない関数従属が存在する。
  • 関係"フライト"は,情報無損失分解が可能である。
  • 関係"フライト"は,ボイス・コッド正規形の条件は満たしていない。

分類

テクノロジ系 » データベース » データベース設計

正解

解説

関係"フライト"では、便名に対して客室乗務員名の集合が、便名に対して搭乗者名の集合が決まる形となっています。このようにある属性Xを決定項として、別の属性Yの集合が決まることを、YはXに多値に従属するといい、X→→Y で表します。関数従属は1対1が決まる関係ですが、多値従属は1対多が決まる関係と言えます。
  • 次のような更新時異状が発生します。
    • まだ搭乗者がいない便名と客室乗務員名だけの関係を登録できない
    • 客室乗務員名または搭乗者名の追加・更新・削除する際に、複数のタプルを操作する必要がある
    • 搭乗者すべてがキャンセルしたときに、便名と客室乗務員名の関係が消失する
  • 自明な関数従属とは、BがAの部分集合であることによりA→Bが成立しているものです。一方、自明でない関数従属とはそれ以外の関数従属であり、一般的に関数従属という場合の関係がこれに該当します。関係"フライト"には、ある属性から他の属性が一意に決まる関係はないため、関数従属性は存在しません。
  • 正しい。関係"フライト"には、便名→→客室乗務員名、便名→→搭乗者名という2つの多値従属が存在します。このように、ある属性に多値に従属する属性が2つ以上あり、その2つの属性が無関係に存在する場合、下図のように{便名,客室乗務員名}および{便名,搭乗者名}という2つの関係に分解することができます。これが第4正規化です。元の関係"フライト"は、分解後の2つの関係の自然結合により得ることができるため情報無損失分解です。
    07_1.png/image-size:321×145
  • ボイス・コッド正規形の成立条件は、スーパーキー(候補キー+α)以外の属性からその他の属性への関数従属が存在しないことです。関係"フライト"には関数従属性がないため、ボイス・コッド正規形の条件を満たします。
© 2016-2024 データベーススペシャリストドットコム All Rights Reserved.

Pagetop