ITパスポート試験 / 平成30年度 秋期 ITパスポート試験 公開問題 / 問73
certification-simodake-work

平成30年度 秋期 ITパスポート試験 公開問題 問73 解説 データベースの外部キー

データベースにおける外部キーに関する記述のうち,適切なものはどれか。

  1. ア 外部キーがもつ特性を,一意性制約という。
  2. イ 外部キーを設定したフィールドには,重複する値を設定することはできない。
  3. ウ 一つの表に複数の外部キーを設定することはできない。
  4. エ 複数のフィールドを,まとめて一つの外部キーとして設定することができる。 ✓ 正答

解説

外部キーに関するこの問題は、各選択肢が示す制約条件を正誤判断できるかがポイントです。外部キーとは、あるテーブルの列が、別のテーブルの主キーを参照するための仕組みです。この定義を軸に考えると、各選択肢の誤りが見えてきます。

外部キーの主な役割は、参照先のテーブルに存在しないデータが入力されないようにすること(参照整合性の維持)です。外部キーそのものには、値が一意である必要はなく、また重複を禁止する性質もありません。

アの誤りについて 一意性制約とは、その列に含まれる値が重複することを禁止するルールです。これは主キーやユニークキーに適用されるものであり、外部キーの特性ではありません。

イの誤りについて 外部キーが設定された列には、同じ値が何度も登場できます。例えば、顧客テーブルの主キーを参照する注文テーブルの顧客ID列には、同じ顧客が何度も注文を行うため、同じ顧客IDが複数回記録されるのが一般的です。

ウの誤りについて 一つのテーブルには、複数の外部キーを設定することが可能です。例えば、注文テーブルにおいて、顧客テーブルを参照する顧客IDと、商品テーブルを参照する商品コードの両方を外部キーとして設定するケースなどがこれに該当します。

エの正解について 外部キーは一つの列(フィールド)に対してだけでなく、複数の列を組み合わせて設定することができます。これを複合外部キーと呼びます。例えば、あるテストの成績表において、学生IDと科目コードの組み合わせを外部キーとして設定することで、特定の学生の特定の科目のデータであることを保証する場合などがこれにあたります。

試験では、主キー(重複不可、NULL不可、一意性制約)と外部キー(重複可、NULL可、参照整合性維持)の違いを明確に区別しておくことが合格への近道です。特に、外部キーが単一の列だけでなく、複合キーとして設定可能であるという点は、データベース設計の実務や試験での応用問題で頻出の知識となります。

  • データベースの基礎知識:主キーと外部キーの役割とは
  • わかりやすいITパスポート:関係データベースの制約について

学習の記録にははてなブックマーク!

気づいたこと・覚えたことをコメントにメモしよう