ITパスポート試験 / 平成26年度 春期 ITパスポート試験 公開問題 / 問60
certification-simodake-work

平成26年度 春期 ITパスポート試験 公開問題 問60 解説 関係データベースの正規化

設問図

ファイルで管理されていた受注データを, 受注に関する情報と商品に関する情報 に分割して, 正規化を行った上で関係データベースの表で管理する。正規化を行っ た結果の表の組合せとして, 最も適切なものはどれか。ここで, 同一商品名で単価 が異なるときは商品番号も異なるものとする。

選択肢図
  1. ア.
  2. イ. ✓ 正答
  3. ウ.
  4. ニ.

解説

この問題は、データの中に隠れている「意味の塊(エンティティ)」を見抜き、適切にグループ化することで正解にたどり着けます。

解き方のポイントは、各項目が「何に依存しているか(何が決まれば決まるか)」を考えることです。

  1. 受注番号が決まれば、発注者名と、どの商品が何個売れたか(商品番号、個数)が特定できます。
  2. 商品番号が決まれば、商品名や単価が特定できます。

この関係性に基づき、受注情報と商品情報という2つの表に分割するのが正解です。

データの依存関係を読み解く

正規化の基本は、同じ意味を持つデータの塊を一つの表にまとめることです。提示されたデータには以下の2つの異なる情報が混在しています。

・受注ごとの情報:誰が(発注者名)、どの商品(商品番号)を、いくつ(個数)買ったか。これらは受注番号とセットで動くべき情報です。 ・商品ごとの情報:その商品(商品番号)の名称(商品名)と価格(単価)は何か。これは商品番号さえ分かれば自動的に決まる情報です。

もしこれらを一つの表に混ぜたままにすると、同じ商品を何度も注文するたびに、その商品の単価や名前を何度も書き込むことになり、データの無駄(冗長性)が生じます。また、商品名や単価を変更する際に、過去のすべての受注データを書き換えなければならないという不整合のリスクが発生します。

なぜこれが正規化なのか

正規化とは、データの重複を避けて整合性を保つための手法です。今回のケースでは、受注データから「商品情報」を切り離すことで、以下のメリットが生まれます。

・データの重複がなくなる:商品情報の表を別途持つことで、同じ商品の名前や単価を一度しか保存しなくて済みます。 ・更新時のトラブルを防ぐ:商品名や単価を変更する場合、商品情報の表を一度直すだけで、すべての受注データにその変更が反映されます。

実務における正規化の重要性

この知識は、データベースを設計する際に最も重要となる基礎技術です。実際のシステム開発では、Excelのようなフラットな表ではなく、データベース上の複数の表をリレーションシップ(関連付け)によって繋ぎ合わせます。

正規化が適切に行われていないデータベースでは、データの整合性が取れなくなり、注文の集計ミスや顧客情報の不一致といった重大なシステム障害を招く恐れがあります。ITパスポートで学ぶこの正規化の概念は、単なる試験対策にとどまらず、正確で効率的なデータ管理を行うための「情報の整理学」とも言える重要な考え方です。

参考リンク

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう