実体験から始める情報講座

基本情報技術者講座

★ 猫本 6-03 データの正規化(その1) ★

基本情報技術者 平成29年度春期 問25

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

ア  テーブル1 {a}
  テーブル2 {b,c,d,e}
  テーブル3 {f,g,h,i,j}
イ  テーブル1 {a,b,c,d,e}
  テーブル2 {b,f,g,h}
  テーブル3 {e,i,j}
ウ  テーブル1 {a,b,f,g,h}
  テーブル2 {c,d}
  テーブル3 {e,i,j}
エ  テーブル1 {a,c,d}
   テーブル2 {b,f,g,h}
   テーブル3 {e,i,j}

解説

aの値が決まれば,b,c,d,eの値がそれぞれ一意に決まる。 →  {a,b,c,d,e}

bの値が決まれば,f,g,hの値がそれぞれ一意に決まる。 → {b,f,g,h}

eの値が決まれば,i,jの値がそれぞれ一意に決まる。 → {e,i,j}

よって,イである。

解答

基本情報技術者 平成28年度秋期 問27

6行だけから成る"配送"表において成立している関数従属はどれか。ここで,X→Yは,XはYを関数的に決定することを表す。

ア  配送先→部品ID
イ  配送日→部品ID
ウ  部署ID→部品ID
エ  部署名→配送先

解説

ア  秋田事業所 → 1342
名古屋工場 → 2346
川崎事業所 → 1342
イ  2016-08-21 → 1342
2016-08-25 → 2346
2016-08-30 → 2346,1342(一意に決まらない)
ウ  300 → 1342
400 → 2346
500 → 2346,1342(一意に決まらない)
エ  第二生産部 → 秋田事業所
第一生産部 → 名古屋工場
研究開発部 → 名古屋工場,川崎事業所(一意に決まらない)

よって,アである。

ちなみに,選択肢以外に「部署ID→部署名」,「配送日→部署ID」,「配送日→部署名」も関数従属である。

解答