1、1第二章 实体联系模型n2.1 基本概念n2.2 E-R图n2.3 一个简单的综合示例n2.4 E-R图设计剖析n2.5 复杂系统E-R图示例n2.6 E-R模型到关系模型的转换一二请在这里输入您的主要叙述内容整体概述三请在这里输入您的主要叙述内容请在这里输入您的主要叙述内容32.1基本概念n实体-联系模型n1976年,P.P.S.Chen提出E-R模型(Entity-Relationship Model),用E-R图来描述概念数据模型.观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的.实体实体42.1 基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是
2、具体的人、事、物或抽象的概念。客观实体,如人,汽车,图书,抽象实体,如帐户,贷款,(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成。某个学生实体的数据模型某个汽车实体的数据模型姓名性别年龄学号类型速度油耗张三男22S001保时捷12.5L/百公里150km/h52.1 基本概念(3)实体集(Entity Set):具有相同类型和共享相同属性的实体的集合.如学生,课程.62.1 基本概念(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实
3、体名及其属性名集合来抽象和刻画同类实体称为实体型例如:学生(学号、姓名、性别、出生年份、系、入学时间)就是一个实体型。(6)码(Key)唯一标识实体的属性集称为码。例如:学号是学生实体的码。72.1 基本概念(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系两个实体型间联系可以分为三类:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)8两个实体型间的联系实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系9两个实体型间的联系 n一对一联系 n如果对于实体集
4、A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。n 实例班级与班长之间的联系:系与系主任之间的联系;部门与部门经理间的联系;领导系主任系11实体型A联系名实体型B1110两个实体型间的联系(续)n一对多联系n如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:nn实例班级与学生之间的联系:系与教职员工间的联系;公司员工与部门间的联系包括班级学生1n实体型A联系名实体型B1n11两个实体型间的联系(续)n
5、多对多联系(m:n)n如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:nn实例课程与学生之间的联系:教师与课程之间的联系;实体型B实体型A联系名mn选课学生课程MN12n两个以上实体型之间一对多联系课程讲授教师1m两个以上实体型间1:n联系参考书n两个以上实体型间m:n联系供应商供应项目mp零件n多个实体型间联系13n单个实体型内的一对多联系 单个实体型联系职工领导1n单个实体型内部1:n联系14第二章 实体联系模型n2.1 基本概念n2.2 E-R图n2
6、.3 一个简单的综合示例152.2 E-R图nE-R图概念模型的表示工具n实体联系方法(E-R方法)n用E-R图来描述现实世界的概念模型nE-R方法也称为E-R模型162.2E-R图n1E-R图的组成要素符号含义实体,一般是名词属性,一般是名词关系,一般是动词172.2E-R图n2.实体间不同联系情况的E-R图表示法【例2-1】两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系,每个系只有一个主任。则主任和系之间是一对一的关系。主任和系的属性分别如下:主任编号,姓名,年龄,学历;系系编号,系名 主任和系之间是一个管理关系18解:描述主任和系之间的E-R图可如下图:1主任系管理1姓名年
7、龄学历编号系编号系名任职时间19两个实体集之间的一对多的联系的绘制方法n【例 2-2】假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品。仓库和商品之间是一对多的联系。仓库和商品的属性分别如下:仓库仓库号,地点,面积联单 商品商品号,商品名,价格 在存放联系中要反映出存放商品的数量。20解:描述仓库和商品之间的E-R图可如下图所示 1仓库商品存放n地点面积仓库号商品号价格数量商品名21两个实体集之间的多对多的联系的绘制方法。n【例2-3】假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师去上。教师和
8、课程之间是多对多的联系。n教师和课程可用以下属性来描述:教师教师号,教师名,职称 课程课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。22解:描述教师和课程之间的E-R图可如下图所示。m教师课程讲授n教师名职称教师号课程号班级质量课程名232.3一个简单的综合示例nE-R图实例:某工厂物资管理E-R图n例:为仓库管理设计一个ER模型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。24E-R图实例:某工厂物资管理E-R图nER图建立过程如下:Step1 首先确定实体类型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面
9、供应商订购零件,而许多工程项目需要仓库提供零件。本问题有四个实体类型:仓库,工程项目,零件,供应商。仓库工程项目零件供应商25E-R图实例:某工厂物资管理E-R图nStep2 确定联系类型。项目和零件之间是M:N联系 零件 和 供应商之间也是M:N联系仓库与零件关系是一对多关系1:N26E-R图实例:某工厂物资管理E-R图nStep3 把实体类型和联系类型组合成ER图。保存供应项目仓库零件供应商需要1nnmnm27E-R图实例:某工厂物资管理E-R图nStep4 确定实体类型和联系类型的属性。nStep5 确定实体类型的关键码,在ER图中属于码的属性名下画一条横线。零件颜色数量保存供应项目仓库
10、零件供应商需要1nnmnm项目编号项目名称立项日前零件型号零件名零件重量供应商名供应商号联系方式仓库编号仓库名所在地面积28 研究所有若干个研究室,每一个研究室多位科研人员在指定的办公地点.每一位科研人员只属于一个研究室,有编号,姓名,性别和年龄.研究所承担了多个科研项目,包括负责人,项目号项目名和开工时间(每位科研人员可以参加多个科研项目).).每个科研项目有多位科研人员参加.科研人员参加科研项目均有相应的工作量。画 E RE R图思考?29n实体:研究所,研究室,研究人员,项目n联系:n研究所,研究室之间联系n研究室,研究人员间联系n研究人员,项目之间联系30研究所E-R图是否需要研究所到
11、科研项目间联系?工作量 是放在实体上还是联系上?包含有0,n0,n研究所研究所编号研究所名地址研究室研究室编号研究室名办公地点研究员编号姓名性别年龄科研项目项目号项目名开工时间项目负责人参与工作量31ER模型-总结n优点n简单,容易理解,真实反应用户需求;n与计算机无关,用户容易接受。n遇到实际问题一般先设计一个ER模型,然后把ER模型转换成计算机能实现的数据模型逻辑数据模型。32第二章 实体联系模型n2.1 基本概念n2.2 E-R图n2.3 一个简单的综合示例n2.4 E-R图设计剖析n2.5 复杂系统E-R图示例n2.6 E-R模型到关系模型的转换332.4 E-R图设计剖析n(1)实体
12、与属性n(2)联系的属性n(3)实体与联系34实体 or 属性?n学生(学号,姓名,班级,地址,电话)n班长(学号,姓名,班级,地址,电话)n副班长(学号,姓名,班级,地址,电话)n教师(编号,姓名,爱好,住址)n系主任(编号,姓名,爱好,住址)n学生(学号,姓名,班级,地址,电话,职务)n教师(编号,姓名,爱好,住址,职务)35联系的属性课程名课程号教师姓名性别年龄mn m:n学号成绩成绩成绩36n(3)实体与联系n实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义(业务规则),即同样两个实体,如果有不同的语义则可以得到不同的联系类型。37仓库和器件实体间的
13、关联n如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的;n如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的;n如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。38为什么要讨论实体之间的联系?实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关仓库号城市面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称数量P1显示卡100P2声卡120P3解压卡180P4散热风扇20039仓库和器件是一对一
14、联系仓库号城市面积器件号器件名称数量WH1北京500P1显示卡100WH2上海450P2声卡120WH3广州200P3解压卡180WH4重庆300P4散热风扇20040如果两表之间的联系是一对一的班级管理班长111:1联系学 号姓 名年 龄性 别年 级2005004王小明19女20052005006李勇20男2005班级号班级名班长31105011班王小明31105022班李勇41仓库和器件间是一对多关系器件号器件名称数量仓库号P1显示卡100WH1P2声卡120WH1P3解压卡180WH2P4散热风扇200WH242如果两表之间的联系是一对多的学 号姓 名年 龄性 别年 级班级号200500
15、4王小明19女200531105012005006黄大鹏20男200531105012005008张文斌18女20053110502班级号班级名班长31105011班王小明31105022班李勇班级组成学生1n1:n联系43仓库和器件是多对多的关系44如果两表之间的联系是多对多的学 号 课程号 成绩 2002004 1 92200500428520050043882005006 2902005006380 课程选修学生mn成绩m:n联系45 同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。46第二章 实
16、体联系模型n2.1 基本概念n2.2 E-R图n2.3 一个简单的综合示例n2.4 E-R图设计剖析n2.5 复杂系统E-R图示例n2.6 E-R模型到关系模型的转换472.5 复杂系统E-R图示例n复杂E-R图通常都应经过以下两个阶段:(1)针对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于ER图的简化。(2)综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体ER图必须能导出原来的所有局部视图,包括实体、属性和联系。48分步设计E-R图n【例2-4】某
17、学校管理系统中有三个部门:后勤部、教务处和财务处。后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资;n一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金;n一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个质量评价;n一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。49后勤部E-R图宿舍n学生住150教务处E-R图m教师课程讲授n学生选修mn51财务处E-R图工资教师领1152全局E-R图1m学生住宿舍n1教师课程选修mn讲
18、授n领工资15354与教学系统有关的实体教学系统?55学生子模块 56课程子模块 57教师子模块 58合成全局E-R图n在集成过程中,要解决以下问题:(1)异名同义,“导师”和“教师”含义相同。导师应该是具有指导资格的教师。统一用教师作实体名。(2)同名异义,学生和社团之间、教师和项目之间的联系都命名为“参加”,命名冲突,将后者的联系改名为“承担”。59合并后的ER图 60第二章 实体联系模型n2.1 基本概念n2.2 E-R图n2.3 一个简单的综合示例n2.4 E-R图设计剖析n2.5 复杂系统E-R图示例n2.6 E-R模型到关系模型的转换612.6 ER模型到关系模型的转换 n把E-R
19、图转换为关系模型可遵循如下原则:(1)对于ER图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。(2)对于ER图中的联系,情况比较复杂,要根据实体联系方式的不同,采取不同的手段加以实现。下面着重讨论联系的转换方法。Q&A问答环节敏而好学,不耻下问。学问学问,边学边问。Heisquickandeagertolearn.Learningislearningandasking.结束语 CONCLUSION感谢参与本课程,也感激大家对我们工作的支持与积极的参与。课程后会发放课程满意度评估表,如果对我们课程或者工作有什么建议和意见,也请写在上边,来自于您的声音是对我们最大的鼓励和帮助,大家在填写评估表的同时,也预祝各位步步高升,真心期待着再次相会!谢谢聆听THANKYOUFORLISTENING演讲者:XX时间:202X.XX.XX