FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER
基本情報技術者の問題解説
問題
注文表(注文番号, 顧客ID, 顧客名)で、顧客ID→顧客名が成り立つとき、第3正規形に近づける設計はどれか。
- ウ 注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る
- イ 顧客名を注文表に2列追加する
- ア 注文番号を削除する
- エ 全ての列を結合して1列にする
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲
正解と解説
正解:注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る
正解:注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る
考え方:「第3正規形への分解」は,注文表で顧客ID→顧客名という推移的関数従属があるため,顧客名を別の顧客表(顧客ID,顧客名)に分離し,注文表には顧客IDだけを残す。
誤答の理由:顧客名を増やす・注文番号を削除・全列を結合は,冗長や情報喪失を招き正規化に逆行する。
注意点:推移的従属(キー以外→キー以外)を見つけたら,その従属を別表に切り出す。これが第3正規形への分解。
この問題について
IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。
公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。