实例
l 两个不同实体型之间的联系
【例1.1】 分别画出学校与教师联系,学生与课程联系的ER图。见图1.11。
(a)学校与教师联系的ER图 (b)学生与课程联系的ER图
图1.11 两个不同实体型间联系的ER图例子
l 多个不同实体型之间的联系
【例1.2】假设厂家供应零件,仓库负责采购零件并管理零件的入库、出库,多个工程项目所需的零件在仓库领取。画出仓库管理的ER图。见图1.12。(图中省去属性,属性另列,后同。)
有三个实体型:工程项目(项目号,项目名,负责人);
零件(零件号,零件名,单价,数量);
厂家(编号,厂名,厂址)。
有两个联系型:需求(需求量);
采购(购进数)。
图1.12 多个不同实体型间联系的ER图例子
l 多个不同实体型之间的多元联系
【例1.3】上例中,虽有多个实体型,但从联系的方式看,均属“两两联系”。其实,联系也可以出现在多于两个实体型之间。若在上例中进一步假设某个工程项目指定要购买某个厂家的零件,那么,工程项目和厂家之间也有联系。这就是多个不同实体型之间的多元联系。ER图可以是下面图1.13的样子:
图1.13 多个不同实体型间联系的ER图例子
l 两个不同实体型之间的多种联系
【例1.4】两个实体型间可以通过多种联系反映不同语义。例如,“职工”和“工程”两实体型间有两种联系,而且两种联系的方式也不一样。一种是M:N联系,表示一个职工可参加多项工程, 一个工程有很多职工参与。另一种是1:N联系,表示一个施工队长负责多项工程。 ER图如下,见图1.14。
图1.14 两个不同实体型间多种联系的ER图例子
l 同一实体型内各实体间的联系
【例1.5】同一实体型内各实体间的联系,有时候比起两个不同实体型间的联系还要复杂。下面分开1:N联系和M:N联系两种情况来讨论。假设实体型是“女性公民”,联系型是“母女”。显然,联系方式是1:N。因为每个人只有一位亲生母亲,但可能有几个女儿。ER图如下,见图1.15。
图1.15 同一实体型内各实体间1:N联系的ER图例子
假设实体型是“课程”,联系型是“预修”。一门课可能要先预修某几门课,如图1.16实例中的预修课为c,d,e;反之,一门(预修)课又可能是某几门课的预修课,如图1.16实例中的e,它 同时是a和b的预修课。这种联系方式是M:N。其ER图如下:
图1.16 同一实体型内各实体间M:N联系的ER图例子