数据库E-R图讲解
第10章 E-R图及关系图

10.1
EE-R图
本节首先介绍E-R图的基本概念,理解这些概念是学习 图的基本概念, 本节首先介绍 图的基本概念 设计E-R图的基础.了解 图的基础. 图概念后, 设计 图的基础 了解E-R图概念后,才能设计出更好的 图概念后 E-R图. 图
实体( 和关系( 10.1.1 实体(E)和关系(R)的概念
10.3.5 删除数据库关系图
在对象资源管理器中,展开【数据库关系图】 在对象资源管理器中,展开【数据库关系图】文件夹 右击要删除的数据库关系图,在弹出快捷菜单中选择【 .右击要删除的数据库关系图,在弹出快捷菜单中选择【删 命令,弹出【删除对象】对话框. 除】命令,弹出【删除对象】对话框.
什么是数据库的E 10.4.1 什么是数据库的E-R图
10.3.2 保存数据库关系图
修改完成的数据库关系图, 修改完成的数据库关系图,通过简单的操作可以将其 保存在数据库中. 保存在数据库中. 如果已经保存了关系图, 如果已经保存了关系图,而仅仅是对现有关系图中的 表进行更改,则不显示【选择名称】对话框, 表进行更改,则不显示【选择名称】对话框,直接保存到当 前关系图中. 前关系图中.
实体和关系是组成E-R图最为主要的两个方面,先了解 图最为主要的两个方面, 实体和关系是组成 图最为主要的两个方面 一下E-R图涉及到的概念. 图涉及到的概念. 一下 图涉及到的概念 实体 属性 实体型 实体集 联系
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⽅,如学⽣表⾥的所在班级这个外键。
数据库系统E-R图设计知识点汇总

数据库系统E-R图设计知识点汇总数据库系统 ER 图设计知识点汇总在数据库系统的设计中,ER 图(EntityRelationship Diagram,实体联系图)是一种非常重要的工具。
它能够帮助我们清晰地理解和描述系统中各个实体之间的关系,为数据库的构建提供坚实的基础。
下面就让我们一起来详细了解一下数据库系统 ER 图设计的相关知识点。
一、ER 图的基本概念ER 图主要由实体、属性和联系这三个要素组成。
实体是指具有独立存在意义的事物,比如“学生”“课程”“教师”等。
在 ER 图中,实体通常用矩形来表示。
属性则是用来描述实体的特征,比如学生的“学号”“姓名”“年龄”等。
属性在 ER 图中用椭圆来表示。
联系反映了不同实体之间的关系,比如学生与课程之间的“选课”关系。
联系在 ER 图中用菱形来表示,并在菱形中标注联系的名称。
二、ER 图中的实体类型实体可以分为强实体和弱实体。
强实体是指不依赖于其他实体而独立存在的实体,其标识符完全由自身的属性决定。
弱实体则是依赖于其他强实体而存在的实体,它的标识符部分或全部来自于其所依赖的强实体。
三、ER 图中的联系类型联系主要有一对一(1:1)、一对多(1:N)和多对多(M:N)这三种类型。
一对一联系,例如一个人只有一个身份证,一个身份证只对应一个人。
一对多联系,比如一个班级有多个学生,而一个学生只能属于一个班级。
多对多联系,像学生和课程之间,一个学生可以选择多门课程,一门课程也可以被多个学生选择。
四、ER 图的绘制原则在绘制 ER 图时,需要遵循一些原则,以确保图形的清晰和准确。
首先,要明确系统的需求,准确识别出实体、属性和联系。
其次,尽量简化图形,避免出现过于复杂的关系,使读者能够一目了然。
同时,要确保实体和联系的名称具有明确的含义,能够准确反映其代表的对象和关系。
五、ER 图到关系模式的转换这是将 ER 图转化为数据库中可实现的关系模式的关键步骤。
对于实体,通常将其转换为一个关系表,表的列就是实体的属性。
数据库E-R图讲解

两个实体型间联系可以分为三类:
一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
7
两个实体型间的联系
实体型1 1 联系名
实体型1 1 联系名
1 实体型2
n 实体型2
1:1联系
1:n联系
实体型1 m 联系名
项目
n
m
需要
仓库 1
保存 n 零件
n
m
供应
供应商
26
E-R图实例:某工厂物资管理E-R图
• Step4 确定实体类型和联系类型的属性。
• Step5 确定实体类型的关键码,在ER图中
属于码的属性名下画一条横线。
仓库编号 仓库名
项目名称
项目编号 立项日前
项目
n 需要
零件名
m
仓库 1
保存 n 零件
所在地 面积
成绩 92 85 88 90 80 ……
课程 m 选修
n 学生
m:n联系
成绩
44
同样两个实体,如果赋予不同的语义则 有不同的设计结果。也就是说我们在概念模 型中讨论实体之间的联系类型直接影响着目 标数据库的设计结果和设计质量。
45
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
系
9
两个实体型间的联系 (续)
• 一对多联系
– 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0
)与之联系,反之,对于实体集B中的每一个实体,实体集A中至
e-r图设计数据库

e-r图设计数据库E-R图也即实体-联系图(Entity Relationship Diagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E-R图的基本要素是实体型、属性和联系,其表示方法为:·实体型(Entity):用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。
如果是弱实体的话,在矩形外面再套实线矩形。
·属性(Attribute):用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。
如果是多值属性的话,再椭圆形外面再套实线椭圆。
如果是派生属性则用虚线椭圆表示。
·联系(Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。
比如老师给学生授课存在授课关系,学生选课存在选课关系。
如果是弱实体的联系则在菱形外面再套菱形。
两个不同实体间的1:n关系上图中表示的是一辆汽车与零件之间的1:n关系,一辆汽车由许多个零件构成。
“汽车”这个实体具有型号、单价和牌号等属性,“零件”这个实体具有名称、单价和厂家等属性,“数量”是它们之间的关系“组成”的一个属性。
当然E-R图还可以表示1:1关系,例如夫妻关系以及姓名与学号间的关系等。
E-R图还可以表示m:n关系,例如教材中中讲的“学生”与“课程”之间通过“学习”联系,一个学生要学习多门课程,反之同一门课程有很多学生在学习。
在E-R图中,有时为了使其简洁明了,图中可以略去各属性,着重表示实体间的联系情况,而属性可以单独以表格形式单独列出。
4.E-R图的设计E-R图的设计虽然没有一个绝对固定的方法,但一般来说应遵循以下两条基本原则:(1)首先要针对每一个用户做出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。
[注意]在设计E-R图时,能作为属性的就不要作为实体,这样有利于E-R图的简化。
E-R图和关系数据库设计

民航航班管理数据模型
•实体集6 职工 PERSONNEL 属性: 职工号 EMP-NO:INT(6) 姓名NAME:CHAR(30) 住址ADDRESS:CHAR(30) 工资SALARY:INT(6) 职工号EMP-NO是本实体集的关键字。
•实体集7 飞行员 PILOTS 实体集PILOTS 无属性。
【例】实体“学生”,具有属性“学号”、“姓 名”、“性别”、“年龄”。
基本概念
• 所谓属性是指事物的某一方面的特征,属性可 以是基本属性或导出属性。例如,学生的学号 是一个简单属性;学生的家庭地址是一个复合 属性,它由简单属性“城市”、“街道”、 “门牌号”等组成。
• 属性可以是基本属性或导出属性。例如,一 个人的生日是基本属性,年龄是导出属性,年 龄可以根据生日和当前日期导出。
民航航班管理数据模型
•实体集3 航次DEPARTURES 属性: 日期DATE:INT(3) 本实体集的每一个实体是在某日起飞的航次。
•实体集4 机型PLANES 属性: 制造厂 MANUFACTURER:CHAR(10)
型号MODEL-NO:CHAR(10) 这两个属性组成实体集的关键字。 •实体集5 飞机AIRCRAFT 属性: 序号SERIAL-NO:INT(5)
order-no,quantity-order)
转换规则3
• 规则3:如果一个联系集的两侧标明的基数比是 1∶N(一对多联系),且联系无自身的属性,则 在1侧的实体集的关键字应加入到另一侧的实体转 换成的关系中,联系集本身可不必单独转换成关 系。
• 例如下图实体集CUSTOMER的关键字应加入到对 应于实体集ORDER的关系中去。经过转换后可得 关系模式为:
• 规则2:每一个联系集转换成一个关系, 该联系集自身所 拥有的属性,加入到该关系中去,而该关系的主关键字由 该联系集所联系的实体集的关键字组成。
数据库设计(一)E-R图

数据库设计(⼀)E-R图数据库设计定义: 指的是将应⽤中涉及的数据实体及这些数据实体之间的关系,进⾏规划和结构化的过程。
影响数据库系统效率的因素:数据库中创建的数据结构种类,以及在数据实体之间建⽴的关系好的设计:效率⾼,便于进⼀步扩展,使应⽤程序的开发变得容易糟糕的设计:效率低下,更新和检索数据时会出现许多问题。
⼀、设计的步骤:⼀般在项⽬开发需要经过:需求分析、概要设计、详细设计、代码编写、运⾏测试和部署上线这⼏个阶段,⽽数据设计在这⼏个阶段主要做的事,如下:(当然上线后有时也会出现改需求,动代码动数据库)//数据库设计时需要注意的需求分析阶段:分析客户业务和数据处理需求概要设计阶段:绘制数据库的E-R图,⽤于在项⽬团队内部、设计⼈员和客户之间的沟通,确认需求信息的正确性和完整性。
详细设计阶段:将E-R 图转换为多张表,进⾏逻辑设计,确认各表的主外键,并应⽤数据库设计的三⼤范式进⾏审核。
经项⽬开会讨论确定后,根据项⽬的技术实现、团队开发能⼒进⾏项⽬的成本预算,选择具体的数据库进⾏物理实现,之后就是开发应⽤程序注意:在需求分析阶段的重点是调查、收集并分析客户业务的数据需求、处理需求、安全性与完整性需求。
常⽤的需求调研⽅法:在客户的公司跟班实习、组织召开调查会、邀请专⼈介绍、设计调查表并请⽤户填写和查阅与业务相关的数据记录等。
常⽤的需求分析⽅法:调查客户的公司组织情况、各部门的业务需求情况、协助客户分析系统的各种业务需求和确定新系统的边界。
//在进⾏数据库系统分析时可参考的基本步骤1、收集信息:创建数据库之前,必须充分理解数据库需要完成的任务和功能,了解数据库需要存储哪些数据、实现哪些功能2、标识实体:收集信息后,标识数据库要管理的关键对象或实体。
(实体⼀般是名词,⼀个实体只描述⼀件事情,不能出现含义相同的实体,⽽且实体可以是有形的事物(如⼈或产品),也可以是⽆形的事物(如部门,时间))3、标识每个实体需要存储的详细信息:将数据库中的主要实体标⽰为表的候选实体以后,就要标识每个实体存储的详细信息,也称为该实体的属性,这些属性将组成表中列。
数据库原理E-R图向关系模型的转换原则

04 E-R图向关系模型的转换 原则
将实体集转换为关系
实体集
01
在E-R图中,实体集表示为封闭的边界线框,可以包含属性。
关系
02
在关系模型中,每个实体集对应一个关系,关系的名称通常与
实体集的名称相同。
转换
03
将实体集转换为关系时,需要将实体集的属性转换为关系的属
将实体关系转换为关系
实体关系
在E-R图中,实体关系表示为实体集之间的连线,表示实体集之间 的关联或依赖关系。
关系
在关系模型中,实体关系通过关系的完整性约束来体现,包括主键、 外键、参照完整性等。
转换
将实体关系转换为关系时,需要将实体关系的类型和关联的属性转换 为关系的完整性约束,以确保数据的一致性和完整性。
转换过程演示
总结词
详细演示如何将E-R图转换为关系模型。
详细描述
首先,将实体转换为关系表,并为每个实体分配一个 主键。然后,将属性转换为表的字段,并确定每个字 段的数据类型和长度。接下来,根据E-R图中的关系 ,建立相应的关联表,并定义外键约束。最后,根据 业务需求,可能还需要添加其他约束条件,如唯一性 约束、非空约束等。通过以上步骤,就可以将E-R图 转换为关系模型。
性,并保留实体集的名称作为关系的名称。
将属性转换为关系属性
属性
在E-R图中,属性表示为实体的内部特征,可以出现在实体集的内 部或外部。
关系属性
在关系模型中,每个属性对应一个关系属性,关系的属性包括在关 系的列中。
转换
将属性转换为关系属性时,需要将属性的名称和数据类型转换为关 系属性的名称和数据类型,并将其添加到对应的关系中。
E-R图详细讲解

各级模式之间的关系
存储数据库示例
STORAGE SCHEMA FOR STORAGE-ACCOUNTING DATABASE. STORAGE FILE SECTION. STORAGE FILE ACC-RECEIVABLE, HASH FILE USING HASHING ROUTINE HASHX DATA FIELDS. ACC-NUMB PIC X(4), PRIMARY KEY FIELD CRED-LIM PIC 5(9) BALANCE PIC 5(9)v99 POINTER FIELDS. NR-POINTER PIC X(4), FOR SINGLE LINKED LIST USING NEXT ACC-NUMB VALUE IN ASCENDING ORDER STORAGE FILE ORDER, INDEXED-SEQUENTIAL FILE DATA FIELDS. ACC-NUMB PIC X(4), SECONDARY KEY, POINTER TO PARENT ACC-RECEIVABLE RECORD. ORDER-NUMB PIC X(3), PRIMARY KEY FIELD. PART-TYPE-NUMB PIC(2). QUANTITY PIC 3(9) POINTER FIELDS. NC-POINTER PIC X(3), POINTER TO NEXT CHILD, FOR SECONDARY KEY ACC-NUMB USING ORDER-NUMB VALUE AND MULTIPLE LINKED LIST INDEX CHILD-INDEX. INDEX SECTION. INDEX CHILD-INDEX, MULTIPLE LINKED LIST INDEX FOR SECONDARY KEY ACC-NUMB IN ORDER FILE. FIELDS. ACC-NUMB FROM ORDER FILE, PRIMARY KEY. ORDER-NUMB FROM ORDER FILE, POINTER TO FIRST CHILD.
数据库E-R图

同一类记录的集合称为文件。所有学生的记录组成了一个学 生文件。
关键字(Key)
能惟一标识文件中每个记录的字段或字段集,称为记录的关 键字 。
E-R方法
E-R方法即“实体-联系方法”。它的基本思想 是在数据库设计过程中增加一个中间步骤, 先设计一个概念性数据模型,这个概念性数 据模型在E-R方法中被称作“企业模式” (或“组织模式”)。它是现实世界的纯粹 反映,与数据库的具体实现无关,它抛开了 实现过程的具体细节,与现实世界和用户思 维很相似,能比较准确,比较自然地反映现 实世界,能为不熟悉计算机的用户所接受, 便于设计人员和用户的沟通。
相关术语: 实体
客观存在并且可以相互区别的“事物” 称为实体
实体可以是具体的人、事、物,也可 以是抽象的事件
属性
实体所具有的某一特性称为属性
实体型
学生(学号,姓名,年龄,性别,系)
具有相同属性的实体必然具有共同的特征
实体集
同型实体的集合称为实体集
键
能惟一标识一个实体的属性或属性集称为实 体的键
域
例 学生、回扣、医疗等。实体分为两级,一级为 “个体”,如“张三”、“国防科技大学”等;另 一级为“总体”,泛指某一类个体组成的集合,如 人泛指“张三”、 “李四”等。实体类型:将具 有共性的一类实体抽象为实体类型。在E-R图中, 实体这种基本成份用方框来表示。
(2)实体与联系的属性和域
属性:对实体特征的描述;域:属性的取值范 围。
“部门”(A)是一种实体,“职员”(B)也是 一种实体。这两种实体之间存在着一种联系, 设这种联系命名为“属于”,即表示某个职 员是属于某个部门的。“属于”这个联系是 1:N的,具体地说就是:一个部门可以有 多个职员,而一个职员只能属于一个部门。 在E-R图中,这两种实体间的联系可以表示 成如下图。
数据库设计之 E-R 图

课程解决问题
什么是E-R图? 什么时候使用? 怎么用?
数据库设计
数据库设计是从用户对 数据的需求出发,研究 并构造数据库的过程
设计步骤:
需求分析 实体定义 概念设计 关系定义 属性分配
E-R图
设计的目标
实现设计
满足应用功能的需求 良好的数据库性能
物理设计
实现、维护
员工
姓名 属于
实体-关系模型
在 E-R 图中显示的每个特性或属性映射为相应 表中的一个属性 员工
地址 名字
出生日期
工号 名字 出生日期 地址 邮编 电话 学历
员工
代号 工号 邮编 邮编 电话 电话 学历 学历
实体-关系模型
关系:实体间的关联
例如, 供应商和客户的关系中。这种关系代表了一个供 应商可以有多客户,一个客户也可以选择多个供应商。这 个关系被称为“选择”。
经理
部门 部门号(pk) 部门名 经理
员工 员工号(pk) 员工名 电话 部门(FK)
外键:当一个表的主关键字作为属性出现在另一个表中则在第二个表中称为外键(用于联系实体)
转换原则:多对多
把两实体中的主关键字放入到一个新实体中,成为新实体 的组合键 客户编号 客户名 商品编号 商品名 客户编号商品编号
客户
m
销售
m
商品
地址
联系方式 帐号 购买日期 数量 价格
库存量
对应数据库表
客户编号
C01 C02 C03 C04 C05
客户表
地址
北京 武汉 武汉 上海 武汉
顾客名
李明 王华 孙庆 赵国强 陈洁
联系方式
数据库设计-ER图

数据库设计的基本步骤(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。
(2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。
(3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。
(4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。
(5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。
(6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。
1 数据库设计概述数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。
数据库设计的基本步骤:∙需求分析∙概念结构设计∙逻辑结构设计∙物理结构设计∙数据库的建立和测试∙数据库运行和维护。
数据库各阶段设计描述2 概念结构设计在早期的数据库设计,在需求分析阶段后,就直接进行逻辑结构设计。
由于此时既要考虑现实世界信息的联系与特征,又要满足特定的数据库系统的约束要求,因而对于客观世界的描述受到一定的限制。
同时,由于设计时要同时考虑多方面的问题,也使设计工作变得十分复杂。
1976年P.P.S.Chen提出在逻辑结构设计之前先设计一个概念模型,并提出了数据库设计的实体--联系方法(Entity--Relationship Approach)。
这种方法不包括深的理论,但提供了一个简便、有效的方法,目前成为数据库设计中通用的工具。
有许多商业软件支持E-R模型,如Sybase公司的PowerDesigner DataArchitect(最新版本v9.5.1 for Windows)、微软公司Microsoft InfoModeler (VisioModeler)等。
图 S-designer DataArchitect 5.1 设计的E-R模型使用E-R模型来进行概念模型的设计通常分两步进行,首先是建立局部概念模型,然后综合局部概念模型,成为全局概念模型。
E-R图信息描述

书号 书名
身份证号
m 图书 被著
n 作者 姓名
出版社
价格
年龄
例二
设要建立一个企业数据库,要求如下:
1、某企业各部门有许多职员,每个职员仅属于一
个部门;
2、每个职员可以在多项工程中承担工作或负责管
理,每项工程可有多个职员做工,但只有一个负责 管理者;
3、试根据以上要求画出该问题的E—R图。
部门 名
联系 电话
部门
1
管理
拥有
n m n
职员
工作
工程
职工 号
职工名
性别
工程 号
工程名 称
学号
学生
选修
课程
课程类别
任课教师 成绩数ຫໍສະໝຸດ 模型构造E-R模型
构造E-R模型实质上就是根据现实世界客观存在的
“事物”及其关系所给出的语义要求,组合基本ER图形为E-R模型。它包括如下步骤:标识实体集; 标识联系集;标识属性值集;标识关键字。
例一
用图书、作者两个实体及其属性和联系构建ER图。
连线:实体与属性之间;实体与联系之间;联系与属性之间用 直线相连,并在直线上标注联系的类型。
对于一对一联系(1 ∶1):要在两个实体连线方向各写1; 对于一对多联系(1 ∶N) :要在一的一方写1,多的一方写N;
对于多对多关系(N∶M) :则要在两个实体连线方向各写N,M。
E-R图
姓名 专业 课程编号 课程名 N M
某企业各部门有许多职员每个职员仅属于一?2每个职员可以在多项工程中承担工作或负责管理每项工程可有多个职员做工但只有一个负责管理者
1.2 数据模型和E-R图

数据库的物理结构
数据库的三级体系结构(二)
数据的三级抽象术语
数据模型 用数据定义语言 描述的称呼 外模式 概念模式
外部级 概念级
外模型 概念模型
内部级
内模型
内模式
体系结构中的五个要素
概念模式(conceptnal schema概念级)是数 据库中全部数据的整体逻辑结构的描述。 外模式(external schema外部级)是用户与 数据库系统的接口,是用户用到的那部分数 据的描述。 内模式(internal schema内部级)是数据库 在物理存储方面的描述,定义所有内部记录 类型、索引和文件的组织方式,以及数据控 制方面的细节。
1、实体、实体集、属性
实体(Entity)--客观存在并且可以相 互区别的“事物” 。 属性(Attributes)--实体的某一特性。 属性的具体内容称为属性值 实体型(Entity Type)--若干属性组成 的集合可以表示一个实体的类型,简称 实体型。
实体集(Entity Set)--同型实体的集合。 键(Key)--能唯一标识一个实体的属性 或属性集,又称为关键字。 属性值域(Domain)--属性值的取值范围 称为该属性的域。
E-R模型的具体建立过程
确定实体类型 确定联系类型 确定实体类型的属性 确定联系类型的属性 画出E-R图
学 号
姓 名
成 绩
学 时
班 级
姓 名
工作 单位
学生 N
选 修 M
课程 N
任 课 1
教 师
性 别
课程 代号
课程 名称
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
班级 1
管理
1 班长
1:1联系
40
仓库和器件间是一对多关系
器件号 P1 P2 P3 P4
器件名称 显示卡 声卡 解压卡
散热风扇
数量 100 120 180 200
仓库号 WH1 WH1 WH2 WH2
41
如果两表之间的联系是一对多的
班级号 3110501 3110502
班级名 1班 2班
班长 王小明
31
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
32
2.4 E-R图设计剖析
• (1)实体与属性 • (2)联系的属性 • (3)实体与联系
33
实体 or 属性 ?
成绩 92 85 88 90 80 ……
课程 m 选修
n 学生
m:n联系
成绩
44
同样两个实体,如果赋予不同的语义则 有不同的设计结果。也就是说我们在概念模 型中讨论实体之间的联系类型直接影响着目 标数据库的设计结果和设计质量。
45
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例 • 2.4 E-R图设计剖析 • 2.5 复杂系统E-R图示例 • 2.6 E-R模型到关系模型的转换
n 项目
p 零件
两个以上实体型间m:n联系
பைடு நூலகம்
12
单个实体型联系
• 单个实体型内的一对多联系
职工
1
n
领导
单个实体型内部 1:n联系
13
实体-联系模型
• 2.1 基本概念 • 2.2 E-R图 • 2.3 一个简单的综合示例
14
2.2 E-R图
• E-R图概念模型的表示工具 • 实体-联系方法(E-R方法)
项目
n
m
需要
仓库 1
保存 n 零件
n
m
供应
供应商
26
E-R图实例:某工厂物资管理E-R图
• Step4 确定实体类型和联系类型的属性。
• Step5 确定实体类型的关键码,在ER图中
属于码的属性名下画一条横线。
仓库编号 仓库名
项目名称
项目编号 立项日前
项目
n 需要
零件名
m
仓库 1
保存 n 零件
所在地 面积
体集A中也有m个实体(m≥0)与之联系,则称实体集A与实
体B具有多对多联系。记为m:n
– 实例 课程与学生之间的联系:
教师与课程之间的联系;
实体型A
m 联系名
学生
M
选课
n 实体型B
N
课程
11
多个实体型间联系
• 两个以上实体型之间一对多联系
课程
1 讲授
m
n
教师
参考书
两个以上实体型间1:n联系
供应商
m 供应
面积 500 450 200 300
实体之间的联系类型决定 了数据库设计时的结果, 与数据库的设计质量密切 相关
器件号 器件名称 数量
P1
显示卡 100
P2
声卡
120
P3
解压卡 180
P4 散热风扇 200 38
仓库和器件是一对一联系
仓库号 WH1 WH2 WH3
城市 北京 上海 广州
WH4
重庆
面积 500 450 200
器件号 器件名称
P1
显示卡
P2
声卡
P3
解压卡
数量 100 120 180
300
P4 散热风扇 200
39
如果两表之间的联系是一对一的
班级号 3110501 3110502
班级名 1班 2班
班长 王小明 李勇
学号 姓名 年龄 2005004 王小明 19 2005006 李勇 20
性别 女 男
年级 2005 2005
28
• 实体:研究所,研究室,研究人员,项目 • 联系:
– 研究所,研究室之间联系 – 研究室,研究人员间联系 – 研究人员,项目之间联系
29
研究所
研究所编号 <pi> <M> 研究所名 地址
研究所E-R图
包含
研究室
研究室编号 <pi> <M> 研究室名 办公地点
有
研究员
编号 <pi> <M> 0,n 姓名 性别 年龄
李勇
学号 姓名 年龄 性别
2005004 王小明 19 女 2005006 黄大鹏 20 男 2005008 张文斌 18 女
年级
2005 2005 2005
班级号
3110501 3110501 3110502
班级 1
组成
n 学生
1:n联系
42
仓库和器件是多对多的关系
仓库号 器件号
WH1
P1
WH1
• 学生(学号,姓名,班级,地址,电话) • 班长(学号,姓名,班级,地址,电话) • 副班长(学号,姓名,班级,地址,电话) • 教师(编号,姓名,爱好,住址) • 系主任(编号,姓名,爱好,住址) • 学生(学号,姓名,班级,地址,电话,职
务) • 教师(编号,姓名,爱好,住址,职务)
34
联系的属性
• 教师和课程可用以下属性来描述: 教师——教师号,教师名,职称 课程——课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。
21
解:描述教师和课程之间的E-R图可如下图所示。
教师号 课程号
教师名
教师 m
讲授 n
课程
课程名
职称
质量
班级
22
2.3一个简单的综合示例
• E-R图实例:某工厂物资管理E-R图
(2) 属性(Attribute)
实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
例如:学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性
组成。
男
22
150km/h
性别 张三 姓名
年龄
S001
学号
保时捷 类型
速度
12.5L/百公里 油耗
某个学生实体的数据模型
某个汽车实体的数据模型
– 实例
班级与班长之间的联系:
实体型A
1 联系名
系主任
1 领导
系与系主任之间的联系;
1 实体型B
1
部门与部门经理间的联系;
系
9
两个实体型间的联系 (续)
• 一对多联系
– 如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)
与之联系,反之,对于实体集B中的每一个实体,实体集A中至多
只有一个实体与之联系,则称实体集A与实体集B有一对多联系记
零件颜色
n 供应
供应商号
供应商名 联系方式
m 供应商
数量 零件型号
零件重量
27
思考?
研究所有若干个研究室,每一个研究室多位科研人 员在指定的办公地点.每一位科研人员只属于一个研 究室,有编号,姓名,性别和年龄.研究所承担了多 个科研项目,包括负责人,项目号项目名和开工时 间(每位科研人员可以参加多个科研项目).每个科研 项目有多位科研人员参加.科研人员参加科研项目均 有相应的工作量。画 E — R图
仓库,工程项目,零件,供应商 。
仓库
工程项目
零件
供应商
24
E-R图实例:某工厂物资管理E-R图 • Step2 确定联系类型。
项目和零件之间是M:N联系 零件 和 供应商之间也是M:N联系 仓库与零件关系是一对多关系1:N
25
E-R图实例:某工厂物资管理E-R图 • Step3 把实体类型和联系类型组合成ER图。
参与 工作量
是否需要研究所到科研项目间联系? 工作量 是放在实体上还是联系上?
科研项目
项目号
<pi> <M>
0,n
项目名 开工时间
项目负责人
30
ER模型-总结
• 优点
– 简单,容易理解,真实反应用户需求; – 与计算机无关,用户容易接受。
• 遇到实际问题一般先设计一个ER模型,然 后把ER模型转换成计算机能实现的数据模 型——逻辑数据模型。
17
解:描述主任和系之间的E-R图可如下图:
编号
姓名
年龄
学历
主任
1
管理
1
系
任职时间
系编号
系名
18
两个实体集之间的一对多的联系的绘制方法
• 【例 2-2】假设在某仓库管理系统中,有两个实体集:仓 库和商品。仓库用来存放商品,且规定一类商品只能存放 在一个仓库中,一个仓库可以存放多件商品。仓库和商品 之间是一对多的联系。
仓库和商品的属性分别如下: 仓库——仓库号,地点,面积联单 商品——商品号,商品名,价格
在存放联系中要反映出存放商品的数量。
19
解:描述仓库和商品之间的E-R图可如下图所示
仓库号
地点
面积
仓库
1
存放 n
商品
数量
商品号
商品名
价格
20
两个实体集之间的多对多的联系的绘制方法。
• 【例2-3】假设在某教务管理系统中,一个教师可以上多 门课,一门课也可以由多个老师去上。教师和课程之间是 多对多的联系。
7
两个实体型间的联系
实体型1 1 联系名
实体型1 1 联系名