0

假设我有四个成对的 M2M 相关模型:A、B、C、D。我创建了一个中间模型 ABCD 来建立它们之间的关系。如果数据库中有很多重复的列对,将中间模型规范化为多个模型是正常的做法吗?

我担心的是: 1. 分解 ABCD 会使 models.py 变得杂乱无章 2. 多个 2 列表是否比一个四列表好(带有重复的列对)?

4

1 回答 1

1

还有一些可能对您的设计有所帮助的问题。

  1. 所有的表都相互关联吗?
  2. 都必须同时存在吗?意思是,如果A存在,B,C和D也存在吗?
  3. 他们的关系是什么?意思是,一对多,一对一……等等

我认为您所做的还可以,但我更倾向于使用多个 2 列表(但这完全取决于您对我的三个问题的回答)。我认为 2 列相交表使查询和数据完整性控制更容易。

编辑(在您回复后):

在进一步审查后,我认为查询等更容易的方法将是单 4 列表。我通常不喜欢这种方法,但如果您的数据实际上都是相关的并且都存在,那么使用第一种方法查询数据将为您节省很多时间。

我必须就此建议向我的 DBA 朋友道歉;)

于 2009-10-23T15:13:22.587 回答