ホームページ  >  記事  >  データベース  >  リレーショナル データベースで複数のテーブルへの外部キーは可能ですか?

リレーショナル データベースで複数のテーブルへの外部キーは可能ですか?

DDD
DDDオリジナル
2024-10-24 03:58:30760ブラウズ

Is a Foreign Key to Multiple Tables Possible in Relational Databases?

複数のテーブルの 1 つへの外部キー: 可能ですか?

リレーショナル データベースでは、テーブル間の関係を確立するために外部キーが使用されます。通常、あるテーブルの外部キーは、別のテーブルの主キーを指します。しかし、疑問が生じます: 外部キーは複数のテーブルの 1 つを参照できますか?

答え: いいえ

外部キー制約は常に 1 つの親テーブルのみを参照します。これは、複数の可能なテーブルの 1 つを指す外部キーを定義できないことを意味します。この動作は MySQL と PostgreSQL の両方で同じです。

ポリモーフィック リレーションシップの影響

ポリモーフィック リレーションシップでは、テーブルが他のいくつかのテーブルの 1 つとリレーションシップを持つことができます。示されている例では、「images」テーブルは、「部下」または「製品」の 2 つのテーブルのいずれかと関係があります。

このような場合、以下を指す外部キーを直接作成することはできません。 「部下」か「商品」か。代わりに、関係を確立するには結合テーブルを明示的に定義する必要があります。結合テーブルには「従属」と「製品」の両方への外部キーが含まれており、「画像」テーブルには結合テーブルを参照する外部キーがあります。

追加リソース

このトピックをさらに詳しく調べるには、次のリソースを検討してください:

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

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