【問題】
次の表はどこまで正規化されたものか。
従業員番号 ┃ 氏名 ┃ 入社年 ┃ 職位 ┃ 職位手当
12345 ┃情報 太郎┃ 1971 ┃ 部長 ┃ 90000
12346 ┃処理 次郎┃ 1985 ┃ 課長 ┃ 50000
12347 ┃技術 三郎┃ 1987 ┃ 課長 ┃ 50000
ア.第2正規形
イ.第3正規形
ウ.第4正規形
エ.非正規形
【解答】
表の長さが一定であるから、第1正規形を満たす。
次に第2正規形かどうかを考慮する。
この表の主キーは従業員番号のみで他の列が一意に決まる。よって、主キーは従業員番号と分かる。
とすると、この表の主キーは複合キーではないから、(複合キーに部分関数従属している列は存在せず、)第2正規形を満たす。
次に第3正規形かどうかを考慮する。
職位手当は職位から一意に決まるから、職位はキーであることが分かる。
前述の通り、この表の主キーは従業員番号のみであり、従業員番号と職位の複合キーではないから、職位は主キーではない。
とすると、主キー以外の列(職位)に関数従属する列(職位手当)が存在しているから、第3正規形を満たさないことが分かる。
よって、解答はアとなる。
この問題は、「第2正規形とは、複合キーの一部のキーに関数従属している列が存在していないものである」という定義を頭に入れてあれば答えを導き出すことが出来る。