平成23年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
W−27
以下の“資格記録”表を第三正規形に正規化したものはどれか。なお、表の下線部は
主キーを示し、“資格記録”表の資格コード、資格名、資格取得経過年数は、資格を
取得するたびに繰り返し追加するものとする。

 “資格記録” 表
 ┌─────┬─────┬─────┬─────┬────────┐
 │ 社員番号 │ 社員氏名 │資格コード│ 資格名 │資格取得経過年数│
 └─────┴─────┴─────┴─────┴────────┘
             ┌─────┬─────┬────────┐
             │資格コード│ 資格名 │資格取得経過年数│
             └─────┴─────┴────────┘
             ┌─────┬─────┬────────┐
             │資格コード│ 資格名 │資格取得経過年数│
             └─────┴─────┴────────┘
             ┌─────┬─────┬────────┐
             │資格コード│ 資格名 │資格取得経過年数│
             └─────┴─────┴────────┘

  ┌─────┬─────┬─────┬─────┬────────┐
 @│ 社員番号 │ 社員氏名 │資格コード│ 資格名 │資格取得経過年数│
  └─────┴─────┴─────┴─────┴────────┘
  ┌─────┬─────┬─────┬────────┐
 A│ 社員番号 │ 社員氏名 │資格コード│資格取得経過年数│
  └─────┴─────┴─────┴────────┘
  ┌─────┬─────┐
 B│ 社員番号 │ 社員氏名 │
  └─────┴─────┘
  ┌─────┬─────┐
  │資格コード│ 資格名 │
  └─────┴─────┘
  ┌─────┬─────┬────────┐
  │ 社員番号資格コード│資格取得経過年数│
  └─────┴─────┴────────┘
  ┌─────┬─────┐
 C│ 社員番号資格コード
  └─────┴─────┘
  ┌─────┬─────┬────────┐
  │ 社員番号 │ 社員氏名 │資格取得経過年数│
  └─────┴─────┴────────┘
  ┌─────┬─────┐
  │資格コード│ 資格名 │
  └─────┴─────┘
  ┌─────┬─────┐
 D│ 社員番号資格コード
  └─────┴─────┘
  ┌─────┬─────┐
  │ 社員番号 │ 社員氏名 │
  └─────┴─────┘
  ┌─────┬─────┬────────┐
  │資格コード│ 資格名 │資格取得経過年数│
  └─────┴─────┴────────┘




【正解】 B
第3正規化は、テーブル内にある主キー以外の項目に従属する
関係(推移従属)を別テーブルに移し、どのテーブルもすべての属性が
主キーに対して完全従属の状態にすることである。

なお、
推移従属は、主キー以外の項目に従属する関係のこと。
完全従属は、全てのキー項目を使って値が決定する関係のことである。
また、
関数従属は、ある属性の値が決まると、他の属性の値も一意に
決まる関係のことである。

まず、社員氏名は社員番号に対し、関数従属であるため、分離する。
また、資格名は資格コードに対し、関数従属であるため、分離する。
資格取得経過年数は、社員番号と資格コードに対して、関数従属である。
以上によってどのテーブルもすべての属性が主キーに対して完全従属の状態になる。

EXCELのマクロのご相談なら ファーストマクロ 



W−26 目次 W−28
ファーストマクロ TOPページ