OceanBaseデータベースのOracleモードでは、テナントは整合性制約(Integrity Constraint)を使用して、データベースのテーブルに不正なデータの挿入を防ぐことができます。この章では、主に整合性制約の種類と適用シナリオなどについて説明します。
整合性制約の役割は、データベース内に保存される情報が一定の業務ルールに従うことを保証することです。例えば、DMLステートメントの実行結果が整合性制約に違反した場合、そのステートメントはロールバックされ、エラーメッセージが返されます。
ビューとテーブルのシノニム(Synonym)で実行される操作は、ベーステーブル(Base Table)上の整合性制約に従う必要があります。
例えば、ユーザーが employees テーブルの salary 列に整合性制約を定義したとします。この整合性制約は、salary 列の数値が10,000より大きいデータ行を employees テーブルに挿入することを禁止します。特定の INSERT または UPDATE ステートメントがこの整合性制約に違反した場合、そのステートメントはロールバックされ、エラーメッセージが返されます。