我们是否包含弱实体的复合键(部分键+来自所有者实体的外键)作为外键或仅包含部分键?

时间:2014-04-18 13:51:24

标签: rdbms database erd rdms

在将实体关系模型转换为关系数据模型时:

映射1:N二进制关系时,是否应该包含(作为外键)实体上的复合键(部分键+来自所有者实体的外键)与关系N侧的实体类型对应的关系的一侧,或只是部分键

背景: -

在将实体关系模型转换为关系数据模型时,遵循以下步骤:

  1. 将常规实体类型映射到关系中,包括它们的单值属性。
  2. 将周实体类型映射到关系中。在其关系中包括其识别(即所有者)实体类型的主键属性作为外键。此关系的关键是其部分密钥和来自其识别实体类型的外键的组合。
  3. 映射二进制1:1关系类型,包括一个实体类型的主键(如果两个参与实体类型中只有一个显示完全参与关系,则不显示总参与)作为外键在与其他实体类型相对应的关系中(表示完全参与关系的实体类型。
  4. 映射二进制1:N关系类型,通过将参与实体类型的主键包含在1侧,作为对应于实体类型的关系的外键,朝向关系的N侧。
  5. 通过为关系类型建立新关系并通过将两个参与实体类型的主键包含为外键来制作其复合关键字来映射二进制关系M:N。
  6. 为每个多值属性创建一个新关系,并通过将主键作为外键包含在其实体类型中来创建其密钥。
  7. 参考:ERM to RDM

    问题解释: -

    1. 我的第一个问题来自第3步。
    2. 如果在步骤2中,周实体类型的patial键已与其所有者关系中的外键组合,以形成星期实体类型的对应关系中的复合键,

      并且同一周实体类型显示总参与1:1 binary relationship

      然后在步骤3中,当我们需要从(尽管所有者)实体类型添加外键时,该实体类型不是显示total participation的实体类型与对应于(尽管是星期)实体类型的关系这显示了总参与度, 但我们已经在上一步中已经完成了该步骤的要求,我们将做什么?什么都没有,继续前进?

      1. 我的下一个问题是从步骤4开始,如果关系1侧的实体类型实际上是一周实体,那么它的主键是(现在,在跟随前一步骤2之后)它自己的部分组合密钥和来自其识别关系的外键,我们应该将这个复合密钥作为外键添加到关系的N侧的实体类型中,还是只添加其部分密钥?

1 个答案:

答案 0 :(得分:0)

此规则仅适用于在两侧都具有强实体的二进制关系,即两个实体都具有主键。 如果他们是弱实体那么它将在这种关系的许多(N)方面明确地存在,在这种情况下我们再次遵循相同的规则,但是你建立的关系的主键是w。河吨。弱实体将是部分密钥(如果有)和所有者(强)实体的主键的组合。