国开《数据库基础与应用》第一章 1-2:实体与联系
1.实体
实体是现实世界中存在的、可以相互区别的事物或活动。
由同一类型的实体所组成的集合称为实体集。
实体集中所有实体的共有特征构成实体型的定义。如学生的共有特征为姓名、性别、年龄、籍贯、职业、学历等。每个学生都是符合学生实体型定义的一个实体值。“张三、男、35、江苏、教师、研究生”。
实体表示一个事物,实体集表示一类中的许多事物,实体型表示实体的抽象定义,实体值表示符合实体型定义的一次取值。
2.联系
联系是指实体之间的相互关系,它通常用来表示人们进行的一种活动。
一个联系通常需要涉及到两个或多个实体。
一张采购订单联系,涉及到商品实体、客户实体和销售员实体。
一次学术讲座联系,涉及到报告人实体、听众实体和报告厅实体。
一个学生的一次选课活动就是一个联系,它涉及到学生和课程之间的关系。
同一类联系的集合构成联系集。
对联系的共有特征的抽象定义就构成一种联系类型,简称联系型。参赛甲方、参赛乙方、裁判员、参赛时间、参赛地点、比赛结果。学生选课联系包括选课编号、学生号、课程号、笔试成绩、实验成绩。文字教材中的表1-2-2是一个学生选课联系表。
3.属性
属性是描述实体或联系中的一种特征,一个实体或联系通常具有多个特征,需要利用多个属性来描述。描述一个人使用姓名、性别、年龄、籍贯、职业、学历、住址、电话等属性。
对于一个实体,存在着一个关键属性,用它来标识同其它实体的区别,这个属性称做码、键、或关键字、关键码等。身份证号,职工号是码。
一个实体中的码可能是实体中的一个属性,也可能是包含有多个的一组属性。
在实体中码所含的属性被称为主属性,码之外的属性被称为非主属性。
实体中的每个属性都对应着一定的取值范围,此取值范围被称做该属性的域。性别属性的域{男,女};教师职称属性的域{助教,讲师,副教授,教授,无}。
4.联系分类
1对1联系:若一个实体型A中的一个实体至多与另一个实体型B中的一个实体相对应,同样实体型B中的一个实体至多与实体型A中的一个实体相对应。
1对多联系:若一个实体型A中的一个实体与另一个实体型B中的任意多个实体相对应,而实体型B中的一个实体至多与实体型A中的一个实体相对应。
多对多联系:若一个实体型A中的一个实体与另一个实体型B中的任意多个实体相对应,实体型B中的一个实体与实体型A中的多个实体相对应,标记为m对n联系。
例如,学生实体和课程实体,图书和图书作者。
各种类型联系的具体实现
当两个实体A和B存在1对1联系时,通过在各自实体类型中增加对方的码属性,就可以反映出这两个实体的1对1联系。
当两个实体A和B存在1对多联系时,通过在实体B的实体类型中增加实体A中的码属性,可以反映出这两个实体的1对多联系。实体A表示班级,班级号为班级实体的码;实体B表示学生,学生号为学生实体的码。,联系属性班级号属性。
当两个实体存在多对多联系时,通过它们本身不能够直接反映出这种复杂联系,必须通过它们之间的联系实体间接地反映出来。例如,学生和课程是多对多的联系,它们通过选课表联系实体间接地反映出来。