令和2年度 10月 午前Ⅱ 問5
データベース設計
部分関数従属に関する問題
第2正規形であるが第3正規形でない表はどれか。ここで,講義名に対して担当教員は一意に決まり,所属コードに対して勤務地は一意に決まるものとする。また,{ }は繰返し項目を表し,実線の下線は主キーを表す。
選択肢は原典では表(列名の行と値の行)。各肢を「列名の並び / 値の並び」の形でたたんだ。(原典の実線の下線は …、破線の下線は〔破線の下線〕で表した)
- ア学生番号|講義名|担当教員|成績 / 2122|経済学|山田教授|優
- イ社員番号|氏名|入社年月日|電話番号 / 71235|山田 太郎|2001-04-01|03-1234-5678
- ウ社員番号|氏名|所属コード|勤務地 / 15547|小林 明|75T|東京
- エ社員番号|身長|体重|趣味 / 71234|170|62|{テニス,ゴルフ}
答えと解説を見る
✓ これが正解ウ社員番号|氏名|所属コード|勤務地 / 15547|小林 明|75T|東京
解説
社員番号→所属コード→勤務地の推移関数従属が残る表です。
第2正規形は、非キー属性が主キーの一部だけに従属する部分関数従属がない状態、第3正規形はそれに加えて、非キー属性が他の非キー属性を経由して主キーに従属する推移関数従属もない状態です。社員番号を主キーとし、所属コードと勤務地を持つ表は、主キーが社員番号一つなので部分関数従属は起こらず、第2正規形です。しかし、所属コードに対して勤務地が一意に決まるので、社員番号→所属コード→勤務地という推移関数従属があり、第3正規形ではありません。主キーが1列なら第2正規形は満たされるので、あとは非キー属性どうしの従属を探す、という順で確かめると速く判断できます。
ほかの選択肢はなぜ違うのか
- ア学生番号|講義名|担当教員|成績 / 2…:主キーは学生番号と講義名の組で、担当教員は講義名だけで決まるので、主キーの一部に従属する部分関数従属があります。第2正規形を満たしていないため、第2正規形であるという条件に合いません。
- イ社員番号|氏名|入社年月日|電話番号 /…:主キーは社員番号一つで、氏名・入社年月日・電話番号はいずれも社員番号によって決まり、非キー属性どうしで決まる関係も示されていません。第3正規形まで満たしているので当てはまりません。
- エ社員番号|身長|体重|趣味 / 7123…:趣味の列に{テニス,ゴルフ}という繰返し項目があり、一つの欄に複数の値が入っています。第1正規形も満たしていないので、第2正規形の表ではありません。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問5
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)