SQLにおける一対多の関係の作成方法


  1. 外部キー制約を使用する方法: 外部キー制約は、親テーブルと子テーブルの関連性を定義するために使用されます。親テーブルの主キーを子テーブルの外部キーとして参照することにより、一対多の関係を作成します。

例:

CREATE TABLE 親テーブル (
  親ID INT PRIMARY KEY,
  親名前 VARCHAR(100)
);
CREATE TABLE 子テーブル (
  子ID INT PRIMARY KEY,
  子名前 VARCHAR(100),
  親ID INT,
  FOREIGN KEY (親ID) REFERENCES 親テーブル(親ID)
);
  1. 中間テーブルを使用する方法: 中間テーブルは、親テーブルと子テーブルの間に置かれる追加のテーブルです。親テーブルと子テーブルの主キーを中間テーブルの外部キーとして参照することにより、一対多の関係を作成します。

例:

CREATE TABLE 親テーブル (
  親ID INT PRIMARY KEY,
  親名前 VARCHAR(100)
);
CREATE TABLE 子テーブル (
  子ID INT PRIMARY KEY,
  子名前 VARCHAR(100)
);
CREATE TABLE 中間テーブル (
  親ID INT,
  子ID INT,
  PRIMARY KEY (親ID, 子ID),
  FOREIGN KEY (親ID) REFERENCES 親テーブル(親ID),
  FOREIGN KEY (子ID) REFERENCES 子テーブル(子ID)
);

これらの方法は、一対多の関係を表現するための一般的な手法ですが、実際のデータベース設計や要件によって最適な方法は異なる場合があります。データベースの設計において、テーブル間の関係性を適切に定義することが重要です。