第3章 实体联系模型(E-R模型)

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.3 E—R模型到关系模型的转换
3.3.1 两实体集间联系的转换
1.两实体集间1:n联系
两实体集间1:n联系,可将“一方”实体集的主关键字纳入 “n方”实体集对应的关系中作为“外关键字”,同时把联系的属 性也一并纳入“n方”对应的关系中。 例如,图3-3所示的一对多的联系,可转换成下面的两个关系 模式 。
3.1 E—R模型
3.1.1 E-R图的组成要素及其画法
1.E-R图要素
E-R图的基本要素有四个:实体集、联系、属性、主关键字。
2.绘制方法
把相互联系的实体集(方框)通过联系(菱形框)连接起来,注明联 系方式,再把实体集的属性(椭圆框)连到相应实体集上。
3.1 E—R模型
3.1.2 两实体集间不同联系情况的E-R图表示法
3.1 E—R模型
3.1.2 两实体集间不同联系情况的E-R图表示法
【例3-2】 两个实体集之间的 一对多的联系的绘制方法。 假设在某出版管理系统中,有 两个实体集:出版社和图书。 出版社用来出版图书,且规定 一本图书只能由一个出版社出 版,一个出版社可以出版多本 图书。出版社和图书之间是一 对多的联系。出版社和图书的 属性分别如下: 出版社——社号,地点,电话 图书——书号,书名,价格 另外,在出版联系中要反映出 出版图书的数量。请根据描述 画出能够反映实体集之间的信 息关系的E-R图。
【例3-1】两个实体集之间的一对 一的联系的绘制方法。 假设某学院有若干个班级,每 个班级只有一个辅导员,每个辅导 员只管理一个班级。则辅导员和班 级之间是一对一的联系。班级和辅 导员的属性分别如下: 辅导员——工号,姓名,性别,年 龄,学历 班级——班号,班级名 另外,辅导员和班级之间是一 个管理联系,这种管理用一个属性 任职时间来描述,请根据描述画出 能够反映实体集之间的信息关系的 E-R图。
注意:一个系统的总体E—R图不是惟一的,强调不同的 侧面画出的E—R图可能有很大不同。总体E—R图所表示 的实体联系模型,只能说明实体间的联系,还需要把它 转换成数据模型才能被实际的DBMS所接受 。
3.2 E—R图的设计方法——实例
【例3-7】某学校管理系统中有三个部门:教务处、人事处和财务处。教务处职能是管理 学生选课和教师任课;人事处职能是管理人员的隶属关系;财务处职能是发放教师的工 资。 教务处涉及到的实体集及实体集之间的联系如例3-6所述。 人事处涉及到的实体集及实体集之间的联系如下: 系:属性有系号,系名,系主任,电话号码,办公地点 教师:教师号,姓名,身份证号,性别,职称,出生日期,电话号码,备注,照片 班级:班号,班级名称,辅导员 学生:学号,姓名,身份证号,性别,出生日期,专业,年级,电话号码,备注, 照片 实体集之间的联系可描述为:一个系拥有多名教师,一名教师只从属于一个系;一 个系管理多个班级,每个班级只属于一个系;一个班级由多名学生组成,每个学生只属 于一个班级。 财务处涉及到的实体集及实体集之间的联系如下: 教师:教师号,姓名,身份证号,性别,职称,出生日期,电话号码,备注,照片 工资:属性有基本工资、加班工资、扣税、工资编号 教师和工资的联系是:一个教师只能领一份工资,一份工资只能由一个教师领, 领工资时应注明是某月工资。 请根据要求设计出该学校管理系统的全局E-R图。
3.3 E—R模型到关系模型的转换
E-R图转换为关系模型可遵循如下原则
(1)对于E—R图中每个实体集,都应转换为一个关系,该关系 应包括对应实体集的全部属性,并应根据关系所表达的语义确定 哪个属性或属性组作为“主关键字”,主关键字用来标识实体。
(2)对于E—R图中的联系,情况比较复杂,要根据实体联系方 式的不同,采取不同的手段加以实现。下面着重讨论联系的转换 方法。
【例3-5】把图3-10所示的E-R图转换为关系模式。 解:第一步把每个实体集转换成一个关系模式,如下:
第二步转换关系,分三步,如下: (1)把教师、课程和学生三个实体集的m:n的多元联系 反映出来,需建立一个新的关系,关系中包含联系涉及到 的各实体集的主关键字及联系的属性。转换的关系如下。
(2)把系与教师、系与班级及班级与学生之间的1:n的联 系反映出来,只需把相应的1方的主关键字放入到多方中 使之成为外关键字即可。转换的关系如下。
3.1 E—R模型
3.1.2 两实体集间不同联系情况的E-R图表示法
【例3-3】两个实体集之间的多 对多的联系的绘制方法。 假设在某图书管理系统中,一 名作者可以创作多本书,一本 书也可以由多名作者共同创作。 图书和作者之间是多对多的联 系。作者和图书可用以下属性 来描述: 作者——编号,姓名,职称图 书——书号,书名,出版日期 另外,在“创作”联系中应能 反映出该书的合同时间和完成 时间。请根据描述画出能够反 映实体之间的信息关系的E-R 图。
3.3 E—R模型到关系模型的转换
3.3.1 两实体集间联系的转换
2.两实体集间m:n联系
对于两实体集间m:n联系,必须对“联系”单独建立一个关系, 用来联系双方实体集。该关系的属性中至少要包括被它所联系的 双方实体集的“主关键字”,并且如果联系有属性,也要归入这 个关系中。 例如,图3-4所示的多对多的联系,可转换成下面的三个关系 模式 。
3.3 E—R模型到关系模型的转换
3.3.2 同一实体集内部联系的转换
1.同一实体集内部的一对多联系的转换
Байду номын сангаас
同一个实体集内部个体间的1:n联系,可在这个实体集对应的 关系中多设一个属性,用来作为与该实体相联系的另一实体的 “主关键字”,如果联系有属性,也一并归入到关系中。 例如图3-6所示的职工实体集内部1:n的联系,就可以转换为如 下关系模式。
第二步转换关系,分三步,如下: (3)把教师和工资间的一对一的关系反映出来,可把教 师号和月份属性放到工资关系中。
最后形成的关系模式为:
——数据库应用教程
第3章

