問題
問53
次のうち、関係データベースにおける「外部キー(Foreign Key)」の役割として最も適切なものはどれか。
- 他のテーブルとの関連を定義し、参照整合性を保つ
- レコードの件数を制限する
- 文字列を自動で暗号化する
- 画面上に表示する順番を決める
正解
正解は「ア」です。
解説
正解は「他のテーブルとの関連を定義し、参照整合性を保つ」です。関係データベースにおける外部キー(Foreign Key)は、あるテーブルの列(カラム)が、別のテーブルの主キー(Primary Key)を参照するための仕組みです。これにより、複数のテーブル間で関連性を持たせ、一貫したデータの整合性を維持します。
例えば、社員情報を管理する「社員テーブル」と部署情報を管理する「部署テーブル」がある場合、社員テーブルの「部署ID」が部署テーブルの主キーである「部署ID」を外部キーとして参照します。こうすることで、存在しない部署IDを社員に割り当てることが防がれ、データの矛盾を防止できます。この仕組みは「参照整合性」と呼ばれ、データベースの信頼性を高める重要な役割を持っています。
逆に、レコード件数の制限や文字列の暗号化、画面表示の順番決定は外部キーの役割ではありません。外部キーはデータの整合性を保つための関連付けに特化した機能です。
- イ(レコードの件数を制限する):
レコードの件数制限はデータベースの制約やアプリケーション側で設定するもので、外部キーの機能ではありません。 - ウ(文字列を自動で暗号化する):
文字列の暗号化はセキュリティ技術であり、外部キーとは無関係です。 - エ(画面上に表示する順番を決める):
表示順序はクエリのORDER BY句などで制御し、外部キーは表示順とは関係ありません。
難易度
この問題は関係データベースの基本的な用語である「外部キー」の役割を問うものです。初心者にとってはやや専門的に感じるかもしれませんが、基本用語として頻出であるため、用語の意味を理解していれば解ける問題です。したがって難易度は初級から中級の間といえます。
用語補足
外部キー(Foreign Key):
関係データベースで、あるテーブルの列が別のテーブルの主キーを参照してデータの関連性を示すものです。例えば、社員テーブルの「部署ID」が部署テーブルの主キーを指すことで、一貫したデータ管理を実現します。
参照整合性:
データベースの複数のテーブル間で矛盾のない状態を保つ仕組みです。外部キーによって実現され、存在しない値の参照を防止します。
主キー(Primary Key):
テーブル内のレコードを一意に識別するための列です。例えば社員IDが主キーとなる場合、同じIDの社員は存在しません。
対策
関係データベースの基本用語をしっかり覚えることが重要です。特に主キーや外部キーの役割を理解し、参照整合性がなぜ必要かを具体例とともに学習しましょう。実際に簡単なデータベース設計をしてみると理解が深まります。