PCへのメモリカードの取付け状態を管理するデータモデルを作成した。1台のPCは、スロット番号によって識別されるメモリカードスロットを二つ備える。“取付け”表を定義するSQL文のaに入る適切な制約はどれか。ここで、モデルの表記にはUMLを用いる。 [SQL文] CREATE TABLE 取付け ( PCID INTEGER NOT NULL FOREIGN KEY REFERENCES PC(PCID), スロット番号 INTEGER NOT NULL, メモリカードID INTEGER NOT NULL FOREIGN KEY REFERENCES メモリカード(メモリカードID), [a] CHECK(スロット番号 IN (1,2)) )
取付け位置は複合主キー、カードの重複はUNIQUEで防ぐ

選択肢
- アPRIMARY KEY(PCID, スロット番号),
- イPRIMARY KEY(PCID, スロット番号, メモリカードID),
- ウPRIMARY KEY(PCID, スロット番号), UNIQUE(メモリカードID),
- エPRIMARY KEY(スロット番号, メモリカードID), UNIQUE(PCID),
正解と解説
正解:ウ PRIMARY KEY(PCID, スロット番号), UNIQUE(メモリカードID),
1台のPCは2つのスロットをもち、スロットごとに1枚のカードが取り付けられるため、PCIDとスロット番号の組が取付けを一意に識別する主キーになる。さらに1枚のメモリカードが同時に複数のスロットへ取り付けられることはないので、メモリカードIDに一意性制約が必要になる。
選択肢ごとの解説
- ア主キーは適切だが、同じメモリカードが複数箇所に取り付けられるのを防げない。
- イメモリカードIDまで主キーに含めると、同一スロットに複数のカードを登録できてしまう。
- ウ正しい。主キーで取付け位置を一意にし、UNIQUEでカードの重複取付けを防いでいる。
- エPCIDを一意にすると1台のPCに1枚しか取り付けられず、2スロットの前提に反する。
同じ分野の他の問題
- 図のような関係データベースの"注文"表と"注文明細"表がある。"注文"表の行を削除すると、対応する"注文明細"表の行が、…2025年度 秋期 午前II 問11
- 表定義に基づいて作成された"システム担当者"表において、トランザクションAの複合文内のSQL文全てを正常終了させるために…2025年度 秋期 午前II 問8
- 商品情報に価格、サイズなどの管理項目を追加する場合でもスキーマ変更を不要とするために、“管理項目”表を次のSQL文で定義…2018年度 春期 午前II 問7
- 関係演算において、商演算と同等な結果が得られる演算の組合せはどれか。2025年度 秋期 午前II 問10
- 関係R、Sに次の演算を行うとき、RとSが和両立である必要のないものはどれか。2024年度 秋期 午前II 問11
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。