多对多ER图
习题-ER图(附答案)-学校中各实体及属性

7、一个图书馆借阅管理数据库要求提供下述服务:(1)可随时查询书库中现有书籍的品种、数量与存放位置。
所有各类书籍均可由书号惟一标识。
(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息下相应出版社增购有关书籍。
我们约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。
根据以上情况和假设,试作如下设计:(1)构造满足需求的E-R图。
(2)转换为等价的关系模式结构。
答:(1)满足上述需求的E-R图如图11所示。
(2)转换为等价的关系模式结构如下:借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报编号,电话可,邮编,地址)借阅(借书证号,书号,借书日期,还书日期)8、工厂(包括厂名和厂长名)需建立一个管理数据库存储以下信息:(1)一个工厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。
(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。
(3)一个车间生产多种产品,产品有产品号和价格。
(4)一个车间生产多种零件,一个零件也可能为多个车间制造。
零件有零件号、重量和价格。
(5)一个产品由多种零件组成,一种零件也可装配出多种产品。
(6)产品与零件均存入仓库中。
(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
试:(1)画出该系统的E-R图。
(2)给出相应的关系模式。
(3)画出该系统的层次模式图。
答:(1)该系统的E-R图如图12所示。
各实体的属性为:工厂:厂名、厂长姓名车间:车间号、车间主任姓名、地址、电话工人:职工号、姓名、年龄、性别、工种仓库:仓库号、仓库主任姓名、电话零件:零件号、重量、价格产品:产品号、价格(2)相应的关系模式如下:工厂(厂名、厂长姓名)车间(车间号、车间主任姓名、地址、电话、厂名)工人(职工号、姓名、年龄、性别、工种、车间号)仓库(仓库号、仓库主任姓名、电话、长名)产品(产品号、价格、车间号、仓库号)零件(零件号、重量、价格、仓库号)制造(车间号、零件号)(3)该系统的层次模型图如图13所示。
ER图对象联系图和UML类图

ER图、对象联系图和UML类图0124086 梁斌一. 引言从文件系统到数据库系统,标志着数据管理技术在质上的飞跃。
数据库系统的出现使信息系统的研制中心从加工数据的程序转向共享的数据库。
通常把20世纪70年代广泛流行的层次、网状数据库系统称为第一代DBS,而把70年代处于实验阶段、80年代起广泛流行的关系数据库系统称为第二代DBS。
关系数据库系统的出现使数据库的应用达到了空前的普及,同时使数据库技术成为社会信息化的基本技术。
这两代DBS的应用领域主要在商务领域,其特点是所处理的事务比较小,如存款取款、购票订票、财务管理、仓库管理、人事管理、统计管理等。
随着计算机应用领域的拓广,这两代DBS已不能适用新的应用需要,例如多媒体数据、空间数据、时态数据、复合数据等。
同时,传统数据库的数据结构比较简单,不能支持新的数据类型和嵌套、递归的数据结构,因此很难满足计算机辅助设计/制造(CAD/CAM)、计算机辅助软件工程(CASE)、图象处理、地理信息系统(CIS)等新的应用的需要。
因此,时代呼唤新一代DBS的诞生。
于是在序设计中的面向对象概念基础上,形成了新一代数据库的理念,为对象数据库系统。
为了直观的表示出对象数据库系统中各个对象及其关系,人们先后采用了ER图,对象联系图,类图等等方式。
二.概念(1)ER图E-R方法(实体-联系方法),是P·S·Chen于1976年提出的。
在描述现实世界中和数据库设计中广泛应用,是一种语义模型,也是一种方法。
E-R模型中用到实体,属性,联系等概念:1.实体(Entity)是所关心的客体,是信息管理的对象2.属性(Attributes)是实体的特征。
一个实体总是通过其属性来描述的。
对管理对象进行分析时不是针对个别实体,而是对同一类实体进行的。
实体-属性的关系可以通过图直观地表示,在E-R图中,实体用方框表示,属性用椭圆框表示。
3.联系(Relationship)因为现实世界中客体是彼此有联系的,因此在信息世界中实体间也是也有联系的,用菱形表示它们之间的联系。
实体关系模型(E-R图)

3
1 E—R模型
1.1 E-R图的组成要素及其画法
1.E-R图要素:实体集、联系、属性、主关键字
2.绘制方法 把相互联系的实体集(方框)通过联系(菱形框)连 接起来,注明联系方式,再把实体集的属性(椭圆框) 连到相应实体集上。
25
3.1 两实体集间联系的转换 1.两实体集间1:n联系 两实体集间1:n联系,可将“一方”实体集 的主关键字纳入“n方”实体集对应的关系中作 为“外关键字”,同时把联系的属性也一并纳 入“n方”对应的关系中。 例如,图3所示的一对多的联系,可转换成 下面的两个关系模式 。
26
2.两实体集间m:n联系 对于两实体集间m:n联系,必须对“联系”
注意:一个系统的总体E—R图不是惟一的,强调不
同的侧面画出的E—R图可能有很大不同。总体E—R
图所表示的实体联系模型,只能说明实体间的联系,
还需要把它转换成数据模型才能被实际的DBMS所接
受。
19
【例7】某学校管理系统中有三个部门:教务处、人事处和 财务处。教务处职能是管理学生选课和教师任课;人事处职 能是管理人员的隶属关系;财务处职能是发放教师的工资。
作者和图书可用以下属性来描述: 作者——编号,姓名,职称 图书——书号,书名,出版日期
另外,在“创作”联系中应能反映出该书的合同时间 和完成时间。请根据描述画出能够反映实体之间的信 息关系的E-R图。
9
10
11
1.3 同一实体集内部不同联系情况的E-R图表示法
【例4】同一实体集内部的一对多联系的绘制方法。 假设在某单位里,职工实体集中的实体可分成两类: 领导者和被领导者。领导者可以领导多个被领导者, 而被领导者只有一个顶头上司,从而实现层层负责制。 而对于一个具体职工而言,他既可能是其他职工的领 导者,又可能被别的职工领导。
武汉大学数据库系统概论 第十三讲 实体联系图(ER图)

一.为什么需要ER模型(图) 二.ER模型的基本概念 三.弱实体类型和强实体类型 四.结构化约束 五.ER模型的问题
3
为什么需要ER 模型(图)
4
为什么需要ER模型(图)
1.
现实世界是复杂的 如何将现实世界的不规则 的手工信息处理方式转换 为规则的计算机信息处理 方式?
5
为什么需要ER模型(图)
当一个模型暗示某些实体类型之间存在联系,而这些 实体实例间却不存在相应的道路
37
E R 模 型 的 问 题
27
结
1.
构
化
约
束
结构化约束 基数约束(cardinality constraints) —— 描述一个特定联系类型中的一个 实体最多可参与联系的实例数目 参与约束(participation constraints) —— 说明是否所有的实体实例都参与 了联系
28
结
2.
构
化
约
束
联系中实体的基数
30
结
4.
构
化
约
束
二元联系的多样性 —— 就是两个实体中实例之间的联系 E
R
F
E
R
F
E
R
F
一对一联系 1:1
多对一联系 N:1
多对多联系 M:N 31
结
4.
构
化
约
束
二元联系的多样性
4.
联系类型
联系类型(relationship type) —— 实体类型间的一组有意义的关联 联系实例(relationship occurrence) —— 一个可唯一标识的关联,涉及参与该联系的每个实体类型 的一个实例 联系类型的度(degree of a relationship type) —— 参与联系的实体类型的个数。度为2的联系称为二元联系; 度为3的称为三元联系;度为3或更高的联系,称为多元联系 递归联系(recursive relationship) —— 是这样一种联系类型,其同一个实体类型参与的次数大于1, 并且每次参与具有不同角色.递归联系也称为一元联系
实验一 ER图

实验一 用E-R 图设计数据库第一部分:E-R 模型 1. 实验步骤1) 设计能够表示出班级与学生关系的数据库。
① 确定班级实体和学生实体的属性。
学生(学号,姓名,年龄,性别,班级号) 班级(班级号、年级号、班级人数)② 确定班级和学生之间的联系,给联系命名并指出联系的类型。
一个学生只能属于一个班级,一个班级可以有很多学生,所以和学生间是1对多关系,即1:n③ 确定联系本身的属性。
属于④ 画出班级与学生关系的E-R 图。
⑤ 将E-R 图转化为关系模式,写出各关系模式并标明各自的主码或外码。
学生(学号,姓名,年龄,性别,班级号) 班级(班级号、年级号、班级人数)2) 设计能够表示出顾客与商品关系的数据库。
① 确定顾客实体和商品实体的属性。
商品(商品编号,商品名称,产地) 顾客(顾客号,地址,商品号)② 确定顾客和商品之间的联系,给联系命名并指出联系的类型。
一个顾客可以购买多种商品,一种商品可以被多个顾客购买 所以顾客和商品间是多对多关系, 即m:n ③ 确定联系本身的属性。
购买⑥ 画出顾客与商品关系的E-R 图。
N1学生班级学号姓名 年龄班级号年级号班级人班级号属于⑦ 将E-R 图转化为关系模式,写出表的关系模式并标明各自的主码或外码。
商品(商品编号,商品名称,产地) 顾客(顾客号,姓名,地址,商品号) 3) 设计能够表示学校与校长关系的数据库。
① 确定学校实体和校长实体的属性。
学校(学校编号,学校名,校长号,地址) 校长(校长号,姓名,年龄)② 确定学校和校长之间的联系,给联系命名并指出联系的类型。
一个校长只能管理一个学校,一个学校只能有一个校长,所以 学校和校长是1对1的联系, 即1:1 ③ 确定联系本身的属性。
管理④ 画出学校与校长关系的E-R 图。
⑤ 将E-R 图转化为关系模式,写出表的关系模式并标明各自的主码或外码。
学校(学校编号,学校名,校长号,地址) 校长(校长号,姓名,年龄)11学校校长校长号年龄学校编号姓名校长号地址管理学校名NN商品顾客商品编号产地商品名称姓名地址购买顾客号4) 设计能够表示出房地产交易中客户,业务员和合同三者之间关系的数据库。
ER图是啥?

