风扇陷阱和裂口陷阱 - 数据库

时间:2013-01-14 22:55:28

标签: database conceptual-model

谁能告诉我什么是裂口陷阱?也许是粉丝陷阱,因为我不太清楚。另外,请提供易于理解的示例(通过Chen符号)。

到目前为止我的理解:我知道Fan trap是M:1:1:M,这表明实体之间的路径是模糊的。
我明白那个。例如,如果M代表学生,而另一个M代表学校,那么它将是模棱两可的,因为我们不知道哪个学生在哪所学校学习(这是我到目前为止所理解的)。

但是,我无法掌握什么是裂口陷阱。

另外,我如何识别陷阱然后修复它?

3 个答案:

答案 0 :(得分:22)

基于Conolly& Begg:

扇形陷阱在模型表示实体类型之间的关系时出现,但某些实体出现之间的路径不明确

实施例:  (职员)-1:N-HAS-1:1-(司)-1:1-操作-1:N-(分公司) Fan Trap 在这种模式中,当员工属于有超过1个分支的部门时,可能无法确定员工所属的分支。

重组模型可解决陷阱问题 (司)-1:1-操作-1:N-(分公司)-1:1-HAS-1:N-(职员) Not Fan Trap

当模型建议实体类型之间的关系时会发生

断层陷阱,但某些事件之间的路径不存在

实施例: (分公司)-1:1-HAS-1:N-(职员)-0:1-监督-0:N-(PropertyForRent) Chasm Trap

由于员工与PropertyForRent的关系具有可选参与(0:1),因此分支到PropertyForRent的路径可能不存在。对此的解决方案是Branch和PropertyForRent之间的直接关系,并强制参与。

答案 1 :(得分:7)

简单来说,对于两种情况(FAN和CHASM),它将产生比实际更多的线(结果集)。如何识别

  • FAN - > 1-N-N 表示来自一个的表关系 - >很多 - >许多
  • CHASM - > N-1-N 表示一行表到两个或多个表多关系
  • LOOP - >加入所有表格,当make循环像圆圈时(在这种情况下,我们绝对会丢失一些行)

没有什么可以识别,但是当你创造宇宙时,我们必须睁大眼睛,如果你在开发宇宙时看到这些情况,那么总会有问题。因此,通过应用别名,上下文来纠正。

一旦宇宙级别的所有问题都解决了,我们就可以去报道了。通过练习,你将拥有出色的知识。

答案 2 :(得分:2)

当三个表以一种方式加入时,我发现了扇形陷阱。表A和B表示连接为..表A链接到表B中的一对多,表B到表C再次与主要方式A - > B - > C相关。