ORACLE MASTER Silver SQL 26aiキーとリレーションの許容値オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiでp(id PRIMARY KEY)には10だけがある。空のcは次の定義で作成済みで、追加制約・トリガーはなく、外部キーは即時検査される。A、Bの成否はどれか。 CREATE TABLE c(id NUMBER PRIMARY KEY,dept NUMBER REFERENCES p(id)); A: INSERT INTO c VALUES(1,NULL); B: INSERT INTO c VALUES(2,99);
A
AもBも親に同じ値がないので失敗する
NULLを許す単一列外部キーでは、NULLに対する親行は要求されない。
B
Aは失敗し、Bは子の主キーが異なるので成功する
deptのNULLは許可されるが、子主キーの一意性だけではBの参照先不足を解消できない。
C
AもBも成功する
NOT NULLがないことは、存在しない非NULLの親キー99まで許す意味ではない。
D
Aは成功し、Bは親キーがないため失敗する★ 正解
NULL許容と、非NULL値に対する親キー存在検査を区別した結果である。
解説
この単一列外部キーにはNOT NULLがないため、deptがNULLの行は登録できる。NULLではない99は親キーに対応する値が必要だが、pには存在しないので参照整合性違反になる。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-10-30
同じレッスンの問題
問題 1
Oracle AI Database 26aiで次の表を作り、(10,2)だけを登録した。追加制約・トリガーはなく、制約は有効で即時検査される。A、Bをそれぞれ試すときの結果はどれか。
CREATE TABLE pairs(a NUMBER,b NUMBER,PRIMARY KEY(a,b));
A: INSERT INTO pairs VALUES(10,3);
B: INSERT INTO pairs VALUES(10,2);
問題 3
Oracle AI Database 26aiで、空のt(code VARCHAR2(5) UNIQUE)へNULL、NULL、'X'をこの順に登録できた。追加のNOT NULL制約・トリガーはない。続いてもう一度'X'をINSERTする場合の説明はどれか。