修了試験 2015-06-28実施分 基本情報技術者試験 問26
項目aの値が決まれば項目bの値が一意に定まることを,a→bで表す。 例えば,社員番号が決まれば社員名が一意に定まるという表現は,社員番号→社員名である。 この表記法に基づいて,図の関係が成立している項目a~jを,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。

正答2
解説
正解は2です。 関数従属の図から、正規化されたテーブル構成を選ぶ問題です。 図では、aからb、c、d、eへ矢印が出ており、bからf、g、hへ、eからi、jへ矢印が出ています。 つまり、aが決まればb、c、d、eが一意に決まります。 また、bが決まればf、g、hが、eが決まればi、jが一意に決まります。 fやiのようにaから間接的に決まる項目(推移的関数従属)は、決定する項目ごとに別のテーブルへ分けるのが第3正規形の考え方です。 【選択肢別解説】 1:× テーブル1がaだけで、テーブル2の(b, c, d, e)はaと結び付きません。 またc、d、eはbで決まる項目ではないので、bを含む表にまとめる根拠がありません。 2:○ aを主キーとしてb、c、d、eをもつテーブル1、bを主キーとしてf、g、hをもつテーブル2、eを主キーとしてi、jをもつテーブル3に分けています。 推移的関数従属が取り除かれ、b、eで表どうしを結合することもできます。 3:× テーブル1にa、bと一緒にf、g、hを含めているので、aがbを決め、bがf、g、hを決めるという推移的関数従属が残ります。 またテーブル2の(c, d)にはaがなく、どの行のaに対応するのか分かりません。 4:× テーブル1にbとeが含まれていないので、aからb、eへの従属関係が失われます。 aに対応するf〜jを求めることができなくなります。 【ポイント】 第3正規形では、主キー以外の項目によって決まる項目を別表に分けます。 分けた表どうしは、決定する側の項目(ここではbとe)を元の表に残しておくことで結合できます。まとめて解く
修了試験 2015-06-28実施分を通しで解く(80問)→