1Z0-071 · Silver SQL
DDLによる表とその関係の管理
★★☆☆☆複数選択
Q18of 20
表レベルで指定することができる制約はどれですか。(複数選択) — Silver SQL 問18
表レベルで指定することができる制約はどれですか。(複数選択)
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)
);