一言でいうと

外部キーとは、異なるテーブル(データの表)同士をつなぐための仕組みです。データベースで複数の表を関連付けるときに使います。

もう少し詳しく

データベースでは、情報を表の形で保存します。例えば、「顧客表」には顧客の名前や住所が、「注文表」には注文の内容や金額が書かれているとします。

この2つの表をつなぐために使うのが外部キーです。「注文表」に「顧客ID」という列を置き、「顧客表」の「顧客ID」と同じ値を入れることで、「この注文はどの顧客のものか」が分かるようになります。

図書館のカードで例えると、貸出記録に「会員番号」を書くことで、どの会員が本を借りたのかを追跡できるのと同じ仕組みです。

よく使われる場面

エラーログサイトでは、以下のような場面で外部キーが活躍します:

  • ユーザーとログの関連付け:「どのユーザーが、いつエラーを起こしたか」を記録するときに、ユーザーIDを外部キーとして使います
  • プロジェクトとイシューの関連付け:「どのプロジェクトでどんなエラーが発生したか」を管理するときに活用されます
  • データの整合性確保:存在しないユーザーIDを無理やり入力するのを防げるため、データの品質を保てます

関連する言葉

  • テーブル:データベースにおける表のこと
  • 主キー:テーブル内の各行を一意に識別するキー(外部キーは他のテーブルの主キーを参照します)
  • 参照整合性:外部キーを使ってデータの正確性を保つ仕組み