問題
関係を第3正規形まで正規化して設計する目的はどれか。
キーボード:1〜4で選択・Enterで次へ
答え合わせ
- A
- B
- C
- D
自信の3択
えらぶと、この端末に記録します(登録はいりません)
解説
答えは c「冗長性を排除することによって,更新時異状を回避する」 です。
「正規化」はデータの重複を整理する作業。同じ情報があちこちに散らばっていると、片方だけ更新して食い違いが起きやすくなります。
例:顧客の住所が「注文表」と「顧客表」の両方に書いてあると、引越しのときに片方の更新を忘れて住所が2種類になってしまう。これが更新時異状です。
👉 覚え方:「正規化=重複をなくして更新の食い違いを防ぐ」。
ほかの選択肢:a 格納効率の向上は主目的ではない(表が増えてかえって結合が必要になる)/b 整合性制約を「排除」は逆/d ロック待ちを減らすことは目的ではない。
なぜこれが正解か
正解は c。第3正規形までの正規化の目的は、データの冗長性を排除し、更新時異状・挿入時異状・削除時異状を回避することにある。同じ事実を1か所だけに記録するよう表を分解することで、一部だけ更新されて内容が食い違うといった不整合を防ぐ。
各選択肢の解説
- a:値の重複がなくなって格納量が減ることはあるが,それは副次的な効果。表の分割によって結合が必要になるため,格納効率や性能の向上は正規化の目的ではない。
- b:正規化は整合性を保つための手法であり,整合性制約を「排除」するものではない。
- c:冗長性を排除し,更新時異状を回避する(正解)。
- d:属性間の結合度やロック待ちの削減は正規化の目的ではない。
覚え方・ひっかけ注意
「正規化の3つの異状(アノマリー)」:
- 更新時異状:同じデータの複数箇所の更新漏れ
- 挿入時異状:関係のない情報がそろわないと行を挿入できない
- 削除時異状:行を削除すると残したい情報まで消えてしまう
これらを防ぐのが正規化。第1正規形(繰返し項目の排除)→第2正規形(部分関数従属の排除)→第3正規形(推移的関数従属の排除)と進む。検索性能のために意図的に非正規化することもある。
理論的背景
E.F.Coddが提唱した関係モデルの中核理論で、正規形は関数従属性(Functional Dependency, FD)の分析に基づく。
- 第1正規形(1NF): 繰返し項目を排除、各属性は原子的(atomic)
- 第2正規形(2NF): 1NF + 主キーの一部への部分関数従属を排除
- 第3正規形(3NF): 2NF + 推移的関数従属を排除(X→Y, Y→Z ならZのみのテーブル分離)
- BCNF(Boyce-Codd正規形): すべての関数従属の左辺がスーパーキー
- 第4正規形(4NF): 多値従属性の排除
- 第5正規形(5NF/PJNF): 結合従属性の排除
各段階で「冗長性削減」と「異状回避」を実現するが、結合コスト増加と読込み性能低下のトレードオフがある。
実務での使われ方
OLTP(オンライントランザクション処理)では更新整合性が最優先で3NF以上が標準。OLAP(オンライン分析処理)では読込み性能優先でスター/スノーフレークスキーマによる意図的非正規化が行われる。
NoSQL(MongoDB、DynamoDB、Cassandra)は意図的に非正規化を許容し、結合不要のドキュメント/列指向設計で読み込みスケーラビリティを獲得。これは「正規化はトランザクション整合性、非正規化は読み込みスケーラビリティ」のトレードオフで、CAP定理・PACELC定理にも関連する。
現代のクラウド時代では、CDC(Change Data Capture)でOLTP正規化DB→OLAP非正規化DWHへリアルタイム連携し、両者の利点を享受するLambdaアーキテクチャやKappaアーキテクチャが主流。dbtで非正規化変換をコード管理する。
試験での位置づけ
FE/AP/DBスペシャリストのデータベース設計分野で必出。①各正規形の定義、②関数従属性の判定、③第3正規形までの分解手順、④非正規化のトレードオフ、⑤関係スキーマ設計の良し悪し、が主要論点。AP/DBスペシャリストでは具体的なテーブル設計問題で頻出。
選択肢の発展補足
非正規化の典型シナリオ: ①集計列の事前計算(売上合計の冗長保持)、②外部キー先のラベル展開(顧客名を注文表に複製)、③履歴管理(バージョン管理付き)、④読込み専用ビュー(マテリアライズドビュー)。これらは正規化の理論的「正しさ」を犠牲にして実用性を高める手法。
NoSQL(特にDocument DB)では「1リクエスト1ドキュメント」原則で関連データを埋め込み、結合排除でスケーラビリティを得る。MongoDBの埋め込みドキュメント、DynamoDBのSingle Table Design(1テーブルで複数エンティティを表現する高度技法)がその極致。「正規化↔非正規化」は永遠のトレードオフで、AI/ML時代の特徴量ストア(Feature Store)でも同様の議論が続いている。
出典と作り方
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成26年度 秋期 問28/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。

