据我了解,ER图首先是一个概念模型,从某种意义上说,它描述了关系,而不考虑它们如何在实际数据库中表示/实现。但是,如果我想要图表描述关系并反映关系的哪个部分是"拥有"侧?比方说,在JPA中,一些关系可以是单向的;如果定义为双向,则这种关系的一方是所有者而另一方是反面 - 例如,通常,具有其他表的外键的表将是拥有方,并且引用的表将是一个反面。
我想知道是否有任何广泛使用的ER符号允许注释一个拥有方(或单向关系的方向),或者至少可以显示外键指向的方式?
答案 0 :(得分:2)
最常见的ER符号是IE,Barker和IDEF1X的变体。所有这些都使用不同的符号,这些符号应该清楚地表明外键的哪一侧("很多"侧)。
外键不是指针,所以他们没有方向。在面向对象的编程中,方向性指的是指针如何用于实现控制流。换句话说,方向性是一种编程语言特征而不是数据模型特征。现代DBMS不会在其数据模型中公开指针。实际上,ER建模是在20世纪70年代开发的,它是一种抽象数据模型的方式,没有当时基于指针的系统的约束。
UML符号确实具有方向关联的概念,因为UML用于对行为和编程结构进行建模,而不仅仅是数据。