複数のテーブルの 1 つへの外部キー: 可能ですか?
リレーショナル データベースでは、テーブル間の関係を確立するために外部キーが使用されます。通常、あるテーブルの外部キーは、別のテーブルの主キーを指します。しかし、疑問が生じます: 外部キーは複数のテーブルの 1 つを参照できますか?
答え: いいえ
外部キー制約は常に 1 つの親テーブルのみを参照します。これは、複数の可能なテーブルの 1 つを指す外部キーを定義できないことを意味します。この動作は MySQL と PostgreSQL の両方で同じです。
ポリモーフィック リレーションシップの影響
ポリモーフィック リレーションシップでは、テーブルが他のいくつかのテーブルの 1 つとリレーションシップを持つことができます。示されている例では、「images」テーブルは、「部下」または「製品」の 2 つのテーブルのいずれかと関係があります。
このような場合、以下を指す外部キーを直接作成することはできません。 「部下」か「商品」か。代わりに、関係を確立するには結合テーブルを明示的に定義する必要があります。結合テーブルには「従属」と「製品」の両方への外部キーが含まれており、「画像」テーブルには結合テーブルを参照する外部キーがあります。
追加リソース
このトピックをさらに詳しく調べるには、次のリソースを検討してください:
以上がリレーショナル データベースで複数のテーブルへの外部キーは可能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。