本文へスキップ

FUNDAMENTAL INFORMATION TECHNOLOGY ENGINEER

基本情報技術者の問題解説:リレーショナルデータベースの外部キーの説明はどれか。

テクノロジ系 標準 fe_a_s041_q010

問題

リレーショナルデータベースの外部キーの説明はどれか。

  1. テーブル内の各行を一意に識別する列
  2. テーブルのデフォルト値を保持する列
  3. 他のテーブルの主キーを参照する列で、テーブル間の関連を定義する(正解)
  4. テーブルのインデックスを作成するための列
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:他のテーブルの主キーを参照する列で、テーブル間の関連を定義する

この問題は外部キーの役割を問うものです。外部キー(FOREIGN KEY)は、あるテーブルの列が別テーブルの主キーなどを参照することで、テーブル同士の関係を表す仕組みです。存在しない顧客IDを注文表に登録できないようにするなど、参照整合性を保つために使われます。

アは主キー、イはデフォルト値を持つ列、エはインデックス作成に関する説明です。外部キーは「他テーブルを参照するキー」と考えると迷いません。

軽い類題:注文表の顧客IDが、顧客表の顧客IDを参照している場合、注文表の顧客IDは外部キーになります。

つまずきポイント:外部キーには参照整合性制約が働くため、参照先の行を消そうとすると制約に引っかかります。顧客表のある顧客を、その顧客IDを参照する注文行が残ったまま削除しようとすると、既定では削除が拒否されます。「主キーと違い、外部キーは同じ値の重複やNULLを許せる」点も主キーとの違いです。

他の選択肢はなぜ違う?

  • 各行を一意に識別するのは主キー。
  • デフォルト値はDEFAULT制約の話で、列の種類ではない。
  • インデックスは検索性能の仕組みで、キーの種類ではない。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題