経営情報システム H28年度 第8問

第8問

リレーショナルデータベース(RDB(では定義された複数の表に様々なデータを 格納して処理を行う。下記のようなA 表とB 表がある場合、参照の完全性(参照整 合性ともいう(を保つために必要な事柄として、最も適切なものを下記の解答群か ら選べ。 商品コード 商品名 単価 主キー A 表 商品コード 数量 外部キー 日付 B 表 解答群

  1. B 表の外部キーの値には重複や空の値があってはならない。
  2. B 表の外部キーの値はA 表の主キーに存在しなければならない。
  3. B 表の行は削除できるが、A 表の行は削除できない。
  4. 商品に関するデータが未登録であった場合、B 表にデータ入力を行う。 DKJC-1F
▼ 解答・解説を見る

正解:

解答:イ

参照の完全性(参照整合性)の意味を問う。A表が主キー(商品コード)を持ち、B表がそれを参照する外部キー(商品コード)を持つ。

参照整合性とは、外部キーの値が参照先の主キーに必ず存在する(または NULL)ことを保証する制約である。これにより、存在しない商品コードを持つ明細が生じることを防ぐ。

  • ア(×):外部キーには重複が許される(同じ商品が複数回売れる)。また外部キーはNULL(空値)を取り得る場合もあり、「重複や空があってはならない」は主キーの性質と混同しており誤り。
  • イ(○):B表(参照する側)の外部キーの値は、A表(参照される側)の主キーに存在しなければならない。これが参照整合性の核心。
  • ウ(×):参照整合性の制約は「参照されている親(A表)の行を勝手に削除できない(または連動処理が必要)」という方向で働く。子(B表)の行は削除可だが、A表が一律「削除できない」というのは不正確で、本問の趣旨と異なる。
  • エ(×):参照整合性を保つには、まずA表に商品を登録してからB表に明細を入力する必要がある。未登録のままB表へ入力するのは整合性に反し誤り。

よって

#データベース

← 経営情報システムの一覧へ戻る