文章目录
- 1.实体
- 2.属性
- 3.联系
- 4.实体-联系图
- 5.弱实体集
1.实体 1.实体:客观存在并且可以相互区分的任何事物,可以是实际对象,也可以是抽象概念。
2.属性:实体所代表的事物具有的某种特性,每个实体都可以用一组属性来刻画
? 例如,我们可以用学号、姓名、性别、出生年月、专业等属性来刻画学生实体。
? 对于同一个实体,刻画它的属性集可以有不同的选择。
3.实体集:实体集是具有相同属性的实体的集合
? 实体和实体集的型都用其属性名的列表表示
? 例如,学生实体(集)的型可以用(学号,学生姓名,性别,出生年月,院系,专业)
? 实体的值是该实体诸属性值的列表
? (201606198,江涛,男,1997.4,信息工程学院,软件工程)
? 实体集的值是该实体集中所有实体值的集合
4.码:“码”表示主码或候选码,而超码是码的超集
超码: 能够惟一确定实体集中每个实体的属性集称为 该实体集的超码
候选码: 真子集都不是超码的极小超码是候选码
主码:主码是指数据库的设计者选中的,用来区分同一实体集中不同实体的候选码
例如,对于学生实体集中,{学号}和{学号,姓名}都是超码,{学号}是极小超码,因为它的真子集是空集,不是超码,如果不允许重名的话,{姓名}也是极小超码,{学号},{姓名}都是候选码,可以选择{学号}作为主码
2.属性 ? 简单属性指的是不能划分成更小部分的属性
? 复合属性和简单属性相对应,是可以划分成更小部分的属性
? 单值属性是特定的实体在该属性上只能取单个值的属性
?多值属性是特定的实体在该属性上可以取多个值的属性
? 基本属性是不能通过其他属性的值推导出来(即它的值必须存储在系统中)的属性
? 派生属性的值可以从其他相关属性或实体计算得到,因此派生属性又称计算属
3.联系 联系是多个实体之间的相互关联
联系集是相同类型联系的集合
一对一联系(1:1联系)
? 如果E1中的每个实体最多与E2中的一个实体相关联,并且E2中的每个实体也最多与E1中的一个实体相关联,则称E1和E2之间的联系为一对一联系
? 例如,实体集“部门”和“经理”之间的联系“管理”可以是一对一联系
** 一对多联系(1:n联系)**
? 如果E1中的每个实体都可以与E2中任意多个实体相关联,而E2中的每个实体最多与E1中一个实体相关联,则称这种联系为E1到E2的一对多联系
? 例如,实体集“职工”到实体集“部门”的联系“属于”就可以是多对一联系
多对多联系(m:n联系)
? 如果E1中的每个实体都可以与E2中任意多个实体相关联,并且E2中的每个实体也可以与E1中任意多个实体相关联,则称E1和E2之间联系为多对多的联系
? 例如,学生和课程之间的联系“选修”就是多对多联系
注意:一个联系到底属于哪种类型只能通过考察实际问题的语义来确定
联系也可以具有属性
? 这种情况经常出现在多对多联系中,这种属性与参与联系的实体都相关
例如:实体集Students和Courses之间的联系SC。(s,c)?SC表示学生s选修了课程c。成绩是与联系集SC的特定元组(s, c)相关联的,因此应当将成绩作为SC的属性
4.实体-联系图
文章图片
实体集:矩形框
实体集名写在框内,并用无向边把实体集和它的属性连接起来
文章图片
联系R是一对一的,则每条无向边旁均用1标记,如图(a)所示
? 如果联系R是实体集E2, …, Ek到实体集E1的多对一联系,则R 与E1之间的无向边用1标记,其余的无向边用小写字母m, n, p等。标记,或都用“”号标记,如图(b)所示
? 如果联系R是多对多的,则每条无向边都用小写字母m, n, p等。标记,或都用“”号标记,如图?所示
文章图片
文章图片
文章图片
文章图片
5.弱实体集 【数据库——实体联系模型】? 如果一个实体集的任何属性集都不足以形成该实体集的码,则称该实体集为弱实体集
? 存在码的实体集称为强实体集
文章图片
标识实体集: 弱实体集必须与另一个称作标识实体集或属主实体集的强实体集相关联才有意义
标识性联系? 标识实体集与弱实体集相关联的联系称为标识性联系
分辨符? 如果一个属性可以惟一确定存在依赖于同一个强实体的弱实体,则称该属性集为弱实体集的分辨符
弱实体的码? 弱实体集的标识实体集的码和该弱实体集的分辨符共同形成弱实体集的码
部分码? 弱实体集的分辨符又称弱实体集的部分码,
可以与多个标识实体集关联? 有的弱实体集还可以与多个标识实体集关联,该弱实体集的码由诸标识实体集的码和弱实体集的分辨符的组合
另一种处理弱实体集的方法? 把它作为其标识实体集的一个多值复合属性,例如:可以把家属作为职工的一个多值属性
不好的设计方法? 将强实体集的码添加到弱实体集的属性集中,将弱实体集转化成强实体集
文章图片