平成29年度 春期 データベーススペシャリスト試験 午前II 問11
2025年6月30日
【問題11】
PC へのメモリカードの取付け状態を管理するデータモデルを作成した。1 台の PC は、スロット番号によって識別されるメモリカードスロットを二つ備える。"取付け" 表を定義する SQL 文の a に入る適切な制約はどれか。ここで、モデルの表記にはUMLを用いる。
【解説】
この問題では、PCとメモリカードの取付け状態を管理するための適切な制約を検討します。
制約の条件
- スロット番号の管理
– 1台のPCごとにスロット番号は一意である必要があります。
– PCID
と スロット番号
の組み合わせが主キーになる。
- メモリカードの一意性
– 同じメモリカードが複数のスロットに取り付けられることを防ぐ必要があります。
– そのため、メモリカードID
に一意性制約が必要です。
各選択肢の検討:
ア: PRIMARY KEY(PCID, スロット番号)
誤り。この制約では、同じメモリカードが複数のスロットに取り付けられる可能性があります。
イ: PRIMARY KEY(PCID, スロット番号, メモリカードID)
誤り。主キーに メモリカードID
を含める必要はありません。複雑すぎます。
ウ: PRIMARY KEY(PCID, スロット番号), UNIQUE(メモリカードID)
正しい。PCID
と スロット番号
の組み合わせを主キーとし、メモリカードID
に一意性制約を追加することで、同じメモリカードが複数のスロットに取り付けられることを防ぎます。
エ: PRIMARY KEY(スロット番号, メモリカードID), UNIQUE(PCID)
誤り。スロット番号
と メモリカードID
の組み合わせが主キーとなるため、PCごとのスロット番号の管理ができません。
【答え】
ウ: PRIMARY KEY(PCID, スロット番号), UNIQUE(メモリカードID),
出典:平成29年度 春期 データベーススペシャリスト試験 午前II 問11