【Oracle】CHECK制約の動作を理解する【過去問修行】

2025年2月11日

目標

このブログでは、Oracle Silver 資格取得を目指す方のために、過去問の解説やポイントを共有し、理解を深めることを目的としています。

勉強方法

  • 実際の過去問を解いて、現在の理解度を把握する。
  • 間違えた問題をチェックし、解説を通して理解を深める。
  • 理解した内容を実際のSQL環境で試してみる。
  • 類似問題を解くことで、知識を定着させる。

問題

次のうち、CHECK 制約の特徴として誤っているものを選択してください。

選択肢

  • A. CHECK 制約を使用すると、カラムの値に制約を課すことができる
  • B. CHECK 制約は、テーブルのデータ整合性を向上させるために使用される
  • C. CHECK 制約は、参照整合性を保証するために使用される
  • D. CHECK 制約は、特定の条件を満たす値のみを許可する

正解

C. CHECK 制約は、参照整合性を保証するために使用される

解説

CHECK 制約は、カラムに設定された特定の条件を満たすデータのみを許可するための制約です。例えば、年齢が0以上であることを保証する制約を設定できます。しかし、FOREIGN KEY のような参照整合性を保証するためのものではありません。

間違い選択肢の解説

  • 選択肢A: 正しい。CHECK 制約を使用すると、カラムの値に特定の条件を課すことができる。
  • 選択肢B: 正しい。データ整合性を向上させるために CHECK 制約を使用する。
  • 選択肢D: 正しい。CHECK 制約は特定の条件を満たす値のみを許可する。

ポイント

  • CHECK 制約は、特定のカラムの値に対するルールを設定する。
  • CHECK 制約は、参照整合性(外部キーのような関係)は保証しない。
  • データの整合性を確保するためのツールとして利用される。

実践例

-- CHECK 制約を設定する例
CREATE TABLE employees (
    employee_id NUMBER PRIMARY KEY,
    name VARCHAR2(100),
    age NUMBER CHECK (age >= 18)
);

まとめ

CHECK 制約は、カラムに特定の条件を適用し、データの整合性を維持するために使用されるが、参照整合性の保証には使用されない。


このブログは Oracle Silver 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。