データ完全性(データかんぜんせい、)は、情報処理や電気通信の分野で使われる用語であり、データが全て揃っていて欠損や不整合がないことを保証することを意味する。データインテグリティとも。すなわち、各種操作(転送、格納、検索)が行われる際にデータがひとまとめで扱われ、目的とする操作に対して期待されるデータ品質を維持する。簡単に言えば、データ完全性とは、データが一貫していて正しく、アクセス可能であることを保証するものである。
情報セキュリティの分野では他に機密性(Confidentiality)・可用性(Availability)があり、それらを合わせて情報セキュリティの三要素(CIA)と呼ぶ。
関係データベース 関係データベースにおけるデータ完全性とは、データベース内のデータの正確性や妥当性を指す。 多くの関係データベース管理システム (RDBMS) では、データベース内のデータ完全性を保証するために一意性制約やCHECK制約、あるいはエンティティ間に参照整合性を保つための制約などを設ける機能がある。
参照整合性とは、女Aと男Bが夫婦であるならば女Aの配偶者の配偶者が女Aである、ということを言う。女Aの配偶者の配偶者が女Cであったら、そのデータの正確性や妥当性に問題がある。つまりデータ完全性に問題がある但し一夫多妻制の場合は、Aliceの夫Bobの妻がCatherineである可能性があるので、その場合にはデータベース設計に問題がある。なお、この配偶者の例は相互参照と呼ばれる関係の正規化が不充分な状態であり、関係の正規化が不充分であるとデータ完全性を保つことが困難になる。
参照整合性を保つための制約は一般に、親子関係にあるエンティティ同士で、親データ一般に、該当情報に関する主キーをもつ表(テーブル)を持たない子データ一般に、該当情報に関する外部キーをもつ表(テーブル)が存在しないように、例えば子データがある親データの抹消などの違反するデータ操作を拒否する仕組みである。
情報セキュリティ 暗号理論とコンピュータセキュリティにおいて、完全性とはデータの妥当性を指す。完全性は次のような事柄で損なわれる可能性がある。 悪意有る改変。攻撃者が、銀行取引における金額などの値を改ざんしたり、認証書類を偽造したりする。 事故による改変。データ転送時のエラーやハードディスクのヘッドクラッシュなど。
日本情報経済社会推進協会の「ISMS認証基準Ver.2.0」の定義によれば「情報及び処理方法が、正確であること及び完全であることを保護すること」とされる。故意、過失を問わず、システムに意図されている内容と異なるデータ入出力およびデータ処理が行われてしまう状況は、データ完全性を失っているといえる。
そのような完全性を保証するため、メッセージ認証符号 (MAC) と呼ばれる数が使われることが多い。
脚注
関連項目 関係データベース - 参照整合性 ハッシュ関数 ALCOA-CCEA原則 情報セキュリティの三要素(CIA) 機密性(Confidentiality) 可用性(Availability)