平成30年 春期 データベーススペシャリスト 午前II 問7

商品情報に価格、サイズなどの管理項目を追加する場合でもスキーマ変更を不要とするために、“管理項目”表を次の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制約」について調べてみよう。

戻る 一覧へ 次へ