こんにちは、フルスタックエンジニアのryuです。
今回の記事は、基本情報技術者試験過去問解説です。データベースの外部キーについて解説します。外部キーとは、関連したテーブルを紐づけて、データの整合性を合わせるためのものです。さらに詳しく解説します。
外部キーを定義する目的として,適切なものはどれか
今回の記事は、以下の問題について解説します。
関係データベースにおいて,外部キ一を定義する目的として,適切なものはどれか。
ア:関係する相互のテーブルにおいて,レコード間の参照一貫性が維持される制約をもたせる。
イ:関係する相互のテーブルの格納場所を近くに配置することによって,検索,更新を高速に行う。
ウ:障害によって破壊されたレコードを,テーブル間の相互の関係から可能な限り復旧させる。
エ:レコードの削除,追加の繰返しによる,レコード格納エリアのフラグメンテーションを防止する。
出典:平成28年春期 問29
答えは、『ア』の「関係する相互のテーブルにおいて,レコード間の参照一貫性が維持される制約をもたせる。」です。
今回はデータベースの外部キーについて解説します。
外部キーとは?
ここからは、外部キーについて詳しく解説します。
外部キーは関連するテーブル間の一貫性・正当性を保つ
外部キーとは、関連するテーブル間の一貫性・正当性を保つためのものです。
テーブルのデータには”id”のような主キーがあります。主キーはデータを識別するための値です。この主キーを関連するテーブルに紐づけて外部キーとしてデータを保存します。すると、データ同士が紐づけられ、一貫性・正当性が保たれるようになります。
下記のように2つのテーブルを紐づけます。
外部キーを設定するとどうなるのか
では、なぜ外部キーを設定する必要があるのでしょうか?外部キーには制約という便利な機能があります。制約とは以下の通り。
外部キー制約とは、リレーショナルデータベース(RDB)でテーブルにデータを追加・更新する際の制約の一つで、外部の他のテーブルの特定の列の値しか指定できないようにするもの。
(引用:外部キー制約(参照制約)とは – IT用語辞典 e-Words)
これにより、受注テーブルの商品コードには、商品テーブルの値のみしか入力できないようになります。例えば、商品テーブルに「バナナ」は存在しないのに受注テーブルに「バナナ」が入力されるといったミスが無くなります。
過去問解説まとめ
今回の記事は、以下の問題について解説しました。
関係データベースにおいて,外部キ一を定義する目的として,適切なものはどれか。
ア:関係する相互のテーブルにおいて,レコード間の参照一貫性が維持される制約をもたせる。
イ:関係する相互のテーブルの格納場所を近くに配置することによって,検索,更新を高速に行う。
ウ:障害によって破壊されたレコードを,テーブル間の相互の関係から可能な限り復旧させる。
エ:レコードの削除,追加の繰返しによる,レコード格納エリアのフラグメンテーションを防止する。
出典:平成28年春期 問29
答えは、『ア』の「関係する相互のテーブルにおいて,レコード間の参照一貫性が維持される制約をもたせる。」です。
以上で解説を終わります。当ブログでは、このようなネットワークに関する内容や基本情報技術者試験の過去問解説をしているので興味のある方は引き続きご覧ください。
こちらのUdemyの講座もオススメです。