データベーススペシャリスト暗記無料で始める

検査制約とは?けんさせいやく

検査制約とは、列や行が満たすべき条件を述語として表の定義に書き、違反する挿入・更新をDBMSの側で拒む仕組み。値の範囲、取りうる区分の並び、同じ行にある列どうしの大小関係などを書ける。アプリケーションが何本あってもこの検査は必ず通るので、整合性の最後の砦になる。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の頻出用語/午前II

別名:CHECK制約

データベースSPを最短で暗記・合格する →

背景

入力チェックを画面プログラムだけに置くと、バッチ、データ移行、手で発行するSQLといった別の入口から異常値が入り、しかも入った後は誰にも気づかれない。条件をデータ側の定義として一度だけ宣言しておけば、入口の数に関係なく守られる。シラバスでもインテグリティは全社データベース計画の標準化項目に挙がっており、実現方式を設計する能力が求められている。

具体例

受注明細表に「数量は1以上」、会員表に「性別区分は'M','F','U'のいずれか」、契約表に「終了日は開始日以上」をCHECKとして書く。最後の例のように、同じ行の2つの列を比べる条件も宣言できる。

試験での引っ掛け

評価の結果が真でも偽でもなく不定(unknown)になった場合、CHECK制約は違反とみなさず通してしまう。NULLを含む比較は不定になるので、「数量は1以上」と書いてもNULLは素通りする。NULLを排除したいならNOT NULLを別に指定する。三値論理を知らないと必ず外すところ。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

データベースSPを最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 評価の結果が真でも偽でもなく不定(unknown)になった場合、CHECK制約は違反とみなさず通してしまう。