0

A、B、C、Dの4つのペアワイズM2M関連モデルがあるとします。それらの間の関係を確立するために中間モデルABCDを作成しました。データベースに重複する列のペアが多数ある場合、中間モデルを複数のモデルに正規化するのが通常の方法ですか?

私が懸念しているのは次のとおりです。1。ABCDを分解すると、models.pyが乱雑になります。2。複数の2列テーブルは4列テーブル(重複する列ペアを含む)よりも優れていますか?

4

1 に答える 1

1

デザインに役立つ可能性のあるいくつかの質問。

  1. すべてのテーブルは相互に関連していますか?
  2. すべてが同時に存在する必要がありますか?つまり、Aが存在する場合、B、C、およびDも存在しますか?
  3. 彼らの関係は何ですか?意味、1対多、1対1...など

あなたがしていることは大丈夫だと思いますが、私は複数の2列のテーブルを使用する傾向があります(しかし、それは私の3つの質問に対するあなたの答えに完全に依存します)。2列の交差するテーブルを使用すると、クエリとデータの整合性の制御が容易になると思います。

編集(あなたの応答の後):

これをさらに検討した後、クエリなどで簡単になるアプローチは、単一の4列のテーブルになると思います。私は通常、このアプローチは好きではありませんが、データが実際にすべて関連していて、すべて存在する場合は、最初のアプローチを使用してデータをクエリすることで多くの時間を節約できます。

この推奨事項についてDBAの友人に謝罪する必要があります;)

于 2009-10-23T15:13:22.587 に答える