商品情報に価格、サイズなどの管理項目を追加する場合でもスキーマ変更を不要とするために、“管理項目”表を次のSQLで定義した。
“管理項目”表の“ID”は商品ごとに付与する。
このとき、同じIDの商品に対して、異なる商品名を定義できないようにしたい。
aに入る字句はどれか。
[SQL文]
CREATE TABLE 管理項目 (
ID INTEGER NOT NULL,
項目名 VARCHAR(20) NOT NULL,
データ型 VARCHAR(10) NOT NULL,
値 VARCHAR(100) NOT NULL,
a
)
ア | UNIQUE (ID) |
イ | UNIQUE (ID, 項目名) |
ウ | UNIQUE (ID, 項目名, 値) |
エ | UNIQUE (項目名, 値) |
答え イ
【解説】
問題で禁止したいのは「IDと項目名が同じ時にその値が異なる」ということなので、これをSQL文のUNIQUEを使うと
UNIQUE (ID, 項目名)
(イ)になる。
【キーワード】
・UNIQUE制約