资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,E-R图,主讲老师:王文彬,2,实体联系模型,2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换,3,2.1基本概念,实体-联系模型 1976年, P.P.S.Chen提出E-R模型(Entity-Relationship Model),用E-R图来描述概念数据模型.观点: 世界是由一组称作实体的基本对象和这些对象之间的联系构成的.,4,2.1 基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 客观实体,如人,汽车,图书, 抽象实体,如帐户,贷款, (2) 属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 例如:学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成。,5,2.1 基本概念,(3)实体集(Entity Set):具有相同类型和共享相同属性的实体的集合. 如学生,课程.,6,2.1 基本概念,(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画 同类实体称为实体型 例如:学生(学号、姓名、性别、出生年份、系、入学时间)就是一个实体型。 (6) 码(Key) 唯一标识实体的属性集称为码。 例如:学号是学生实体的码。,7,2.1 基本概念,(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系 两个实体型间联系可以分为三类: 一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n),8,两个实体型间的联系,9,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例 班级与班长之间的联系: 系与系主任之间的联系; 部门与部门经理间的联系;,10,两个实体型间的联系 (续),一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n 实例 班级与学生之间的联系: 系与教职员工间的联系; 公司员工与部门间的联系,11,两个实体型间的联系 (续),多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n 实例 课程与学生之间的联系: 教师与课程之间的联系;,12,两个以上实体型之间一对多联系,多个实体型间联系,13,单个实体型内的一对多联系,单个实体型联系,14,实体联系模型,2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例,15,2.2 E-R图,E-R图概念模型的表示工具 实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型,16,2.2E-R图,1E-R图的组成要素,17,2.2E-R图,2. 实体间不同联系情况的E-R图表示法 【例2-1 】两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系,每个系只有一个主任。则 主任和系之间是一对一的关系。 主任和系的属性分别如下: 主任编号,姓名,年龄,学历; 系系编号,系名 主任和系之间是一个管理关系,18,解:描述主任和系之间的E-R图可如下图:,19,两个实体集之间的一对多的联系的绘制方法,【例 2-2】假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品。仓库和商品之间是一对多的联系。 仓库和商品的属性分别如下: 仓库仓库号,地点,面积联单 商品商品号,商品名,价格 在存放联系中要反映出存放商品的数量。,20,解:描述仓库和商品之间的E-R图可如下图所示,21,两个实体集之间的多对多的联系的绘制方法。,【例2-3】假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师去上。教师和课程之间是多对多的联系。 教师和课程可用以下属性来描述: 教师教师号,教师名,职称 课程课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。,22,解:描述教师和课程之间的E-R图可如下图所示。,23,2.3一个简单的综合示例,E-R图实例:某工厂物资管理E-R图 例:为仓库管理设计一个ER模型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。,24,E-R图实例:某工厂物资管理E-R图,ER图建立过程如下: Step1 首先确定实体类型。 仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。 本问题有四个实体类型: 仓库,工程项目,零件,供应商 。,仓库,工程项目,零件,供应商,25,E-R图实例:某工厂物资管理E-R图,Step2 确定联系类型。 项目和零件之间是M:N联系 零件 和 供应商之间也是M:N联系 仓库与零件关系是一对多关系1:N,26,E-R图实例:某工厂物资管理E-R图,Step3 把实体类型和联系类型组合成ER图。,27,E-R图实例:某工厂物资管理E-R图,Step4 确定实体类型和联系类型的属性。 Step5 确定实体类型的关键码,在ER图中属于码的属性名下画一条横线。,仓库编号,仓库名,所在地,面积,28,研究所有若干个研究室,每一个研究室多位科研人员在指定的办公地点.每一位科研人员只属于一个研究室,有编号,姓名,性别和年龄.研究所承担了多个科研项目,包括负责人,项目号项目名和开工时间(每位科研人员可以参加多个科研项目).每个科研项目有多位科研人员参加.科研人员参加科研项目均有相应的工作量。画 E R图,思考?,29,实体:研究所,研究室,研究人员,项目 联系: 研究所,研究室之间联系 研究室,研究人员间联系 研究人员,项目之间联系,30,研究所E-R图,是否需要研究所到科研项目间联系? 工作量 是放在实体上还是联系上?,31,ER模型-总结,优点 简单,容易理解,真实反应用户需求; 与计算机无关,用户容易接受。 遇到实际问题一般先设计一个ER模型,然后把ER模型转换成计算机能实现的数据模型逻辑数据模型。,32,实体联系模型,2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换,33,2.4 E-R图设计剖析,(1)实体与属性 (2)联系的属性 (3)实体与联系,34,实体 or 属性 ?,学生(学号,姓名,班级,地址,电话) 班长(学号,姓名,班级,地址,电话) 副班长(学号,姓名,班级,地址,电话) 教师(编号,姓名,爱好,住址) 系主任(编号,姓名,爱好,住址) 学生(学号,姓名,班级,地址,电话,职务) 教师(编号,姓名,爱好,住址,职务),35,联系的属性,课程,学生,选课,课程名,课程号,教师,姓名,性别,年龄,m,n,m:n,学号,成绩,成绩,成绩,36,(3)实体与联系 实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义(业务规则),即同样两个实体,如果有不同的语义则可以得到不同的联系类型。,37,仓库和器件实体间的关联,如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的; 如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的; 如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。,38,为什么要讨论实体之间的联系?,?,仓库,器件,实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关,39,仓库和器件是一对一联系,只需设计一个物理文件,40,如果两表之间的联系是一对一的,41,仓库和器件间是一对多关系,需要设计两个物理文件,联系体现在明细表中,42,如果两表之间的联系是一对多的,43,仓库和器件是多对多的关系,需要设计三个物理文件,联系体现在一张中间联系表上,44,如果两表之间的联系是多对多的,m:n联系,45,同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。,结论,46,实体联系模型,2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换,47,2.5 复杂系统E-R图示例,复杂E-R图通常都应经过以下两个阶段: (1)针对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于ER图的简化。 (2)综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体ER图必须能导出原来的所有局部视图,包括实体、属性和联系。,48,分步设计E-R图,【例2-4 】某学校管理系统中有三个部门:后勤部、教务处和财务处。后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资; 一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金; 一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个质量评价; 一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。,49,后勤部E-R图,宿舍,1,50,教务处E-R图,m,教师,课程,讲授,n,学生,选修,m,n,51,财务处E-R图,工资,教师,领,1,1,52,全局E-R图,53,例2.5,建立教学管理系统,54,与教学系统有关的实体,学生,教师,课程,教学系统?,55,学生子模块,56,课程子模块,57,教师子模块,58,合成全局E-R图,在集成过程中,要解决以下问题: (1) 异名同义,“导师”和“教师”含义相同。导师应该是具有指导资格的教师。统一用教师作实体名。 (2) 同名异义,学生和社团之间、教师和项目之间的联系都命名为“参加”,命名冲突,将后者的联系改名为“承担”。,59,合并后的ER图,60,实体联系模型,2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换,61,2.6 ER模型到关系模型的转换,把E-R图转换为关系模型可遵循如下原则 : (1)对于ER图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。 (2)对于ER图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。下面着重讨论联系的转换方法。,62,2.6.1 两实体集间1:n联系,两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。 2.6.2 两实体集间m:n联系 对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号