助け合いフォーラム

Oracle DB

Oracle Master 12c Bronze DBA(1Z0-065)
問題ID : 14279
問題を開く
制約とその説明として正しい組合せはどれですか(2つ選択して下さい)。

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

上に戻る

主キー制約

公開日 2022/09/15

選択肢→主キー制約: 表の中の1つの列にしか定義できない
解説→1つの表に1つしか定義できない
列レベルの制約、表レベルの制約
これが何がどう違うのかが理解出来ません。
どなたかご教示いただけますでしょうか。

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 複合主キーというものがあるのですね 上記のサイトを拝見してすごく納得しました

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

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