令和元年度 秋期 ITパスポート試験 問87 解説 データベースの正規化
売上伝票のデータを関係データベースの表で管理することを考える。売上伝票の 表を設計するとき,表を構成するフィールドの関連性を分析し,データの重複及 び不整合が発生しないように,複数の表に分ける作業はどれか。
- ア 結合
- イ 射影
- ウ 正規化 ✓ 正答
- エ 排他制御
解説
問題文にある「データの重複をなくす」「不整合を防ぐ」「複数の表に分ける」というキーワードを確認した時点で、正解は「正規化」であると判断できます。データベース設計において、データの管理を効率的かつ正確に行うための定石となる考え方です。
データベースの正規化とは、一つの表にすべての情報を詰め込むのではなく、論理的に関連のある情報のまとまりごとに表を分割していくプロセスのことです。例えば、売上伝票の中に顧客名や住所を直接書き込んでしまうと、その顧客が何度も注文するたびに同じ住所情報を入力することになります。これではデータの入力ミスが起こりやすいうえ、転居があった際にすべての伝票を修正しなければならず、情報の不整合が発生するリスクが高まります。
正規化を行うことで、顧客情報は顧客テーブルに、商品情報は商品テーブルに、そして売上データは売上テーブルにと情報を分離できます。これにより、住所の変更は顧客テーブルの1か所を更新するだけで済み、データの冗長性(重複)が排除され、システムとしての信頼性が向上します。
ITパスポート試験において「正規化」は頻出テーマです。問題文中に「データの重複」「更新時などの不整合」「表を分割する」といった言葉が出てきたら、迷わず正規化を選択できるようにしておきましょう。
他の選択肢についても整理しておきます。
結合(ア)は、正規化によってバラバラに分割された表を、クエリなどを通じて元の意味のあるデータとして組み立て直す操作のことです。射影(イ)は、表の中から特定の列だけを取り出す操作を指します。これらはデータベースの操作(関係代数)の一部であり、設計段階で行う「正規化」とは目的が異なります。排他制御(エ)は、同時に複数のユーザーが同じデータを更新しようとした際に、データの整合性が壊れないよう順番待ちやロックをかける仕組みのことであり、データの構造設計とは別の概念です。
- データベースの基礎知識:正規化(ITパスポート公式サイト・学習コンテンツなど)
- 【データベース】正規化とは何か?分かりやすく解説(YouTube動画:ITパスポート試験対策)