实体之间的联系

(1) 两个实体型之间的联系 ### 一对一联系(1:1) 如果对于实体集乂中的每一个实体,实体集S中至多有一个(也可以没有)实体与之 联系,反之亦然,则称实体集与实体集S具有一对一联系,记为1:1。 例如,学校里一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。

### 一对多联系(1:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之, 对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与 实体集B有一对多联系,记为1:n。 例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。 ### 多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,对于实体集S中的每一个实体,实体集中也有m个实体(m>=0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n. 例如,一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程,则课程 与学生之间具有多对多联系。 ## (2) 两个以上的实体型之间的联系 一般地,两个以上的实体型之间也存在着一对一、一对多和多对多联系。 例如,对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授, 使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则 课程与教师、参考书之间的联系是一对多的. 又如,有三个实体型:供应商、项目、零件,一个供应商可以供给多个项目多种零件, 而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供 应商、项目、零件三者之间是多对多的联系, ## (3) 单个实体型内的联系 同一个实体集内的各实体之间也可以存在一对一、一对多和多对多的联系。

例如,职工实体型内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系. # E-R图

E-R图提供了表示实体型、属性和联系的方法。 1. 实体型用矩形表示,矩形框内写明实体名。 2. 属性用椭圆形表示,并用无向边将其与相应的实体型连接起来。 3. 联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。 需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

E-R图向关系模型的转换