E-R(实体-联系模型)转化为模型

  1. 实体转化为关系

  2. 联系转化为关系

实体转化为关系:
关系名:实体集的名称
关系的属性:实体集的属性
关系的主码:实体集的主码

联系转化为关系:根据联系的类别进行转化

  1. 1:N联系:


    对于1:N联系,首先区分几个概念:单方实体集,多方实体集,N端,1端.
    a.首先在E-R模型中联系的数量的定义是:一方实体通过联系集合与多少个另一方的实体有联系,因此单方实体集合多方实体集是要通过联系集合来判断,而N端和1端就看实体集与联系集合之间的线上写的是多少,例如:

1:
上图中,一个A对应一个B,所以B是1端,单方实体集;一个B对应多个A,所以A是多方实体集,A是N端。

b.转化为关系:
首先将单方实体集的码加入到多方实体集中,作为多方实体集的属性(画图时要注意是属性不是码,所以下面是没有划线的)
之后是联系的属性的处理方法:(如果联系没有属性,那么就不用进行以下的步骤,那么联系的码就是与其相连的各实体集的码)

  • 方法一:将联系单独转化为关系,其属性包括自身的属性和与其相连的各实体集的码,两端的码作为其主码。
  • 方法二:将联系与N端实体集结合,将联系的属性作为N端实体集的属性,并且联系的码就将是N端实体集的码。
  1. N:M联系:

    各实体分别转化成关系,此时联系要单独成为一个关系,关系的属性为与其相连的各实体集的主码集合以及联系自身的属性,其中联系作为关系之后其主码为与其相连的各实体集的主码。
  2. 一对一联系:

  • 当实体双方都是部分参与的时候,各实体分别转化为关系,联系也要成为一个关系,各实体的主码为其候选码,选择一个就可以(因为是一对一)。
  • 当实体双方有一方是完全参与的时候,有两种方法:
    • 方法一:将联系作为单独的关系,这时候其属性为各实体集的码以及自身的属性,此时其关联的实体集的主码都为其候选码(因为是一对一,一个就可以确定)
    • 方法二:将单方实体集的码加入到多方实体集中成为多方实体集的属性,并且将联系的属性也加入多方实体集中成为多方实体集的属性,并且多方实体集的码不变

扩展E-R模型与关系模型转化:

  1. 弱实体转化为关系:与实体差不多,就是将其依赖的强实体的主码加入一关系中,与分辨符组成其主码
  2. 特化/概化:
    方法一:高层实体单独成为关系,那么底层实体的属性中要加入高层实体的主码,并且作为其主码。
    方法二:如果底层实体是不相交并且是全部的,那么就可以将高层实体和底层实体合并建立关系,其中关系的属性为底层实体的属性加上高层实体的所有属性,关系的码为高层实体的主码。
  3. 聚集:如果实体集A与实体集B形成联系R,将其中体成为C,C又与D形成联系S,那么将联系S单独转化为关系,其主码为R的主码与D的主码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值