ER建模中的自我关系

时间:2017-03-07 23:00:28

标签: database entity-relationship

我正在尝试制作一个ER模型,其中我对其中一个关系感到困惑。假设我有一个名为order的实体,它有一些属性,如order_id,订单总价等等,我想将此订单的详细信息存储在另一个名为订单详细信息的表中,该表将捕获order_id,product_id,quantity,price。第二个表格将允许消费者查看有关特定订单的详细信息,其中首先只是给出一个没有任何细节的总体外观。经过广泛的研究,我仍然有2个疑问,请帮助我: a)订单详细信息是否会在er图中自我引用订单实体?我明白订单细节将是弱实体。 b)实体是否允许与其他实体具有3+个二元关系?

1 个答案:

答案 0 :(得分:0)

根据您的描述,我概述了这个ER模型:

order detail ER diagram

  

订单明细会在er图中自我引用订单实体吗?

由于order detailorder不同,所以如何“自我引用”另一个?

  

我知道订单细节将是弱实体。

不一定。在上图中,order detail是一种关系。我们可以将它作为一个弱实体来处理:

order details ER diagram 2

弱实体需要弱键(否则它会缩减为子类型),因此我添加了line item #属性。显然,这个模型比前一个模型稍微复杂一点,效果不大。

  

是否允许实体与其他实体建立3个以上的二元关系?

是的,实体可以参与的关系数量(二元或其他)没有限制。