本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成30年度 春期 応用情報技術者試験問題と解説

問28

SQLにおいて、A表の主キーがB表の外部キーによって参照されている場合、各表の行を追加・削除する操作の参照制約に関する制限について、正しく整理した図はどれか。ここで、△印は操作が拒否される場合があることを表し、○印は制限なしに操作ができることを表す。

ア 
    ┌──┬──┐
    │追加│削除│
 ┌──┼──┼──┤
 │A表│ ○ │ △ │
 ├──┼──┼──┤
 │B表│ △ │ ○ │
 └──┴──┴──┘

イ 
    ┌──┬──┐
    │追加│削除│
 ┌──┼──┼──┤
 │A表│ ○ │ △ │
 ├──┼──┼──┤
 │B表│ ○ │ △ │
 └──┴──┴──┘

ウ 
    ┌──┬──┐
    │追加│削除│
 ┌──┼──┼──┤
 │A表│ △ │ ○ │
 ├──┼──┼──┤
 │B表│ ○ │ △ │
 └──┴──┴──┘

エ 
    ┌──┬──┐
    │追加│削除│
 ┌──┼──┼──┤
 │A表│ △ │ ○ │
 ├──┼──┼──┤
 │B表│ △ │ ○ │
 └──┴──┴──┘


正解


解説

参照制約は、DBMSにおいて、データの追加や更新及び削除の際に、関連するデータ間で不一致を発生させないようにするものである。

A表の主キーがB表の外部キーによって参照されている例として、B表が売上表、A表が商品コードマスターのような場合が該当する。

売上表 (B表) に追加する時、商品コードマスター (A表) に存在しないコードが指定された場合、操作を拒否する必要がある。
また、商品コードマスター (A表) から商品コードを削除する場合、売上表 (B表) にレコードが存在する場合も、操作を拒否する必要がある。

従って、A表の行を削除する際と、B表に行を追加する際に操作が拒否される場合がある。

問27 目次 問29