無損失分解とは?むそんしつぶんかい
無損失分解とは、分解した表を自然結合すると元の関係が過不足なく復元できる分解。分解後の表に共通する属性が、少なくとも一方の表の超キー(候補キーを含む属性の集合)になっていれば無損失であることが保証される。正規化はこの条件を満たす割り方だけを選んで進める。
最終更新:2026-10-06
この語が出る過去問を解く →背景
表を割れば冗長は減るが、割り方を誤ると復元できなくなったり、元に無かった行が湧いて出たりする。正規化を「とにかく分ければよい」手続きにしないための歯止めとして、分解の可否を機械的に判定できる条件が置かれている。設計を任され始めた開発者がやりがちな「重複が気になるから列を別表へ移す」を、キーを見て止められるかどうかがこの試験で問われる。
具体例
受注(受注番号, 顧客番号, 顧客名, 受注日)を、受注(受注番号, 顧客番号, 受注日)と顧客(顧客番号, 顧客名)に分けると、共通属性の顧客番号が後者の主キーなので無損失。逆に(受注番号, 顧客名)と(顧客番号, 顧客名)に割ると、同姓同名がある限り復元できない。
試験での引っ掛け
共通属性がどちらの表でもキーでない分解をすると、結合したときに元に無い行(スプリアスタプル)が現れる。もう一つの定番は従属性保存との取り違えで、BCNFへの分解は無損失なものが必ず存在するが、関数従属を各表だけで検査できるとは限らない。「無損失なら安全」ではない。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問7(IPA)解説で登場
第1正規形から第5正規形までの正規化に関する記述のうち、適切なものはどれか。
正解:第3正規形への分解では、情報無損失かつ関数従属性が保存される。
要点:第3正規形までは無損失かつ関数従属性保存の分解ができる
第3正規形までは、分解しても結合により元に戻せる(情報無損失)うえ、元の関数従属性も保存される分解が必ず存在する。ボイス・コッド正規形以降になると、無損失分解はできても関数従属性の保存が犠牲になる場合がある点が対比される。
出典:令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問6(IPA)
関係モデルにおいて、情報無損失分解ができ、かつ、関数従属性保存が成り立つ変換が必ず存在するものはどれか。ここで、情報無損失分解とは自然結合によって元の関係が復元…
正解:第2正規形から第3正規形への変換
要点:第3正規形までは無損失かつ関数従属性保存の分解が必ず存在
第3正規形までであれば、自然結合で元の関係を復元できる分解でありながら、元の関数従属をすべて分解後の関係に残す変換が必ず存在することが知られている。ボイス・コッド正規形以降では無損失分解はできても関数従属性の保存が犠牲になる場合があるため、アが正しい。
出典:令和5年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問7(IPA)
便名に対して、客室乗務員名の集合及び搭乗者名の集合が決まる関係"フライト"がある。関係"フライト"に関する説明のうち、適切なものはどれか。ここで、便名、客室乗務…
正解:関係"フライト"は、情報無損失分解が可能である。
要点:多値従属を持つ関係は無損失に分解でき、第4正規形(多値従属性を取り除いた形)へ進む
便名が決まると乗務員名の集合と搭乗者名の集合がそれぞれ独立に決まるため、この関係には多値従属が存在し、両者の全組合せが行として並んでいる。全属性が主キーを構成するので関数従属の観点では問題がないが、便名と乗務員、便名と搭乗者の2つの関係へ分ければ自然結合で元へ戻せる。よってウが適切。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。