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

正答2
解説
正解は2です。 図は、属性 a から b、c、d、e への矢印、b から f、g、h への矢印、e から i、j への矢印を示しています。 つまり、a が決まれば b〜e が、b が決まれば f〜h が、e が決まれば i、j が一意に決まります。 決定する側の属性(a、b、e)ごとにテーブルを分けると、推移的な従属がない正規化されたテーブルになります。 【選択肢別解説】 1:× テーブル1 が a だけになっており、a と b〜e の対応関係を表せません。 また、テーブル3 には f〜j を決める b や e が含まれないので、f〜j の値を特定できません。 2:○ テーブル1(a,b,c,d,e) は、a を主キーとして a が直接決める属性をまとめています。 テーブル2(b,f,g,h) は b を、テーブル3(e,i,j) は e を主キーとしています。 図の関係がすべて表現され、推移的な従属も取り除かれています。 3:× テーブル1 に f、g、h が入っており、これらは a ではなく b によって決まります。 a から b、b から f〜h という推移的な従属が残るので、第3正規形になっていません。 また、テーブル2(c,d) には a がないため、c、d がどの a の値かを特定できません。 4:× テーブル1(a,c,d) に b と e が含まれていません。 そのため、a の値に対応する b、e の値がわからず、テーブル2、テーブル3 と結び付けられません。 【ポイント】 関数従属の図から正規化するときは、矢印の根元にある属性ごとに「根元の属性+矢印の先の属性」で一つのテーブルを作ります。 根元の属性は、上位のテーブルにも外部キーとして残します。まとめて解く
修了試験 2019-01-27実施分を通しで解く(80問)→