数据库E-R图讲解_第1页
数据库E-R图讲解_第2页
数据库E-R图讲解_第3页
数据库E-R图讲解_第4页
数据库E-R图讲解_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1E-R图图主讲老师:王文彬2 实体联系模型 2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换32.1基本概念 实体-联系模型 1976年, 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

3、) 属性的取值范围称为该属性的域属性的取值范围称为该属性的域。 (5) 实体型(Entity Type) 用实体名及其属性名集合来抽象和刻画用实体名及其属性名集合来抽象和刻画同类实体称为实体型同类实体称为实体型例如:学生(学号、姓名、性别、出生年份、系、入学时间)就是一个实体型。(6) 码(Key) 唯一标识实体的唯一标识实体的属性集属性集称为码。称为码。 例如:学号是学生实体的码。例如:学号是学生实体的码。72.1 基本概念(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联

4、系中反映为实体内部的联系和实体之间的联系两个实体型间联系可以分为三类: 一对一联系(一对一联系(1:1) 一对多联系(一对多联系(1:n) 多对多联系(多对多联系(m:n) 8两个实体型间的联系实体型实体型1联系名联系名实体型实体型2111:1联系联系实体型实体型1联系名联系名实体型实体型2mnm:n联系联系实体型实体型1联系名联系名实体型实体型21n1:n联系联系9两个实体型间的联系 一对一联系 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中至多有中至多有一个实体与之联系,反之亦然,一个实体与之联系,反之亦然,则称实体集则称实体集A与实体集与实体集B具有一对一

5、联系具有一对一联系。记为。记为1:1。 实例班级与班长之间的联系:班级与班长之间的联系:系与系主任之间的联系;系与系主任之间的联系;部门与部门经理间的联系;部门与部门经理间的联系;领导领导系主任系主任系系11实体型实体型A联系名联系名实体型实体型B1110两个实体型间的联系 (续) 一对多联系 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体(个实体(n0)与之联系,反之,对于实体集与之联系,反之,对于实体集B中的每一个实体,实体集中的每一个实体,实体集A中至多中至多只有一个实体与之联系,则称只有一个实体与之联系,则称实体集实体集A与实体集与实体集B

6、有一对多联系记有一对多联系记为为1:n 实例班级与学生之间的联系:班级与学生之间的联系:系与教职员工间的联系;系与教职员工间的联系;公司员工与部门间的联系公司员工与部门间的联系包括包括班级班级学生学生1n实体型实体型A联系名联系名实体型实体型B1n11两个实体型间的联系 (续) 多对多联系(m:n) 如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中有中有n个实体个实体(n0)与之联系,反之,对于实体集)与之联系,反之,对于实体集B中的每一个实体,实中的每一个实体,实体集体集A中也有中也有m个实体(个实体(m0)与之联系,则称实体集)与之联系,则称实体集A与实与实体

7、体B具有多对多联系。记为具有多对多联系。记为m:n 实例课程与学生之间的联系:课程与学生之间的联系:教师与课程之间的联系教师与课程之间的联系;实体型实体型B实体型实体型A联系名联系名mn选课选课学生学生课程课程MN12 两个以上实体型之间一对多联系课程课程讲授讲授教师教师1m两个以上实体型间两个以上实体型间1:n联系联系参考书参考书n两个以上实体型间两个以上实体型间m:n联系联系供应商供应商供应供应项目项目mp零件零件n多个实体型间联系13 单个实体型内的一对多联系 单个实体型联系职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系14实体联系模型 2.1 基本概念 2.2 E-R图

8、 2.3 一个简单的综合示例152.2 E-R图 E-R图概念模型的表示工具 实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型162.2E-R图 1E-R图的组成要素符号符号含义含义实体,一般是名词属性,一般是名词关系,一般是动词172.2E-R图 2. 实体间不同联系情况的E-R图表示法【例2-1 】两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系,每个系只有一个主任。则主任和系之间是一对一的关系。主任和系的属性分别如下: 主任编号,姓名,年龄,学历; 系系编号,系名 主任和系之间是一个管理关系18解:描述主任和系之间的E-R图可如下图:

9、 1主任系管理1姓名年龄学历编号系编号系名任职时间19两个实体集之间的一对多的联系的绘制方法 【例 2-2】假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件商品。仓库和商品之间是一对多的联系。仓库和商品的属性分别如下: 仓库仓库号,地点,面积联单 商品商品号,商品名,价格 在存放联系中要反映出存放商品的数量。 20解:描述仓库和商品之间的E-R图可如下图所示 1仓库商品存放n地点面积仓库号商品号价格数量商品名21两个实体集之间的多对多的联系的绘制方法。 【例2-3】假设在某教务管理系统中,一个教师可以上多门课,一门课也

10、可以由多个老师去上。教师和课程之间是多对多的联系。 教师和课程可用以下属性来描述: 教师教师号,教师名,职称 课程课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。 22解:描述教师和课程之间的E-R图可如下图所示。 m教师课程讲授n教师名职称教师号课程号班级质量课程名232.3一个简单的综合示例 E-R图实例:某工厂物资管理某工厂物资管理E-R图图 例:为仓库管理设计一个ER模型。仓库主要管理零件的采购和供应等事项。仓库根据需要向外面供应商订购零件,而许多工程项目需要仓库提供零件。24E-R图实例:某工厂物资管理某工厂物资管理E-R图图 ER图建立过程如下:Step1 首先确定

11、实体类型。 仓库仓库主要管理零件零件的采购和供应等事项。仓库根据需要向外面供应商供应商订购零件,而许多工程项目工程项目需要仓库提供零件。 本问题有四个实体类型:仓库,工程项目仓库,工程项目,零件零件,供应商供应商 。仓库工程项目零件供应商25E-R图实例:某工厂物资管理某工厂物资管理E-R图图 Step2 确定联系类型。 项目项目和零件零件之间是M:N联系 零件零件 和 供应商供应商之间也是M:N联系仓库仓库与零件零件关系是一对多关系1:N26E-R图实例:某工厂物资管理某工厂物资管理E-R图图 Step3 把实体类型和联系类型组合成ER图。保存供应项目仓库零件供应商需要1nnmnm27E-R

12、图实例:某工厂物资管理某工厂物资管理E-R图图 Step4 确定实体类型和联系类型的属性属性。 Step5 确定实体类型的关键码关键码,在ER图中属于码的属性名下画一条横线。 零件颜色数量保存供应项目仓库零件供应商需要1nnmnm项目编号项目名称立项日前零件型号零件名零件重量供应商名供应商号联系方式仓库编号仓库名所在地面积28 研究所有若干个研究室,每一个研究室多位科研人研究所有若干个研究室,每一个研究室多位科研人员在指定的办公地点员在指定的办公地点. .每一位科研人员只属于一个研每一位科研人员只属于一个研究室,有编号,姓名,性别和年龄究室,有编号,姓名,性别和年龄. .研究所承担了多研究所承

13、担了多个科研项目,包括负责人,项目号项目名和开工时个科研项目,包括负责人,项目号项目名和开工时间间( (每位科研人员可以参加多个科研项目每位科研人员可以参加多个科研项目).).每个科研每个科研项目有多位科研人员参加项目有多位科研人员参加. .科研人员参加科研项目均科研人员参加科研项目均有相应的工作量。画有相应的工作量。画 E E R R图图思考?29 实体:研究所,研究室,研究人员,项目 联系: 研究所,研究室之间联系 研究室,研究人员间联系 研究人员,项目之间联系30研究所E-R图是否需要研究所到科研项目间联系?工作量 是放在实体上还是联系上?包含有0,n0,n研究所研究所编号研究所名地址研

14、究室研究室编号研究室名办公地点研究员编号姓名性别年龄科研项目项目号项目名开工时间项目负责人参与工作量31ER模型-总结 优点 简单,容易理解,真实反应用户需求; 与计算机无关,用户容易接受。 遇到实际问题一般先设计一个ER模型,然后把ER模型转换成计算机能实现的数据模型逻辑数据模型。32实体联系模型 2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换332.4 E-R图设计剖析 (1)实体与属性 (2)联系的属性 (3)实体与联系34实体 or 属性 ? 学生(学号,姓名,班级,地址,电话)

15、 班长(学号,姓名,班级,地址,电话) 副班长(学号,姓名,班级,地址,电话) 教师(编号,姓名,爱好,住址) 系主任(编号,姓名,爱好,住址) 学生(学号,姓名,班级,地址,电话,职务) 教师(编号,姓名,爱好,住址,职务)35联系的属性联系的属性课程名课程名课程号课程号教师教师姓名姓名性别性别年龄年龄mn m:n学号学号成绩成绩成绩成绩成绩成绩36 (3)实体与联系 实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义(业务规则),即同样两个实体,如果有不同的语义则可以得到不同的联系类型。37仓库和器件实体间的关联 如果规定一个仓库只能存放一种器件,并且一种

16、器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的; 如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的; 如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。38为什么要讨论实体之间的联系?实体之间的联系类型决定了数据库设计时的结果,与数据库的设计质量密切相关仓库号仓库号城市城市面积面积WH1北京500WH2上海450WH3广州200WH4重庆300器件号器件名称数量P1显示卡100P2声卡120P3解压卡180P4散热风扇20039仓库和器件是一对一联系仓库号城市面积器件号器件名称数

17、量WH1北京500P1显示卡100WH2上海450P2声卡120WH3广州200P3解压卡180WH4重庆300P4散热风扇20040如果两表之间的联系是一对一的班级班级管理班长班长111:1联系联系学学 号号姓姓 名名年年 龄龄性性 别别年年 级级2005004王小明19女20052005006李勇20男2005班级号班级号班级名班级名班长班长31105011班王小明31105022班李勇41仓库和器件间是一对多关系器件号器件名称数量仓库号P1显示卡100WH1P2声卡120WH1P3解压卡180WH2P4散热风扇200WH242如果两表之间的联系是一对多的学学 号号姓姓 名名年年 龄龄性性

18、 别别年年 级级班级号班级号2005004王小明19女200531105012005006黄大鹏20男200531105012005008张文斌18女20053110502班级号班级号班级名班级名班长班长31105011班王小明31105022班李勇班级班级组成组成学生学生1n1:n联系联系43仓库和器件是多对多的关系44如果两表之间的联系是多对多的学学 号号 课程号课程号 成绩成绩 2002004 1 92200500428520050043882005006 2902005006380 课程课程选修选修学生学生mn成绩成绩m:n联系联系45 同样两个实体,如果赋予不同的语义则有不同的设计结

19、果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。46实体联系模型 2.1 基本概念 2.2 E-R图 2.3 一个简单的综合示例 2.4 E-R图设计剖析 2.5 复杂系统E-R图示例 2.6 E-R模型到关系模型的转换472.5 复杂系统E-R图示例 复杂E-R图通常都应经过以下两个阶段: (1)针对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于ER图的简化。 (2)综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说

20、,从总体ER图必须能导出原来的所有局部视图,包括实体、属性和联系。 48分步设计E-R图 【例2-4 】某学校管理系统中有三个部门:后勤部、教务处和财务处。后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资; 一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金; 一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个质量评价; 一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。49后勤部E-R图宿舍n学生住150教务处E-R图m教师

21、课程讲授n学生选修mn51财务处E-R图工资教师领1152全局E-R图1m学生住宿舍n1教师课程选修mn讲授n领工资15354与教学系统有关的实体教学系统?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模型到关系模型的转换612.6 ER模型到关系模型的转换 把E-R图转换为关系模型可遵循如下原则 : (1)对于ER图中每个实体集,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性或哪几个属性组作为“主关键字”,主关键字用来标识实体。 (2)对于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论