外部キーとは
データベースは、データまたは情報が保存されるテーブルで構成されます。 外部キーは、リレーショナルデータベース内のメカニズムであり、これらのテーブルの関連付け、またはテーブル同士の関係を可能にします。 外部キーには固有の特性が必要です。 同じデータベース内の別のテーブルの値との関係を確立する値を持つテーブル内の列または列のグループである必要があります。
外部キーは、あるテーブルの行が他のテーブルの行に対応することを保証します。これにより、データベース全体の関係または参照が確立されます。 外部キーを含むテーブルは「子」であり、他のテーブルは「親」です。 外部キーの値がnullまたは空になり、実際にそれが見つかったテーブルの主キーと呼ばれるものを実際に参照または関連付けることができます。 これは自己参照として知られています。
外部キーの背後にある概念を完全に理解する前に、主キーが何であるかを十分に理解する必要があります。 たとえば、書籍を販売するWebサイトの出版された書籍に関する情報を格納するデータベースに2つのテーブルがある場合、1つのテーブルは出版社のテーブルで、もう1つのテーブルは書籍のテーブルです。 パブリッシャーテーブルは、2つの列、すべてのレコードで常に一意のプライマリキー、およびパブリッシャー名の列で構成できます。 書籍テーブルは最低3列で構成され、各書籍の主キーまたは一意の識別子、書籍のタイトル、出版社テーブルとの関係を確立するための列が保持されます。 その列は外部キーになります。
Publishersテーブルのプライマリキーは、値がP01、P02、P03などの「pub_id」のようなものです。同じ値のpub_id列が含まれている場合、booksテーブルとの関係が確立されます。 これは、この子テーブルを親(パブリッシャーテーブル)に関連付ける外部キーになります。
ただし、外部キーは、参照する親キーとは異なる列名を持つことができます。 参照整合性を維持するには、主キーと外部キーの仕組みをしっかり理解することが不可欠です。 多くのテーブルで構成されている、またはジャンクションテーブルを含む非常に大きなデータベースには、複数のタイプの関係が存在するため、外部キーを操作するタスクが複雑になる可能性があります。