ER图是啥?E-R图也称实体-联系图(Entity Relationship Diagram),提供了表⽰实体类型、属性和联系的⽅法,⽤来描述现实世界的概念模型。
⽤矩形表⽰实体型,矩形框内写明实体名;⽤椭圆表⽰实体的属性,并⽤⽆向边将其与相应的实体型连接起来;⽤菱形表⽰实体型之间的联系,在菱形框内写明联系名,并⽤⽆向边分别与有关实体型连接起来,同时在⽆向边旁标上联系的类型(1:1,1:n或m:n)。
实体联系模型,是概念数据模型的⾼层描述所使⽤的数据模型或模式图,它为表述这种实体联系模式图形式的数据模型提供了图形符号。
下⾯是⼀个最常见的ER图,基本上只要讲解ER图就会碰到它。
通俗的讲,ER图是把现实⽣活中的各种关系,以图⽚的形式,抽象出来,形成⼀个思维导图,通过ER图可以了解现实中的各种关系,⽐如⼀个班有很多学⽣组成。
ER图的应⽤,最最难的地⽅我觉得是抽象思维能⼒,你需要把现实⽣活中各种关系映射到⼤脑⾥⾯,然后以ER图的形式输出可分析和可视化的东西。
通过实例来拆解ER图⼀、学校⾥的那点事⼉现实⽣活⼀个班级有N多的学⽣组成,每个班级有⼀个班级号,每⼀名学⽣有⼀个学号;学⽣可以根据⾃⼰的兴趣爱好选修课程,对于选修的课程需要考试,然后出成绩有学分;⼀名⽼师可以教授⼏门课程。
ER图通过现实的描述分解出⼏个实体,分别为班级、学⽣、课程、教师。
出现了⼏组关系,分别为⼀个班级由多名学⽣组成(1对多)、⼀名学⽣可以选多门课程,同时⼀门课程可能被多名学⽣选修(多对多)、⼀名教师可传授多门课程,同时⼀门课程可能被多名教师传授(多对多)。
这个场景⾥⾯没有⼀对⼀的关系。
关系数据库ER图画出来以后,如何映射到关系数据库中的表呢?这⼀步就⾮常简单了,分步骤进⾏创建:把实体映射为表、把关系映射为表。
实体映射为表,⽐较简单,不再赘述。
关系映射为表,相对来说⽐较复杂,以这⾥的ER图为例,存在1对多和多对多两类关系。
1对多或者多对1时,在多⽅添加⼀个外键,对应到1⽅,如学⽣表⾥的所在班级这个外键。
er图课程设计

