商品情報に価格、サイズなどの管理項目を追加する場合でもスキーマ変更を不要とするために、“管理項目”表を次のSQL文で定義した。“管理項目”表の“ID”は商品ごとに付与する。このとき、同じIDの商品に対して、異なる商品名を定義できないようにしたい。aに入れる字句はどれか。 〔管理項目〕テーブル例: ID=1, 項目名=商品名, データ型=文字列, 値=ライト01 ID=1, 項目名=商品番号, データ型=文字列, 値=L001 ID=1, 項目名=価格, データ型=数値, 値=400 ID=2, 項目名=商品名, データ型=文字列, 値=ノート02 〔商品情報〕(参考) ID=1, 商品名=ライト01, 商品番号=L001, 価格=400 ID=2, 商品名=ノート02, 商品番号=N001, 価格=120, サイズ=A4 〔SQL文〕 CREATE TABLE 管理項目 ( ID INTEGER NOT NULL, 項目名 VARCHAR(20) NOT NULL, データ型 VARCHAR(10) NOT NULL, 値 VARCHAR(100) NOT NULL, [ a ] )

縦持ち表ではIDと項目名の組に一意性制約を課す

データベーススペシャリスト試験2018年度 春期 午前II7/関係モデル / 制約

管理項目:
ID項目名データ型
1商品名文字列ライト01
1商品番号文字列L001
1価格数値400
2商品名文字列ノート02
2
商品情報:
ID商品名商品番号価格サイズ
1ライト01L001400
2ノート02N001120A4

選択肢

正解と解説

正解: UNIQUE(ID, 項目名)

この表は1行につき1つの項目の値を保持する縦持ちの構造なので、同じIDに同じ項目名の行が複数あると値が一意に定まらなくなる。IDと項目名の組に一意性制約を課せば、1つの商品につき商品名は1行しか登録できなくなる。

選択肢ごとの解説

出典:平成30年度 春期 データベーススペシャリスト試験 午前II 問7(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。