E-R模型
1.E-R模型概述
(1)E-R模型:Entity-Relationship Model
(2)E-R模型的基本观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的
(3)E-R模型刻画信息世界的概念
1)实体:学生,课程,教师等
2)属性:学生的学号,课程的课程号,教师的教师编号等
3)联系:选课关系将学生实体和教师实体联系到了一起
4)关键字/码
2.实体与实例
(1)实体:客观存在并可相互区分的事物
(2)实体有类(实体,实体的型)和个体(实体的实例,实体的值)的概念
(3)实体:实体的型来刻画
实体名称(属性名1,属性名2,...)
读者(借书证号,姓名,年龄,联系方式)
(4)实例:实体的值来刻画
实体名称(属性值1,属性2,...)
读者(1,张三,22,110)
读者(2,李四,27,120)
3.属性
(1)属性:实体所具有的某一方面特性
(2)单一属性和复合属性
1)复合属性示例:家庭住址:省份.详细住址
2)在关系模型中,复合属性一定要转换成单一属性(即表中不能有表)
(3)单值属性和多值属性
1)多值属性示例:电话号码:一个人可能有多个电话号码
2)在关系模型中,多值属性一定要转化为单值属性
(4)可空值属性和非空值属性:每个实例的该属性值可以是或不能是空值
(5)原始属性和导出属性
1)导出属性:由原始属性(其他属性)计算而得
2)导出属性示例:有出生年份(原始属性)可以得到“年龄”(导出属性)
4.关键字/码
(1)关键字/码:一种特殊的属性
(2)实体中能够用其值唯一区分开每一实例的属性或属性组合
(3)每一个实体都必须给出关键字
读者实体中借书证号就是关键字
5.联系
(1)联系:指一个实体的实例和其他实体的实例之间可能发生的联系(无联系的实体是没有意义的)
哪位“读者”借阅了哪本“图书”,哪本“图书”放在哪个“书架”上
(2)联系的度或元:参与发生联系的实体的数目
1)一元联系:参与到一个联系中的实例是同一个实体的实例
零件A由零件B和零件C装配构成
部门1下设两个子部门部门2和部门3
不同实例有不同的作用,引入角色
2)二元联系
借阅(借书证号,书号)联系了读者实体,图书实体
3)多元联系--三元联系
已发生供货(供货商号,零件号,工程项目号,数量,日期)
允许发生供货(供货商号,零件号,工程项目号)
三个实体:供货商,零件,工程项目
由上面例子可以看出,实体是相对稳定的,但联系是多样化的,
(3)二元联系的种类
1)一对一联系:实体A的一个实例只能和实体B的一个实例发生联系,反之,实体B的实例也只能和实体A的一个实例发生联系
2)一对多联系:实体A的一个实例可以和实体B的多个实例发生联系,而实例B的一个实例只能和实体A的一个实例发生联系
3)多对多联系:实体A的一个实例可以和实体B的多个实例发生联系,反之,实例B的一个实例也能和实体B的多个实例发生联系
一个“学生”可以选多门“课程”,而一门“课程”也能被多位“学生”选择
(4)联系的基数
1)实体实例之间的联系的数量,即一个实体的实例通过一个联系能与另一实体中相关联的实例的数目
2)通常以实体参与联系的最小基数和最大基数来标记(MinCard,MaxCard)
“书架”参与“存放图书”联系的基数为(0, m ),“图书”参与“存放图书”联系的基数是(1, 1)
(5)完全参与联系:即该端实例至少有一个参与到联系中,最小基数是1,(1,m)
(6)部分参与联系:即该端实例可以不参见联系,最小基数是0,(0,m)
6.角色(作用)
(1)实体在联系中的作用称为实体的角色
(2)当同一实体的不同实例参与一个联系时,为区别各实例参与联系的方式,需要显式指明其角色(role)
(3)举例:一元联系--装配
零件(零件号,零件名)
装配(父件号,子件号)