科目A-1(多肢選択式・四肢択一、30問)
ある社員管理表は、社員番号を主キーとし、社員番号→社員名、社員番号→部門コード、部門コード→部門名という関数従属を持つ。この表に対して部門名を変更する際、同じ部門に所属する複数の社員の行をすべて更新しなければならない。この現象への対処として最も適切なものはどれか。
- ✓部門コードと部門名を別表に分離し、社員表からは部門コードで参照する形に正規化する
- B社員番号にUNIQUE制約を追加する
- C部門名列にNOT NULL制約を追加する
- D社員表全体を複製したバックアップ表を作成する
解説
部門名は部門コードに関数従属し、社員番号(主キー)に対して推移的関数従属の関係にある。これを解消するため部門表を分離するのが第3正規形化の対応であり、更新時異状(更新のたびに複数行を書き換える不整合)を防げる。
根拠シラバス「データモデリング技法」正規化(関数従属・推移的関数従属)