A、B、C、Dの4つのペアワイズM2M関連モデルがあるとします。それらの間の関係を確立するために中間モデルABCDを作成しました。データベースに重複する列のペアが多数ある場合、中間モデルを複数のモデルに正規化するのが通常の方法ですか?
私が懸念しているのは次のとおりです。1。ABCDを分解すると、models.pyが乱雑になります。2。複数の2列テーブルは4列テーブル(重複する列ペアを含む)よりも優れていますか?
デザインに役立つ可能性のあるいくつかの質問。
あなたがしていることは大丈夫だと思いますが、私は複数の2列のテーブルを使用する傾向があります(しかし、それは私の3つの質問に対するあなたの答えに完全に依存します)。2列の交差するテーブルを使用すると、クエリとデータの整合性の制御が容易になると思います。
編集(あなたの応答の後):
これをさらに検討した後、クエリなどで簡単になるアプローチは、単一の4列のテーブルになると思います。私は通常、このアプローチは好きではありませんが、データが実際にすべて関連していて、すべて存在する場合は、最初のアプローチを使用してデータをクエリすることで多くの時間を節約できます。
この推奨事項についてDBAの友人に謝罪する必要があります;)