7、角色
��什么是角色呢?实体在联系中的作用称为角色。由于参与联系集的实体集通常是互异的,因而角色常常是隐含的且不声明,因为这时候它的作用不大。但是,当联系的含义需要解释时角色还是很有用的,这主要用在参与联系集的实体集并非互异(相同)的时候,这类联系集也称为自环联系集。例如,假设employee实体集记录银行所有员工的信息,而银行的员工又分为两大类,一类是"经理",一类是"职员",他们之间的关系是"职员"为"经理"工作。那么,我们如何在E-R图中表示银行员工,即employee实体集自身的这种工作关系呢?一种办法就是用联系集works-for来对有序的employee实体对进行建模,每对实体对中的第一个员工具有"经理"的角色,第二个员工具有"职员"的角色,即实体对包含了联系集要描述的所有角色。按照这种方式,所有的works-for联系都通过实体对(经理,职员)来描述。图2-5-8给出了实体集employee和联系集works-for之间的角色标识manager和worker。按照(manager, worker)这种有序的实体对,联系集works-for是一个"一对多"的联系。

图2-5-8:E-R图中的角色标识

 
8、E-R图中的多元联系集
��联系集CLB的含义是一个客户可以有多笔贷款,一笔贷款也可以归多个客户共有,但每个"客户-贷款"对只能同一个银行分支机构相联系,而一个银行分支机构可以有多笔贷款。
图2-5-9:E-R图中的多元联系集
��

��