商品情報に価格、サイズなどの管理項目を追加する場合でもスキーマ変更を不要とするために、“管理項目”表を次の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制約
【キーワードの解説】
- UNIQUE制約(一意性制約)
データベースの表において、データの組(行)で見たときに表中に同じデータがなく、ユニーク(一意)にデータを特定できるような制約を、データの追加、更新時に課する制約です。
なお、主キーがある表では、主キーの値はユニーク制約になっています。
もっと、「UNIQUE制約」について調べてみよう。
戻る
一覧へ
次へ
|