問題
問63
データベースの設計において、冗長性を排除し、データの整合性を保つために、テーブルを適切に分割するプロセスを何と呼ぶか。
- インデックス作成
- 正規化
- 最適化
- トランザクション制御
正解
正解は「イ」です。
解説
正解は「イ」の正規化です。正規化は、リレーショナルデータベースの設計において、データの重複(冗長性)をなくし、データの一貫性・整合性を保ちやすくするために、テーブルを一定のルールに従って分割していくプロセスのことです。正規化を行わないと、一つのテーブルに様々な情報が混在し、データの更新時に問題が生じやすくなります。
例えば、注文情報を管理するテーブルに、顧客情報(氏名、住所)と商品情報(商品名、単価)がすべて含まれているとします。この場合、同じ顧客が何度も注文すると、その都度同じ氏名や住所が重複して登録されます。もし顧客が引っ越した場合、過去のすべての注文データの住所を修正する必要があり、修正漏れ(データ不整合)が発生する危険性が高まります。正規化では、このようなテーブルを「顧客テーブル」「商品テーブル」「注文テーブル」のように適切に分割し、データの重複を排除します。これにより、データの管理がしやすくなり、整合性を保つことができます。
ア(インデックス作成):
データの検索速度を向上させるために、索引を作成する操作です。
ウ(最適化):
SQLの実行計画などを改善し、データベースの応答性能を向上させることです。クエリの最適化などがあります。
エ(トランザクション制御):
データベースに対する一連の処理が、矛盾なく安全に実行されるように管理することです。ACID特性を保証します。
解法のポイント
データベース設計における正規化は非常に重要な概念です。「冗長性の排除」「データ整合性の維持」「テーブルの分割」という3つのキーワードが正規化を指すと覚えておきましょう。正規化には第1正規形、第2正規形、第3正規形といった段階がありますが、まずは正規化の目的そのものをしっかり理解することが重要です。他の選択肢は、データベースの性能向上(インデックス、最適化)や、データ操作の信頼性確保(トランザクション制御)に関する用語であり、テーブル構造の設計プロセスとは目的が異なります。
用語補足
正規化:
情報を整理整頓して、重複をなくすことです。ごちゃ混ぜの書類箱から、顧客別、案件別のようにファイルを分けて整理する作業に似ています。
冗長性:
同じデータが複数の場所に重複して存在している状態のことです。無駄な重複があることを指します。
データの整合性:
データに矛盾がなく、正しい状態が保たれていることです。例えば、在庫数と販売数が常に一致している状態などを指します。
テーブル:
リレーショナルデータベースにおいて、データを格納する表形式の構造のことです。Excelのシートのようなものです。


