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

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

設問図

ある会社の社員の情報処理技術者試験の受験状況を次に示す。この表を関係データベースで管理するために,二つの表に分割する方法として,適切なものはどれか。ここで,この会社には同姓同名の社員がいるものとする。

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

解説

この問題は、データベースの正規化の考え方を用いて、一つの大きな表を情報の単位ごとに分ける方法を問うものです。解き方のポイントは、各データの依存関係に着目し、一人の社員に複数の試験結果が紐付く構造を整理することです。

具体的には、社員情報(ID、氏名、生年月日)と試験情報(試験種別、試験日、合否)を切り分けます。このとき、試験情報の表には、どの社員が受けた試験かを特定するために、社員IDを外部キーとして含める必要があります。選択肢アのように構成することで、社員の重複登録を防ぎ、同姓同名の人がいても社員IDによって正確に識別できるようになります。

正規化とは、データベース内のデータの冗長性(重複)を排除し、データの整合性を維持するためにテーブルを最適化する工程のことです。提示された元の表では、ある社員が複数の試験を受けるたびに、その社員の氏名や生年月日が何度も繰り返し記録されてしまいます。もしその社員の氏名が変更になった場合、複数の行をすべて修正しなければならず、修正漏れによる不整合が発生するリスクがあります。

このような問題を解決するために、データベース設計では実体(エンティティ)ごとにテーブルを分けます。今回の場合、社員というエンティティと、試験結果というエンティティを分離し、両者を共通の社員IDで関連付ける設計を行います。

この知識は、業務システムにおけるデータベース設計の基本であり、保守性の高いシステムを作るために不可欠です。例えば、顧客管理システムにおいて、顧客情報と注文履歴を分ける場合などがこれに該当します。データの二重登録を防ぎ、効率的なデータ更新を可能にすることで、システム全体の信頼性と性能を向上させることができます。

データベースの正規化(ITパスポート過去問解説) https://www.itpassportsiken.com/kakomon/25_aki/q69.html

関係データベースの正規化(e-Words) https://e-words.jp/w/正規化.html

データベースの基礎知識:正規化とは(富士通ラーニングメディア) https://www.knowledgewing.com/kw/blog/20210617.html

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

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