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