er图课程设计一、课程目标知识目标:1. 学生能够理解ER图的基本概念,掌握其组成元素,如实体、属性、关系等。
2. 学生能够运用ER图表示实体之间的关系,包括一对一、一对多和多对多关系。
3. 学生能够通过ER图对现实世界中的问题进行分析,提取关键信息,构建合理的数据库结构。
技能目标:1. 学生能够独立绘制ER图,准确地表示实体、属性和关系。
2. 学生能够根据ER图,设计出合理的数据库表结构,实现数据的存储和查询。
3. 学生能够运用ER图解决实际问题,提高数据处理和分析能力。
情感态度价值观目标:1. 培养学生对数据库知识的兴趣,激发他们主动探究和学习的精神。
2. 培养学生团队协作意识,学会与他人共同分析问题、解决问题。
3. 培养学生运用所学知识为现实生活服务的意识,提高他们的信息素养。
课程性质:本课程为数据库基础知识课程,以理论与实践相结合的方式进行教学。
学生特点:学生处于高年级阶段,具备一定的逻辑思维能力和信息技术基础,对新鲜事物充满好奇心。
教学要求:教师应注重启发式教学,引导学生主动思考,培养学生的实际操作能力,关注学生的个体差异,提高教学质量。
通过本课程的学习,使学生能够掌握ER图的知识,为后续数据库学习打下坚实基础。
二、教学内容1. 引入ER图概念,介绍其基本组成元素:实体、属性、键、关系以及约束。
- 教材章节:第三章 数据模型与ER图2. 详细讲解一对一、一对多和多对多关系的表示方法,并通过实例进行演示。
- 教材章节:第三章 数据模型与ER图3. 指导学生绘制简单的ER图,学会将现实世界问题转化为ER模型。
- 教材章节:第三章 数据模型与ER图;第四章 ER图的设计与应用4. 讲解如何根据ER图设计数据库表结构,包括表的设计、字段的定义以及关系约束的设置。
- 教材章节:第四章 ER图的设计与应用;第五章 数据库设计5. 分析实际案例,让学生通过小组合作,运用ER图对问题进行数据库设计。
- 教材章节:第五章 数据库设计;第六章 数据库应用案例6. 安排课堂练习,让学生巩固所学知识,提高实际操作能力。
学校E-R图绘制

