完全性制約(Integrity Constraint)は、データが業務ルールの要件に従うことを保証し、ルールに適合しない不正なデータがデータテーブルに挿入されるのを防ぐために使用されます。本記事では、データベースのテーブルに不正なデータが挿入されるのを防ぐために完全性制約を使用する方法について説明します。
OceanBaseデータベースのOracleモードのテナントは、完全性制約を使用して、ユーザーがデータベースのテーブルに不正なデータを挿入するのを防ぐことができます。完全性制約の役割は、データベース内に保存される情報が一定の業務ルールに従うことを保証することです。DMLステートメントの実行結果が完全性制約に違反した場合、ステートメントはロールバックされ、エラーメッセージが返されます。ビューおよびテーブルのシノニム(Synonym)に対する操作は、ベーステーブル(Base Table)上の完全性制約に従う必要があります。
OceanBaseデータベースのOracleモードでは、ユーザーは制約のENABLEおよびDISABLEオプションを変更することで、その制約が有効になるかどうかを制御できます。
例えば、ユーザーはemployeesテーブルのsalary列に完全性制約を定義しました。この完全性制約は、salary列の数値が10000より大きいデータ行をemployeesテーブルに挿入できないように規定しています。特定のINSERTまたはUPDATEステートメントがこの完全性制約に違反した場合、ステートメントはロールバックされ、エラーメッセージが返されます。
完全性制約の詳細については、データの完全性を参照してください。