ホームページ >データベース >mysql チュートリアル >PostgreSQL で多対多の関係を実装するにはどうすればよいですか?

PostgreSQL で多対多の関係を実装するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-22 14:42:09699ブラウズ

How to Implement Many-to-Many Relationships in PostgreSQL?

PostgreSQL での多対多のリレーションシップの実装

PostgreSQL で多対多の関係を実装するには、別のブリッジ テーブルを作成する必要があります。 「結合テーブル」と呼ばれるこのテーブルは、リレーションシップに関係するメイン テーブルを結合するために使用されます。

これを行うには、次の 3 つのテーブルを作成します:

<code class="language-sql">CREATE TABLE product (
  product_id serial PRIMARY KEY,
  product    text NOT NULL,
  price      numeric NOT NULL DEFAULT 0
);

CREATE TABLE bill (
  bill_id serial PRIMARY KEY,
  bill     text NOT NULL,
  billdate date NOT NULL DEFAULT CURRENT_DATE
);

CREATE TABLE bill_product (
  bill_id    int REFERENCES bill (bill_id) ON UPDATE CASCADE ON DELETE CASCADE,
  product_id int REFERENCES product (product_id) ON UPDATE CASCADE,
  amount     numeric NOT NULL DEFAULT 1,
  CONSTRAINT bill_product_pkey PRIMARY KEY (bill_id, product_id)
);</code>

この構造は、bill_product 結合テーブルを介して product テーブルと bill テーブルを効果的に接続し、それによって多対多の関係を確立します。

以上がPostgreSQL で多対多の関係を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。