データ完全性
(Data Integrity)
データの修正を制限したり、万が一の破壊に備えて予めコピーするなど、データを保護し正確性、有効性、一貫性、安定性などを維持しようとする性質のことを言います。
データ完全性とは、データが常に正確な状態を維持するべく保護する性質です。したがって、データ完全性を強制的に適用すれば、データベースにあるデータの品質が保障されます。逆に、データ完全性が維持されないデータベースにはデータの重複や漏えいが繰り返され、結局は、当該データベースを使用できなくなり多くの費用をかけて再び開発しなければなりません。
データ完全性のためにあるファイルの更新を特定人だけに制限したり、万一の破壊に備えて、別途の媒体に予めコピーしておくことができます。また、運営体制は直接アクセス記憶装置(DASD)上のファイルにラベルを付ける機能が持っていて、ファイルの取扱い方法が間違っても最新データが破壊されないように構成されています。
データ完全性は「エンティティ完全性、ドメイン完全性、参照完全性、ユーザ定義完全性」この4つのカテゴリーで構成されます。
1.エンティティ完全性
エンティティ完全性は、行を特定のテーブルの固有エントティと定義します。エントティ完全性はUNIQUEインデックス、UNIQUE制約条件またはPRIMARY KEY制約条件を通じてテーブルの基本鍵や識別子列の完全性を強制的に適用します。
2.ドメイン完全性
ドメイン完全性は、特定の列に対する項目の有効性です。データ形式を通じて類型を制限したり、CHECK制約条件及び規則を通じて形式を制限したり、FOREIGN KEY制約条件、CHECK制約条件、DEFAULT定義、NOT NULL定義及び規則を通じて可能な値の範囲を制限してドメイン完全性を強制適用することができます。
3.参照完全性
参照完全性は行が入力されたり削除される時テーブル間に定義された関係を維持します。SQL Serverで参照完全性はFOREIGN KEYやCHECK制約条件を通じて外来鍵と基本鍵の間の関係及び外来鍵と固有鍵間の関係に基礎します。参照完全性は様々なテーブルから鍵値が一貫されるようにします。そのためには存在しない値に対する参照があってはならず、鍵の値が変更された場合、その鍵値に対するすべての参照がデータベース全体で一貫されるように変更されなければなりません。
4.ユーザ定義完全性
ユーザ定義完全性を使用して他の完全性の範囲に属しない特定の業務規則を定義することができます。すべての完全性の範囲からユーザ定義完全性が支援されます。そのためにはCREATE TABLE、ストアド プロシージャおよびトリーガのすべての列レベル制約条件とテーブルレベル制約条件が含まれます。
出典:パソコンのネットIT用語大辞典「完全性」、Microsoft TechNet「データ完全性」