再会,
我们大学的 db 教授总是说,在一侧与 (0, M) 的一对多关系必须有第三个表来关联它们。我当时没有问他,现在我也不能,但我想知道他为什么要这样说?(特别是必须的部分)。
我正在建模一个简单的传感器测量活动数据库,我对此感到非常困惑,您如何看待我的模型,它会按我的预期工作吗?这与我的问题有关,因为我正在做与我所教的完全不同的事情,而且我害怕构建一个损坏的模型。
传感器有 0 或 M 个度量,一个度量恰好属于一个传感器。活动有 0 或 M 个传感器,一个传感器可能在 0 或 N 个活动中。活动有 0 或 M 个度量,一个度量完全属于一个活动。
使用我教授的方法,我得到 6 个表(每对中间表)。我认为不需要其中的 2 个表,但理解这就是这个问题的目的。
忽略他,我得到了 Measure 和另一个表(多对多中的第三个表,我称之为 Instrument)都关联的 Campaign 和 Sensor。我认为拥有这样一种双重关系看起来是错误的,注意到 Measure 和 Instrument 都会有 FK 到 Campaign 和 Sensor(Instrument 就像一个空的度量,IMO),我决定简单地做我所做的。
我可能需要查询任何组合(给定活动的传感器/测量值和给定传感器的测量值),我想我可以轻松(?)做到这一点(在涉及测量时使用子查询)。我还希望,如果我删除一个活动或一个传感器,它的度量会被删除,我可以通过删除级联轻松实现这一点。会有什么缺点?
对不起,新手问题,任何帮助将不胜感激。我已经用谷歌搜索并没有发现任何东西,也许我使用了错误的术语,我不是在这里假装垃圾邮件。至少对 Google 搜索进行更智能的查询将不胜感激,谢谢。