5

特定の行で1つを除くすべてがNULLであるテーブルで、外部キーのセットを使用する手法の名前は何ですか?

言い換えると、各行にはn個の異なる可能なテーブルの1つ(および1つだけ)への外部キーが必要なので、実際には必要なすべての外部キーがありますが、1つを除くすべてがNULLです。

(Djangoのユーザーは、これを汎用外部キーを使用する代わりに認識することができます)

4

2 に答える 2

6

あなたが説明しているデザインの用語はExclusiveArcです。

代わりに、n個の異なる親テーブルの共通のスーパーテーブルを参照する1つの外部キーを作成することを好みます。

ポリモーフィックな関連付けについては、他の回答を参照してください。

于 2010-01-23T00:43:41.550 に答える
2

例を示した方が簡単ですが、これを解決する一般的な方法は、それらのテーブルに共通のスーパータイプを見つけることです。テーブルBook, Article, Magazineがあり、テーブルがこれらのテーブルへの外部キーを持つ必要があるとします。共通のスーパータイプを使用すると、Publicationこれが解決されます。モデルと同様の質問/回答については、こちらを参照してください。

于 2010-01-23T14:03:28.843 に答える