本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説

テクノロジ系 標準 fe_a_s023_q003

問題

注文表(注文番号, 顧客ID, 顧客名)で、顧客ID→顧客名が成り立つとき、第3正規形に近づける設計はどれか。

  1. 注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る
  2. 顧客名を注文表に2列追加する
  3. 注文番号を削除する
  4. 全ての列を結合して1列にする
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る

正解:注文表から顧客名を分離し、顧客表(顧客ID, 顧客名)を作る

考え方:注文番号が注文表の主な識別子だとしても,顧客名は顧客IDから決まる。つまり,注文番号→顧客ID→顧客名という推移的な関係があり,顧客名を注文表に持たせ続けると同じ顧客名が何度も重複する。

正規化の狙い:顧客表(顧客ID, 顧客名)を作り,注文表には顧客IDを残すと,顧客名変更時の更新漏れを防げる。第3正規形では,キー以外の項目が別のキー以外の項目に依存しないようにする。

誤答の理由:顧客名を増やすのは冗長化,注文番号を削除するのは識別情報の喪失,全列結合は検索・更新を困難にする設計である。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

RELATED

関連問題