SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

RDBMSの外部キー(Foreign Key)とは?主キーとの関係を具体例で解説

外部キー(Foreign Key)とは

外部キー(Foreign Key)とは、複数のテーブル同士をつなぐリンクを作成するための仕組みです。あるテーブルの列が、別のテーブルの主キー(Primary Key)を参照することで、テーブル間の関連性を表現できます。

外部キーを設定することで、データベースは「参照先に存在しない値」の登録を防ぎ、データの一貫性(参照整合性)を保つことができます。

ここでは、Employee(従業員)テーブルの「DeptID」を例に、外部キーの働きを見ていきましょう。

テーブル例1:Employee(従業員テーブル)

EmpID
EmpName
EmpAge
DeptID


テーブル例2:Department(部署テーブル)

DeptID
DeptName
DeptZone


主キーと外部キーの役割分担

この2つのテーブルにおける「DeptID」の役割は、次のように異なります。

  • Department テーブルの「DeptID」 … 部署テーブルにおける主キー。各部署を一意に識別する役割を持ちます。
  • Employee テーブルの「DeptID」 … 従業員テーブルにおける外部キー。Department テーブルの主キーを参照し、各従業員がどの部署に所属しているかを示します。

下図は、この関係を表したものです。

RDBMSの外部キー(Foreign Key)とは?主キーとの関係を具体例で解説

図のポイント

上の図のように、Employee テーブルの外部キーは、Department テーブルの主キーと同じものであることがわかります。

つまり、外部キーとは「他のテーブルの主キーを参照する列」であり、これによって2つのテーブルが論的に結び付けられます。この構造により、以下のようなメリットが得られます。

  • 存在しない部署IDを持つ従業員データの登録を防止できる
  • テーブル間の関係性が明確になり、JOINによる結合クエリが容易になる
  • データの重複や不整合を抑え、データベース全体の品質を向上できる
  1. RDBMSにおける複合キー(Composite Key)とは?定義と具体例を解説

    複合キー(Composite Key)とはリレーショナルデータベース(RDBMS)において、2つ以上の属性(列)を組み合わせて構成される主キーのことを複合キー(Composite Key)と呼びます。通常、主キーはテーブル内の各行を一意に識別するための単一の列で構成されますが、1つの列だけでは一意性を保証できないケースがあります。そのような場合に、複数の列を組み合わせることで、行を確実に一意に識別できるようにするのが複合キーです。複合キーの例1:注文テーブルの場合例えば、「1件の注文に複数の商品が含まれる」といった状況を考えてみましょう。OrderID だけでは、同じ注文内のどの商品かを区別で

  2. RDBMSの主要用語を徹底解説!データベース・主キー・外部キーの基礎知識

    RDBMS(リレーショナルデータベース管理システム)には、データベース、テーブル、カラムなど、押さえておきたい重要な用語が数多くあります。ここでは、それぞれの用語の意味と役割を、具体例とともにひとつずつわかりやすく解説していきます。データベース(Database)データベースとは、「Student(学生)」や「Professors(教授)」などの複数のテーブルをまとめて管理する集合体のことです。システム全体のデータを格納する土台となる存在です。テーブル(Table)テーブルは、行(レコード)と列(カラム)で構成されるデータの集合です。例えば、学生情報を管理するテーブルは以下のようになります。S