助け合いフォーラム

OSS-DB

OSS-DB Silver(Ver3.0)
問題ID : 35415
問題を開く
次のSQL文が実行された。 CREATE TABLE address(id CHAR(4) UNIQUE, postnum CHAR(7), address VARCHAR); CREATE TABLE customer(id CHAR(7) PRIMARY KEY, name VARCHAR, addressid CHAR(4) REFERENCES address(id)); IN...

この問題はプレミアムコンテンツです。

上に戻る

解説について

公開日 2024/04/27

「この問題の場合は、外部キーにユニーク制約が設定されているため、NULLを格納することも可能です。」は、「この問題の場合は、外部キーにユニーク制約が設定されていないため、NULLを格納することも可能です。」ではないのでしょうか?

2024/04/30 12:34

この問題の場合は、外部キーにユニーク制約が設定されているため、NULLを格納することも可能です。

解説のこの文章は、参照先のテーブルのカラムには「主キー制約」または「ユニーク制約」が設定されている必要がある、という外部キー制約作成時の条件が前提になっていると思います。(参考: 問題ID35376)

  • 外部キー作成時には、参照先のテーブルのカラムに「主キー制約」または「ユニークキー制約」が必要
  • この問題では、参照先のテーブルのカラムに「ユニーク制約」が設定されている
  • 従って、「customer」テーブルの「addressid」カラムに対して、NULLを格納することも可能

ただ、この問題の解説の文章だけ読むと、もう少し補足があっても良いかなと感じますね。


コメント

この返信に対して
コメントを記入できます

スタッフからの返信

s staff_ishii

2024/04/30 14:00

k650250 さん、rink_rew さん ご指摘の点について、加筆・修正を行いました。 ご報告、誠にありがとうございました。

この投稿に対して返信しませんか?