ER图转关系模式, 强制参与和选择参与

首先每个实体对应一个关系

对于实体间存在的联系,得到映射基数后,还要知道参与联系的实体是强制参与还是选择参与,比如人拥有车的关系,每辆车都有主人,不一定每个人都有车,这里人就是选择参与,车是强制参与

假设有实体A和B存在联系
对于1:1的联系
  如果两边都是强制参与,可以将A的主键放到B的关系中或者将B的主键放到A的关系中,不必为这个联系新建一个关系
  如果一边是强制参与,一边是可选参与,则将可选参与一边的主键放到强制参与一边的关系中,不必为这个联系新建一个关系
  如果两边都是可选参与,则要为这个联系新建一个关系,其属性为两边的主键。

对于1:多的联系
  如果多的一边是强制参与,则将1的一边的主键放到多的一方的关系中,不必为这个联系新建一个关系
  否则,新建一个关系,其属性为两边的主键

对于多对多的关系
  新建一个关系,其属性为两边的主键

上面为联系建立的关系不会出现NULL的情况,如果允许NULL,还可以这样

对于1:1的联系 
  如果两边都是可选参与,也可以将任意一边的主键放到另一边作为一个属性,但该属性有可能为NULL

对于1:多的联系
  如果两边都是选择参与,也可以将1的一边的主键放到多的一方的关系中作为一个属性,但该属性有可能为NULL

作者: Dirichlet 发表于 2010-11-24 13:20 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· HTC考虑永远弃用微软谷歌手机平台(2010-11-25 10:02)
· iPhone4 才是最强拍照手机?(2010-11-25 10:01)
· 谷歌收购Groupon被泼冷水 称两企业文化迥异(2010-11-25 09:53)
· 新闻观察:电信商控制Android损害Google流量(2010-11-25 08:40)
· 苹果在华示弱Android原因:利润比份额重要(2010-11-25 08:40)

编辑推荐:GCC强大背后

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

做个快乐的自己。
原文地址:https://www.cnblogs.com/Jessy/p/1887329.html