本文へスキップ
Certia
未分類
春期

データベーススペシャリスト 2017年 春期 問11

11 / 25

PC へのメモリカードの取付け状態を管理するデータモデルを作成した。1台の PC は、スロット番号によって識別されるメモリカードスロットを二つ備える。“取 付け”表を定義する SQL文のaに入る適切な制約はどれか。ここで、モデルの表記 にはUMLを用いる。 PC 取付け メモリカード 0.2 「スロット番号 0.1 PCID メモリカードID [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)) )

正解と解説

表示する
正解 ウ

PRIMARY KEY (PCID, スロット番号)、 UNIQUE(メモリカード ID)。

1つのメモリカードは1つのスロットにしか取り付けられない(多重度0..1)ので、PCID+スロット番号を主キーにしつつ、メモリカードIDにUNIQUE制約を付けて重複取付けを防ぐ(ウ)が正解。UNIQUEが無いと同じカードを複数スロットに登録できてしまう。

AI に聞く

AI のボタンを押すと、問題文と解答を入れたプロンプトをコピーしてから各サービスを開きます。入力欄に自動で入らない場合は貼り付けてください。