实体联系模型(E-R模型)
3.1 E—R模型 3.2 E—R图的设计方法 3.3 E—R模型到关系模型的转换


3.1 E—R模型
E-R模型是由P.P.Chen于1976提出的, 现已广泛应用于数据库设计中,该模型通过 E-R图表示实体集及实体集之间的联系,用 于实现数据的第一次抽象,即把现实世界转 换为信息世界。在设计数据库时,人们往往 把E-R图作为中间步骤,用E-R图准确地反映 出信息,再从E-R图构造出实施数据模型, 从而使问题变得简单,不易犯错。
3.1 E—R模型
3.1.3 同一实体集内部不同联系情况的E-R图表示法
【例3-4】同一实体集内部的一对多联系的绘制方法。 假设在某单位里,职工实体集中的实体可分成两类:领导者和被领导者。领 导者可以领导多个被领导者,而被领导者只有一个顶头上司,从而实现层层 负责制。而对于一个具体职工而言,他既可能是其他职工的领导者,又可能 被别的职工领导。职工实体集的属性描述如下。 职工——工号,姓名,性别,出生日期,工作日期,职称,工资 另:在“领导”联系中有个“民意测验”属性,用来存放职工对领导的满意 度。
3.3 E—R模型到关系模型的转换
3.3.1 两实体集间联系的转换
3.两实体集间的1:1的联系
假设A实体集与B实体集是1:1的联系,联系的转换有三种方法: ①把A实体集的主关键字加入到B实体集对应的关系中,如果 联系有属性也一并加入; ②把B实体集的主关键字加入到A实体集对应的关系中,如果 联系有属性也一并加入; ③建立第三个关系,关系中包含两个实体集的主关键字,如 果联系有属性也一并加入。
3.1 E—R模型
3.1.3 同一实体集内部不同联系情况的E-R图表示法
【例3-5】同一实体集内部的 多对多联系的绘制方法。 假设在某组装车间中,零部 件之间存在着多对多的组装 联系,即一个零部件能组装 多种其它零部件,反之该零 部件也可以由其他零部件组 装。零部件实体集的属性描 述如下。 零部件——部件号,名称, 价格 零部件之间的组装联系有一 个属性“数量”,用来指出 组装该零部件需要其它零部 件各多少个。
3.3 E—R模型到关系模型的转换
3.3.2 同一实体集内部联系的转换
2.同一实体集内部的多对多联系的转换
如果同一实体集内存在m:n的联系,也需为这个联系单独建立 一个关系,该关系中至少应包含被它联系的双方实体的主关键字, 如果联系有属性,也要归入这个关系中。 例如图3-7所示的零部件实体集内部m:n组装联系,就可以转 换为如下两个关系模式。
3.1 E—R模型
3.1.4 两个以上实体集之间多对多多元联系的E-R图表示法
【例3-6】两个以上实体集之间多对多多元联系的E-R图表示法。 在某校教务处信息管理系统中,假设在同一学期中,一名教师可以教 多门课,一门课可以由多名教师教,一名学生可以选多名不同教师都 的课,一名教师教的课可以被多名不同的学生选修。那么教师、课程、 学生实体集之间就存在着多对多的多元联系。各实体集的属性描述如 下。 教师:教师号,姓名,身份证号,性别,职称,出生日期,电话 号码,备注,照片 课程:课程编号,课程名称,学时,学分,备注 学生:学号,姓名,身份证号,性别,出生日期,专业,年级, 电话号码,备注,照片 另外,学生选修某教师教的某门课程有一个成绩。
3.3 E—R模型到关系模型的转换
3.3.3 多个实体集之间多对多多元联系的转换
对于两个以上实体集之间m:n的多元联系,必须为联系单独 建立一个关系,该关系中至少应包含被它联系的各个实体集的主 关键字,如果联系有属性,也要归入这个关系中。 例如图3-8所示的教师、学生、课程实体集之间“教—学—课” 多元联系可转化为以下关系模式。
3.2 E—R图的设计方法
1.设计E-R图的两个阶段
(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实 体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于 E—R图的简化。 (2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只 能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体 E—R图必须能导出原来的所有局部视图,包括实体、属性和联系。
相关文档
最新文档