制約はデータベーススキーマ定義の一部です。
制約は通常、テーブルに関連付けられ、CREATE CONSTRAINT
で作成されます。 またはCREATE ASSERTION
SQLステートメント。
これらは、データベース内のデータが準拠しなければならない特定のプロパティを定義します。これらは、列、テーブル全体、複数のテーブル、またはスキーマ全体に適用できます。信頼性の高いデータベースシステムにより、制約が常に保持されます(トランザクション内を除き、いわゆる遅延制約の場合)。
一般的な種類の制約は次のとおりです。
- ヌルではない -列の各値はNULLであってはなりません
- ユニーク -指定された列の値は、テーブルの各行で一意である必要があります
- 主キー -指定された列の値は、テーブルの各行で一意である必要があり、 NULLであってはなりません。;通常、データベース内の各テーブルには主キーが必要です。これは、個々のレコードを識別するために使用されます。
- 外部キー -指定された列の値は、別のテーブルの既存のレコードを参照する必要があります(主キーを介して) またはその他の一意の制約 )
- 確認 -式が指定されています。制約を満たすには、この式をtrueと評価する必要があります