助け合いフォーラム
Oracle Master 12c Bronze DBA(1Z0-065)
問題ID : 14279
問題を開く
制約とその説明として正しい組合せはどれですか(2つ選択して下さい)。
この問題はプレミアムコンテンツです。
主キー制約
n
naomaru
投稿日 2022/09/15
選択肢→主キー制約: 表の中の1つの列にしか定義できない
解説→1つの表に1つしか定義できない
列レベルの制約、表レベルの制約
これが何がどう違うのかが理解出来ません。
どなたかご教示いただけますでしょうか。
q
quensan
2022/09/15 18:39
列レベルの制約
参考の例にあるように、CREATE TABLE文などで各列の後にすぐ制約を定義するタイプです。1つずつの列に対してしか定義できません。
create table test
(id number PRIMARY KEY,
name varchar2(20) NOT NULL));
表レベルの制約
表の列をすべて記述した後に、CONSTRAINT句で列を指定して制約を定義するタイプです。この場合、1つ以上の複数の列の組み合わせに対して制約(NOT NULL以外)を定義できます。
create table test2
(id number,
name varchar2(20),
CONSTRAINT pk PRIMARY KEY(id, name));
選択肢→主キー制約: 表の中の1つの列にしか定義できない
”表レベルの制約”で書いたように主キー制約は複数の列の組み合わせに対しても定義できる(複合主キー)ので、この選択肢は間違いということでしょうね。
解説→1つの表に1つしか定義できない
主キー制約は1つの列または複数の列の組み合わせに対して作成できるが、作成できる主キー制約は1つの表に1つのみということになります。
コメント
この投稿に対して返信しませんか?
n naomaru
2022/09/15 19:54
ご回答いただきありがとうございます。 https://wa3.i-3-i.info/word1993.html 複合主キーというものがあるのですね 上記のサイトを拝見してすごく納得しました