ホームページ >データベース >mysql チュートリアル >外部キーはリレーショナル データベース内の複数のテーブルを参照できますか?

外部キーはリレーショナル データベース内の複数のテーブルを参照できますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-23 23:10:29315ブラウズ

Can a Foreign Key Reference Multiple Tables in a Relational Database?

外部キーは複数のテーブルを指すことができますか?

外部キー制約を設定するには、通常、単一のターゲット テーブルを選択する必要があります。ただし、多態性リレーションシップのコンテキストでは、単一のテーブルが他の複数のテーブルと接続を持つ場合があります。

多態性リレーションシップと外部キー

多態性リレーションシップでは、テーブル (例: 画像) は、他のいくつかのテーブル (例: 下位または製品) の 1 つとの関係を維持します。これは、外部キーが指す特定のテーブルを識別する列 (person_type) によって実現されます。

回答

残念ながら、いいえ。外部キー制約では、単一の親テーブルへの参照のみが許可されます。これは、同時に複数のテーブルを指す外部キーを作成できないことを意味します。

代替

ただし、次のような他の手法を使用してこの動作をシミュレートする方法があります。 :

  • 識別子列: 子テーブルのタイプを識別する列を親テーブルに追加します。
  • ユニオン テーブル: 作成関連するすべてのテーブルから結合されたデータを含む単一のテーブル。

以上が外部キーはリレーショナル データベース内の複数のテーブルを参照できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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