令和1年度 秋期 ITパスポート 問87(テクノロジ)
出典:令和元年度 秋期 ITパスポート試験 公開問題 問87(独立行政法人情報処理推進機構(IPA))
売上伝票のデータを関係データベースの表で管理することを考える。売上伝票の表を設計するときに,表を構成するフィールドの関連性を分析し,データの重複及び不整合が発生しないように,複数の表に分ける作業はどれか。
- ア結合
- イ射影
- ウ正規化
- エ排他制御
正解と解説を見る
正解:ウ
【正規化とは】
正規化は、関係データベースの表を設計するときに、表を構成する項目(フィールド)の関連性を分析し、不要な重複や、更新したときの不整合が起きにくいように、表を複数に分ける作業です。例えば、売上伝票の表に、商品名など商品そのものの情報を毎回記録すると、同じ商品の情報が何度も重複し、商品名を変えるときに一部だけ直し忘れて矛盾が生じます。商品名などの情報を商品の表に分けて、商品コードで参照すれば、このような問題を防げます。なお、販売したときの単価は、その取引の記録として売上の明細に残します。後で商品の単価を改定しても、過去の売上の金額は変わらないからです。
【選択肢の検討】
ア:結合は、2つ以上の表を、共通する項目の値で関連付けて、1つの表を作る操作です。
イ:射影は、表から、指定した列だけを取り出す操作です。
ウ:フィールドの関連性を分析し、重複や不整合が起きないように表を分けるので、正規化です。
エ:排他制御は、複数のプログラムが同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。
よって、正解は選択肢ウです。