一貫性 (データベース)

データベースシステムの一貫性、整合性 (英: consistency)とは、特定のデータベーストランザクションが影響を受けるデータを許可された方法でのみ変更する要件のこと。データベースに書き込まれるデータは、制約、カスケード、トリガーなどの定義されたすべてのルールでの操作で一貫性を保つ必要がある。これは、アプリケーションプログラマーが望んでいたすべての方法でトランザクションの正確さを保証はしない（つまり、アプリケーションレベルのコードの責任）が、プログラミングエラーが起きてもデータベース制約の違反は発生しないようになっている。 
ACID保証として.
一貫性は、 ACIDトランザクションを定義する4つの保証の1つである。ただし、この保証の性質については、かなりのあいまいさが存在する。これは、次のようにさまざまに定義されている。
これらの定義は相互排他的でないため、今日一般的に使用されているほとんどの関係データベース管理システムは、「一貫性」をほぼ間違いなく保証するシステムとして設計されている。
CAPのトレードオフとして.
CAP定理は3つのトレードオフに基づいており、そのうちの1つは「一貫性」もしくは「アトミック整合性」である。著者は次のように述べている。
「一貫性はACIDの不可分性とは異なる。データベースの一貫性はトランザクションのことを指すが、アトミック整合性は単一の要求/応答操作シーケンスの属性のみを指すためだ。また、アトミック整合性は、不可分性 (atomic)と一貫性 (Consistent)の両方のデータベース概念を包含しているためだ 。」 CAP定理によると、整合性、可用性、分断耐性の3つの属性のうち2つしか持つことができない。したがって、一部のデータベースシステムでは、一貫性を犠牲にする必要がある場合がある。