IPA過去問ドリル

平成26年度 春期 基本情報技術者試験 午前 問26

テクノロジ/データベース

項目 a の値が決まれば項目 b の値が一意に定まることを,a → b で表す。例えば,社員番号が決まれば社員名が一意に定まるという表現は,社員番号 → 社員名である。この表記法に基づいて,図の関係が成立している項目 a 〜 j を,関係データベース上の三つのテーブルで定義する組合せとして,適切なものはどれか。

平成26年度 春期 基本情報技術者試験 午前 問26の図

出典:平成26年度 春期 基本情報技術者試験 午前 問26

正解:イ

解説

図の矢印から,a→b,a→c,a→d,a→e,b→f,b→g,b→h,e→i,e→jという関数従属性が読み取れます。正規化の考え方に基づき,一つの決定項(左辺)とそれによって一意に定まる項目(右辺)の組を一つのテーブルにまとめると,aを主キーとしてa,b,c,d,eを含むテーブル,bを主キーとしてb,f,g,hを含むテーブル,eを主キーとしてe,i,jを含むテーブルの三つに分けるのが適切です。

選択肢ごとの解説

  • 誤り。テーブル2にb,c,d,eをまとめてしまうと,bのみに従属するf,g,hや,eのみに従属するi,jとの対応関係が正しく表現できません。
  • 正しい。a→b,c,d,eの関係からテーブル1(a,b,c,d,e),b→f,g,hの関係からテーブル2(b,f,g,h),e→i,jの関係からテーブル3(e,i,j)とするのが,図の関数従属性と整合します。
  • 誤り。テーブル1にa,b,f,g,hをまとめると,bとf,g,hの従属関係とaとbの従属関係が混在し,正規化された構造になりません。
  • 誤り。テーブル1からb,eが抜けており,cとdだけの独立したテーブル2には主キーとなる項目がなく,関係を正しく表現できません。
基本情報技術者の過去問を演習モードで解く