2010年4月9日星期五1111基本ER图要点例:电子图书人员图书借书姓名编号权限书名条形码是否可借规定归还时间mn借阅时间实际归还时间是否续借人员表图书表借书表2010年4月9日星期五2222基本ER图要点例:学生选修课程学生课程选修姓名学号系别课程名先修课学分成绩用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与联系的实体用线段连接mn联系的数量2010年4月9日星期五3333基本概念--实体�实体(Entity)–客观存在并可相互区分的事物叫实体–唯一标识–具体的:如学生张三、工人李四抽象的:如计算机系、数据库概论�实体集(EntitySet)–同型实体的集合称为实体集,如全体学生–外延–实体集可相交2010年4月9日星期五4444基本概念--实体�属性(Attribute)–实体所具有的某一特性–一个实体可以由若干个属性来刻画–例如,学生可由学号、姓名、年龄、系等组成–实体可表达为属性,数据值的集合{学号,001,姓名,李明,年龄,21,系,中文}�域(Domain)–属性的取值范围–例如,性别的域为(男、女),月份的域为1到12的整数2010年4月9日星期五5555基本ER图要点�码在ER图中的表示–实体集属性中作为主码的一部分的属性用下划线来标明。学生课程选修姓名学号系别课程名先修课学分2010年4月9日星期五6666基本概念--联系�联系(Relationship)–实体之间的相互关联–如学生与老师间的授课关系,学生与学生间有班长关系–联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性–同类联系的集合称为联系集�元或度(Degree)–参与联系的实体集的个数称为联系的元–如学生选修课程是二元联系,供应商向工程供应零件则是三元联系2010年4月9日星期五7777基本概念--角色�角色(Role)–实体在联系中的作用称为实体的角色–当同一个实体集不止一次参与一个联系集时,为区别各实体的参与联系的方式,需要显式指明其角色–如学生与学生间的班长关系,职工与职工之间的经理关系,课程之间的先修关系2010年4月9日星期五8888角色在ER图中的表示�表示要点–当需要显式区分角色时,在连接菱形和矩形的线上加上说明性标注以区别不同的角色职员雇佣管理工作2010年4月9日星期五9999映射的基数�映射的基数(MappingCardinalities)–实体之间的联系的数量,即一个实体通过一个联系集能与另一实体集相关联的实体的数目–可以有一对一的(1:1),一对多的(1:m),多对多的(m:n)几种情况2010年4月9日星期五10101010映射基数在ER图中的表示多方实体集单方实体集联系R从A到B是一对一或多对一ABR�表示要点–用箭头或线段来表示联系的映射基数联系联系联系联系RRRR从从从从AAAA到到到到BBBB是多对是多对是多对是多对多或一对多多或一对多多或一对多多或一对多AAAABBBBRRRR2010年4月9日星期五11111111映射的基数�二元联系集的映射基数设有两个实体集E1,E2:–一对一�E1中的一个实体与E2中至多一个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系�如“职工”与“部门”之间的“管理”联系(假定每个部门只有一个经理,一个职工不能兼任两个部门经理)�注:一对一不是一一对应职工部门管理2010年4月9日星期五12121212映射的基数–一对多�E1中的一个实体与E2中n(n≥0)个实体相联系,并且E2中的一个实体与E1中至多一个实体相联系�如“教师”和“学生”之间的“班主任”联系教师学生班主任2010年4月9日星期五13131313映射的基数–多对多�E1中的一个实体与E2中n(n≥0)个实体相联系,并且E2中的一个实体与E1中m(m≥0)一个实体相联系�如“学生”和“课程”之间的“选修”联系学生课程选修2010年4月9日星期五14141414映射的基数�一个实体集内的二元联系–一对一�∀ei∈E,至多存在一个ej∈E,与之相联系(j≠i)�如“职工”之间的“配偶”联系–一对多�如“职工”内部的“领导”联系–多对多�如“零件”之间的“构成”联系职工领导领导属下职工配偶丈夫妻子构成零件母零件子零件2010年4月9日星期五15151515�多个实体集间联系的情况–一对多�设有n个实体集E1,E2,…,En,若对于E1,…,Ei-1,Ei+1,…,En,分别给定实体e1,…,ei-1,ei+1,…,en时,至多有一个实体ei∈Ei与之相联系,则称有一个从Ei到E1,…,Ei-1,Ei+1,…,En的一对多联系�如“课程”,“教员”,“参考书”之间的“讲课”联系教员参考书讲课课程映射的基数2010年4月9日星期五16161616概念数据库设计过程需求分析结果确定局部结构范围实体定义联系定义属性分配局部ER模式设计全局ER模式设计2010年4月9日星期五17171717概念数据库设计过程局部ER模式确定公共实体类型合并两个局部ER模式检查并消除冲突全局ER模式设计还有未合并的局部模式?全局ER模式优化无有2010年4月9日星期五18181818概念数据库设计过程----消除冲突�属性冲突–属性域的冲突:属性的类型、取值范围不同�如不同学校的学号编码方式不同–属性取值单位冲突�如重量分别采用磅、千克�结构冲突–同一对象在不同应用中的抽象不同�如职工在某应用中是实体,在另一应用中则抽象为属性–同一实体在不同E-R图中属性组成不同–实体之间的联系在不同E-R图中呈现不同的类型�命名冲突–同名异义:不同意义的对象具有相同的名字–异名同义:同一意义的对象具有不同的名字2010年4月9日星期五19191919概念数据库设计过程合并实体类型消除冗余属性消除冗余联系全局ER模式优化全局ER模式逻辑数据库设计2010年4月9日星期五20202020概念数据库设计过程�实例为医院建E-R图,包括病人和医生,病人有病历记录病人医生门诊记录姓名保险号身份证号治疗姓名专长病历名称日期结果2010年4月9日星期五21212121ER模型向关系模式的转换�实体→关系�属性→关系的属性S(SNO,SNAME,DEPT)学生姓名学号系别2010年4月9日星期五22222222ER模型向关系模式的转换–多值属性→新的关系+所在实体的码选课(学号,所选课程号)学生姓名学号所选课程–复合属性→将每个组合属性作为复合属性所在实体的属性学生姓名学号年月出生日期日学生(学号,姓名,年,月,日)2010年4月9日星期五23232323ER模型向关系模式的转换–一对一联系:�若联系双方均部分参与,则将联系定义为一个新的关系,属性为参与双方的码。职工配偶丈夫妻子配偶(丈夫职工号,妻子职工号)�若联系一方全部参与,则将联系另一方的码作为全部参与一方的属性。职工部门管理部门(部门号,部门名,管理职工号)2010年4月9日星期五24242424ER模型向关系模式的转换–一对多联系:将单方参与一方实体的码作为多方参与实体的属性。教师学生班主任学生(学生号,学生名,系号,班主任教工号)职工领导领导属下职工(职工号,职工名,部门号,领导职工号)2010年4月9日星期五25252525ER模型向关系模式的转换–多对多联系:将联系定义为新的关系,属性为参与双方的码。学生课程选修选修(学生号,课程号)构成零件母零件子零件构成(母零件号,子零件号)