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

過去問 午前Ⅱ試験過去問
アラフィフオヤジ
アラフィフオヤジ

令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ試験 問7を解いてみましょう。

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

問題

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

フライト

便名客室乗務員名搭乗者名
BD501東京建一大阪一郎
BD501東京建一京都花子
BD501横浜涼子大阪一郎
BD501横浜涼子京都花子
BD702東京建一大阪一郎
BD702東京建一神戸順子
BD702千葉建二大阪一郎
BD702千葉建二神戸順子

ア 関係”フライト”は、更新時異常が発生することはない。

イ 関係”フライト”は、自明でない関数従属が存在する。

ウ 関係”フライト”は、情報無損失分解が可能である。

エ 関係”フライト”は、ボイス・コッド正規形の条件は満たしていない。

解説

アラフィフオヤジ
アラフィフオヤジ

正解は「」です。
アは、更新時異常が発生する可能性があるため、誤りです。
更新時異常とは、ある属性の値を更新する際に、他の属性の値を意図せず変更してしまうことです。

関係”フライト”の表から明らかな事実として、客室乗務員名と搭乗者名の組は、便名によって完全に決定されます。そのため、客室乗務員名と搭乗者名の組を変更する際に、便名も変更する必要があります。

しかし、便名を変更する際に、客室乗務員名と搭乗者名の組を変更する必要はありません。

例えば、BD501便の客室乗務員名を東京建一から横浜涼子に変更する場合、BD501便の搭乗者名をすべて変更する必要はありません。

そのため、客室乗務員名と搭乗者名の組を変更する際に、便名も変更する必要がある場合があり、更新時異常が発生する可能性があります。


イは、自明でない関数従属が存在するため、誤りです。

関数従属とは、ある属性の値が、他の属性の値によって完全に決定される関係です。自明でない関数従属とは、主キー以外の属性が、他の属性によって完全に決定される関係です。

関係”フライト”において、客室乗務員名は、便名と搭乗者名によって完全に決定されます。そのため、客室乗務員名は、自明でない関数従属を持つことになります。

エは、ボイス・コッド正規形の条件を満たしているため、誤りです。
便名、客室乗務員名、搭乗者名の組が主キーとなっているため、ボイス・コッド正規形の条件を満たしています。ボイス・コッド正規形は、すべての非自明な関数従属が候補キーからのものであることを要求しますが、この関係ではその条件を満たしています。

ウは、便名、客室乗務員名、搭乗者名の組が主キーとなっているため、これらの属性を分解しても元の情報を再構成することが可能です。