【Oracle】制約(CONSTRAINT)の種類を理解する【過去問修行】
目標
このブログでは、Oracle Silver 資格取得を目指す方のために、過去問の解説やポイントを共有し、理解を深めることを目的としています。
勉強方法
- 実際の過去問を解いて、現在の理解度を把握する。
- 間違えた問題をチェックし、解説を通して理解を深める。
- 理解した内容を実際のSQL環境で試してみる。
- 類似問題を解くことで、知識を定着させる。
問題
次のうち、Oracle の制約(CONSTRAINT)の特徴として誤っているものを選択してください。
選択肢
- A.
PRIMARY KEY
は、一意性を保証し NULL 値を許可しない - B.
FOREIGN KEY
は、参照先のテーブルが削除された場合でもデータ整合性を維持できる - C.
CHECK
制約は、指定した条件に合致しないデータの挿入を防ぐ - D.
UNIQUE
制約は、一意性を保証するが NULL 値を許可する
正解
B. FOREIGN KEY
は、参照先のテーブルが削除された場合でもデータ整合性を維持できる
解説
FOREIGN KEY
制約は、参照先のデータが削除された場合にデータ整合性が崩れる可能性があります。参照整合性を維持するために、ON DELETE CASCADE
や ON DELETE SET NULL
を指定することが可能です。
間違い選択肢の解説
- 選択肢A: 正しい。
PRIMARY KEY
は一意性を保証し、NULL を許可しない。 - 選択肢C: 正しい。
CHECK
制約は、特定の条件に合致しないデータの挿入を防ぐ。 - 選択肢D: 正しい。
UNIQUE
制約は、一意性を保証するが NULL 値を許可する。
ポイント
PRIMARY KEY
は NULL を許可しない。FOREIGN KEY
のデータ整合性は、ON DELETE
句の設定によって異なる。CHECK
制約は、特定の条件を満たすデータのみを許可する。UNIQUE
制約は NULL 値を許可するが、一意性を保証する。
実践例
-- FOREIGN KEY 制約の例
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
department_id NUMBER,
CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments(department_id) ON DELETE CASCADE
);
まとめ
制約(CONSTRAINT)はデータの整合性を維持するために重要な機能であり、FOREIGN KEY
の動作には特に注意が必要。
このブログは Oracle Silver 資格取得を目指す方向けに、過去問の解説やポイントを共有するためのものです。
最近のコメント