データベースのコンテキストでは、「整合性制約」は、 リレーショナル データベース内のデータの正確さと一貫性を保証するために実装される特定のルールを指します。これらのルールは、データの挿入、更新、削除の際に管理するため、望ましくないデータ破損を防ぎ、必要な論理構造を強制します。整合性制約の定義は、いくつかの側面に分けてさらに詳しく説明できます。
ドメインの整合性: これにより、特定の列のすべてのエントリが一貫しており、定義されたドメイン内に収まることが保証されます。たとえば、列に正の数値が含まれることが予想される場合、ドメイン制約により、負の数値または数値以外の値が挿入されなくなります。
エンティティの整合性: これはテーブル内の行の一意性を指し、通常は主キーの使用によって強制されます。主キーはテーブル内のレコードを一意に識別し、エンティティの整合性によって重複キーが存在しないことが保証されるため、各レコードの区別性が維持されます。
参照整合性: この制約により、テーブル間の関係が一貫した状態に保たれます。あるテーブルに別のテーブルの主キーへの参照である外部キーがある場合、参照整合性によってこの接続が維持されることが保証されます。外部キーによって参照されるレコードが削除または変更されると、データベースは参照キーの更新や変更の拒否などの定義されたアクションを実行します。
ユーザー定義の整合性: これらの制約は、データベースの特定の使用例に関連するビジネス ロジックまたはルールに固有です。たとえば、ユーザー定義の制約では、従業員の給与が一定量を超えないことや、顧客の年齢が 18 歳以上であることが必要な場合があります。これらのルールは、特定のアプリケーションの特定の要件に合わせて調整できます。
チェック制約: これらの制約を使用すると、列または列セット内のデータに対してより具体的なルールを定義できます。たとえば、チェック制約では、パーセンテージ値が 0 ~ 100 の範囲にある必要があることや、生年月日エントリが現在の日付より前である必要がある場合があります。
Null 制約: これは、特定の属性に対して null 値を許可できるかどうかを決定します。 NULL 制約が列に適用されると、その列のすべての行に値が含まれることが保証されます。
時間的整合性: これにより、データベース内の日付と時刻のデータの正確さと一貫性が保証され、多くの場合、日付と時刻の値が論理的な順序に従い、定義された形式に準拠していることが保証されます。
整合性制約は、データベース システムの信頼性と堅牢性を維持する上で重要な役割を果たします。これらは通常、データベース設計フェーズ中に定義され、データベース管理システム (DBMS) によって強制されます。
適切な整合性制約がないと、データベースに不整合、あいまいさ、エラーが発生し、使いやすさや信頼性に大きな影響を与える可能性があります。したがって、これらの制約はデータベース アーキテクチャの重要な部分を形成し、データが期待されるルールと品質基準に確実に準拠していることを保証します。