HOME»情報処理安全確保支援士令和3年秋期»午前Ⅱ 問21
情報処理安全確保支援士令和3年秋期 午前Ⅱ 問21
問21
次の表において,"在庫"表の製品番号に参照制約が定義されているとき,その参照制約によって拒否される可能性のある操作はどれか。ここで,実線の下線は主キーを,破線の下線は外部キーを表す。
在庫(在庫管理番号, 製品番号, 在庫量)
製品(製品番号, 製品名, 型, 単価)
在庫(在庫管理番号, 製品番号, 在庫量)
製品(製品番号, 製品名, 型, 単価)
- "在庫"表の行削除
- "在庫"表の表削除
- "在庫"表への行追加
- "製品"表への行追加
- [出題歴]
- 安全確保支援士 H31春期 問21
分類
テクノロジ系 » データベース » データベース設計
正解
ウ
解説
参照制約とは、関係データベースにおける整合性制約のひとつで、「あるテーブルで利用しようとする値が、別のテーブルで候補キー(または主キー)として存在していなければならない」というルールです。
設問の例では、"在庫"表が参照元、"製品"表が参照先に当たります。このため、"在庫"表の製品番号の参照制約により、"在庫"表の"製品番号"列の値が、"製品"表の主キー("製品番号"列)の値として存在している必要があります。これは、"製品"表に存在しない製品を、"在庫"表に登録できないことを意味しています。
参照制約がある場合、行の追加と削除に制限が加えられます。具体的には、次の2つの場面が問題となります。
設問の例では、"在庫"表が参照元、"製品"表が参照先に当たります。このため、"在庫"表の製品番号の参照制約により、"在庫"表の"製品番号"列の値が、"製品"表の主キー("製品番号"列)の値として存在している必要があります。これは、"製品"表に存在しない製品を、"在庫"表に登録できないことを意味しています。
参照制約がある場合、行の追加と削除に制限が加えられます。具体的には、次の2つの場面が問題となります。
- 参照元表への行の追加
- 参照先の表に存在しない値を含む行が追加された場合、参照制約を満たせなくなる
- 参照先表の行の削除
- 別表から参照されている値を含む行が削除された場合、参照制約を満たせなくなる
- "在庫"表は参照する側の表なので、削除に関しては制限されません。
- "在庫"表は参照する側の表なので、削除に関しては制限されません。
- 正しい。"在庫"表に行を追加する際に、"製品番号"列の値として"製品"表に存在しない値を指定すると、参照制約問題が発生して操作が拒否されます。
- "製品"表は参照される側の表なので、追加に関しては制限されません。