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

平成29年度 秋期 ITパスポート試験 公開問題 問88 解説 外部キーの特性

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

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

解説

この問題は、外部キーの定義と制約の仕組みを理解しているかが鍵となります。外部キーは他のテーブルの主キーを参照するためのリンクですが、一つのテーブルが複数のテーブルと関係を持つことは多々あります。したがって、一つのテーブルに複数の外部キーを持たせることが可能です。

関係データベースにおける外部キーの役割と、各選択肢の誤りを解説します。

外部キーとは、あるテーブルの列が、別のテーブルの主キーを参照している状態を指します。これによって、テーブル間のデータの整合性を保ちます。例えば、注文テーブルにおいて、どの顧客が注文したかを示す「顧客ID」は顧客テーブルを参照する外部キーとなり、どの商品が注文されたかを示す「商品ID」は商品テーブルを参照する外部キーとなります。このように、一つのテーブルが複数の外部キーを持つことはデータベース設計の基本です。

選択肢の判定根拠は以下の通りです。

アについて 一意性制約は、その列に重複するデータを入れてはいけない(値がただ一つであることを保証する)というルールです。主に主キーに適用される概念であり、外部キーの特性ではありません。

イについて 外部キーは、参照先のテーブルに存在しない値を入れてはいけませんが、自分自身のテーブル内において同じ値が複数回登場することは許可されています。例えば、注文テーブルで同じ顧客が何度も注文を行う場合、「顧客ID」は重複して出現します。

エについて 主キーを構成する列が複数ある(複合主キーといいます)場合、外部キーもそれに対応して複数のフィールドをまとめて一つの外部キーとして設定する必要があります。したがって、まとめて設定できないとする記述は誤りです。

外部キーは、参照整合性制約を維持するために非常に重要です。この知識は、データベースのテーブル設計(ER図など)を問う問題で頻出します。特に、「なぜ外部キーが必要なのか(データの整合性を保つため)」「主キーとどう違うのか(重複の可否、参照先の有無)」という点を押さえておくと、応用問題にも対応できるようになります。

  • 外部キー制約(データベーススペシャリスト試験ドットコム)
  • リレーショナルデータベースの制約(Wikipedia)

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

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