Oracle試験道場

1Z0-071 · Silver SQL

DDLによる表とその関係の管理

★★☆☆☆複数選択
Q18of 20

表レベルで指定することができる制約はどれですか。(複数選択)Silver SQL18

表レベルで指定することができる制約はどれですか。(複数選択)

Choices選択肢

  • ANOT NULL制約
  • BCHECK制約正解
  • CUNIQUE制約正解
  • DPRIMARY KEY制約正解
  • EFOREIGN KEY制約正解
Answer

正解は、B,C,D,Eです

Explanation解説

NOT NULL制約のみ表レベルで指定できません。他の制約はすべて列レベル・表レベルの両方で指定可能です。

制約と指定レベルの対応:

制約名列レベル表レベル
NOT NULL制約×
CHECK制約
UNIQUE制約
PRIMARY KEY制約
FOREIGN KEY制約

なぜNOT NULL制約は表レベル指定できないのか:

NOT NULL制約は 特定の1列に対する制約 であり、表全体や複数列にまたがる意味を持ちません。一方で、複合主キーや複数列のUNIQUE制約などは表レベル指定が必須です。

例:複合PRIMARY KEY(表レベル指定)

CREATE TABLE order_items (
  order_id   NUMBER,
  item_no    NUMBER,
  quantity   NUMBER,
  CONSTRAINT pk_order_items PRIMARY KEY (order_id, item_no)
);