解:描述教师和课程之间的E-R图可如下图所示。
教师号
教师名
教师 m
职称
质量
讲授
n 课程 课程号 课程名 班级
E—R图的设计方法
E-R图通常都应经过以下两个阶段:
(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实体、属性和联 系。需注意的是:能作为属性的就不要作为实体,这有利于E—R图的简化。 (2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只能出现一次, 还要去掉不必要的联系,以便消除冗余。一般来说,从总体E—R图必须能导出原来的 所有局部视图,包括实体、属性和联系。 【例3-4 】某学校管理系统中有三个部门:后勤部、学生处和财务处。后勤部用来管理 学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资。
专业
入学时间
学生 n 住 1 租金
楼号
房 间 号
档次 (a) 后勤部的局部E-R图
宿舍
教师号
姓 名
性 别
职称
ห้องสมุดไป่ตู้专 业
教师 课程
课程号 课程名 质量 学时数 专业
教师
m
成绩
讲授 m 学生 选修 n
n
课程
(b) 教务处的局部E-R图(学生同(a)图)
基本工 资
加班工 资
扣税
工资编 号
月份 1 领 工资
两实体集间1:n联系
两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应 的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应 的关系中。
两实体集间m:n联系
对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双 方实体集。该关系的属性中至少要包括被它所联系的双方实体集的“主关键 字”,并且如果联系有属性,也要归入这个关系中。