数据库ER图
数据库E-R图

基本任务
消除不必要的冗余,设计生成基本E-R图
分E-R图
合并 初步E-R图 可能存在冗余的数据 和冗余的实体间联系 消除不必要的冗余
基本E-R图
1.冗余 消除不必要的冗余后的初步E-R图称为基本E-R图。 分析法消除冗余实例:
(1)例,教师工资单中包括该教师的基本工资、各种 补贴、应扣除的房租水电费以及实发工资。由于实发 工资可以由前面各项推算出来,因此可以去掉,在需 要查询实发工资时根据基本工资、各种补贴、应扣除 的房租水电费数据临时生成。 (2) 教室实体与班级实体的上课联系可以由教室与课程 之间的开设联系、课程与学生之间的选修联系、学生与 班级之间的组成联系三者推导出来,因此属于冗余联系, 可以消去。
3)M:N的联系,即多对多的联系 A中任意实体至少有一个实体对应B中的多个实体, 反之B中的任意实体至少有一个实体对应A中的多 个实体。 “学生”(A)是一种实体,“课程”(B)也是一种 实体。这两种实体之间存在一种联系,设这种联系 命名为“选课”,表示的是哪一个学生修了哪些门 课程。这个联系是M:N的,也就是说,一个学生 可以修多门课程,一门课程可以有多个学生来修, 但一个学生不一定修所有的课程,一门课程也不一 定被全部学生所选修。在E-R图中,这两种实体间 的联系可以表示如下图
1
拥有 成绩 m m 学生 选修 n
在E-R图中概念及术语 (1)实体与实体类型 实体:可以相互区别客观事物和概念的统一抽象。 是任何一种我们所关心的“事物”,可以指人,也 可以指物,可以是实际的东西,也可以是抽象的、 概念性的东西。 例 学生、回扣、医疗等。实体分为两级,一级为 “个体”,如“张三”、“国防科技大学”等;另 一级为“总体”,泛指某一类个体组成的集合,如 人泛指“张三”、 “李四”等。实体类型:将具 有共性的一类实体抽象为实体类型。在E-R图中, 实体这种基本成份用方框来表示。
数据库设计ER图

数据抽象(续)
聚集
第20页/共72页
数据抽象(续) ▪ 复杂的聚集,某一类型的成分仍是一个聚集
更复杂的聚集
第21页/共72页
数据抽象(续)
3. 概括(Generalization) • 定义类型之间的一种子集联系 • 抽象了类型之间的“is subset of”的语义 • 继承性
分E-R图
合并
初步E-R图
可能存在冗余的数据 和冗余的实体间联系
消除不必要的冗余
基本E-R图
第53页/共72页
消除不必要的冗余,设计基本E-R图(续)
• 冗余 • 消除冗余的方法
第54页/共72页
1.冗余
• 冗余的数据是指可由基本数据导出的数据 冗余的联系是指可由其他联系导出的联系
• 冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难 • 消除不必要的冗余后的初步E-R图称为基本E-R图
该厂劳动人事管理分E-R图
图7.29 劳动人事管理的分E-R图
第66页/共72页
消除冗余,设计生成基本E-R图实例(续)
系统的基本E-R(图7.30)
某工厂管第理6信7页息/共系7统2页的基本E-R图
消除冗余,设计生成基本E-R图实例(续)
集成过程,解决了以下问题: • 异名同义,项目和产品含义相同 • 库存管理中职工与仓库的工作关系已包含在劳动人事管理的部门与职工之
联系 • 整体概念结构能满足需要分析阶段所确定的所有要求
• 概念结构设计是整个数据库设计的关键
第3页/共72页
概念结构(续)
现实世界 信息世界 机器世界
需求分析 概念结构设计
第4页/共72页
概念结构(续)
数据库设计中的ER图和UML图的区别

数据库设计中的ER图和UML图的区别数据库设计是现代企业应用开发中非常重要的一个环节。
在数据库设计中,设计师会使用两种不同的图形工具来描述数据模型的结构和关系。
这两种工具分别是ER图和UML图。
尽管这两种图形工具都是用来描述数据模型,但它们都有很大的不同点。
一、ER图简介ER图是一种流行的用于描述数据模型的图形工具。
它是由彼得·钱(Peter Chen)于1976年首次提出的。
ER是Entity-Relationship(实体-关系)的缩写。
在ER图中,实体用矩形表示,并且它们之间用菱形表示关系。
实体之间的关系可以是一对一(1:1)、一对多(1:N)或者多对多(M:N)。
每个实体都有一个唯一的标识符,它对应于数据库表中的主键。
二、UML图简介UML图是另一种常用的描述数据模型的图形工具。
UML是Unified Modeling Language(统一建模语言)的缩写,它是由Object Management Group(OMG)发布的一种标准。
UML图有多种类型,其中用于描述数据模型的主要类型是类图。
在类图中,类用矩形表示,它们之间用关联表示关系。
类之间的关系可以是一对一(1:1)、一对多(1:N)或者多对多(M:N)。
每个类都有一个唯一的标识符,它对应于数据库表中的主键。
三、ER图与UML图的区别1. 目的不同ER图主要用于描述数据库中的实体和实体之间的关系。
它通常被用在关系数据库的设计中,以便设计师能够更好地理解数据之间的关系。
UML图可以用于描述任何类型的面向对象软件,包括业务逻辑,用户界面和系统架构等。
2. 图形元素的不同ER图中只有实体、关系和属性等基本元素。
UML图中有类、接口、对象、组件等复杂的元素。
3. 语法不同在ER图中,当一个实体有多个属性时,它们通常被表示为一个矩形。
在UML图中,每个属性都显示为一个单独的属性框。
4. 可读性不同ER图有明确的语法规则和标准符号,它相对简单,易于理解。
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图

网上服装商店1、E_R图2、关系表供应商:编号名称联系人地址电话进货:货品编码进货号进货量商品:编码名称售价产地供应商批号尺码客户:编号名称地址电话邮政编码订货:订单号销售工号货品编码客户编号订单日期发货方式付款方式总金额销售人员:工号部门号姓名地址电话销售部:编码名称人数3、表结构客户表销售人员表——网上服装商店Create databaseGo——供应商表Create table 供应商表(编号int primary key,名称varchar(20)not null,联系人varchar(10)not null,地址varchar(50),电话varchar(13)nuique)Go——进货表Create table进货表(货品编码int primary key,进货码int ,进货量int check(进货量>0))Go——商品表Create table商品表(编码int primary key,名称varchar(20)not null,售价money,产地varchar(50),供应商varchar(20),批号int,尺码intGo——客户表Create table客户表(编号int primary key,名称varchar(20)not null,地址Varchar(50),电话varchar(13)unique,邮政编码varchar(6))Go——订货表Create table订货表(订单号int primary key,销售工号int,货品编码int constraint goodnoForeign key references 商品表(编码),客户编号int constraint custono Foreign key references 客户表(编号),订单日期datatime,发货方式varchar(20),付款方式vatchar(20),总金额money)Go——销售人员表Create table销售人员表(工号int primary key,部门号int,姓名varchar(20),地址varchar(50),电话varchar(13))Go——销售部表Create table销售部表(编码int primary key,名称varchar(20),人数varchar(20))。
数据库系统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中至
数据库学生成绩管理系统ER图

系统需求分析:该学生成绩管理系统主要用于管理高校学生的考试成绩,提供学生成绩的录入、修改、查询、等各种功能。
成绩由各系的任课老师录入,或教务处人员统一录入。
学生成绩录入后由各系系秘书签字确认,只有教务处拥有对学生成绩的修改权限。
用户的具体需求分析:(1)教师:负责成绩的录入,能够在一定的权限内对学生的成绩进行查询,可以对自己的登录密码进行修改以及个人信息的修改等基本功能。
(2)系统管理员:与老师的功能相似(每个系都设有一管理员)另外管理员具有用户管理功能,能够对新上任的老师和新注册的学生行进添加,并能删除已经毕业和退休的老师。
用户分为管理员、教师用户、学生用户三类。
不论是管理员或教师用户,还是学生用户都需要通过用户名和口令进行登录。
用户名采用学生的学号和教师的教号,所以规定只能包括数字。
密码也只能是数字,用户只有正确填写用户名和密码才可以登入,进行下一步操作。
用户名被注销后,用户将不再拥有任何权限,并且从数据表中删除该用户的信息。
(3)学生:能够实现学生自己成绩和个人信息的查询、登录密码的修改等基本功能。
概念模型设计:由前面的系统需求分析得到实体主要有5个:教师、学生、管理员、课程、成绩。
学生有属性:学号、姓名、性别、系名、专业、出生日期教师有属性:教师号、姓名、性别、院系、联系电话管理员属性:用户名、密码课程有属性:课程号、课程名、学分、教师成绩有属性:学号、姓名、课程号、课程名、成绩、授课老师1)教师与课程之间的关系:教师与课程之间是1: n的关系,即一个老师只能教一门课程,一门课程可以由多个老师讲授。
(教师与学生E-R图)2)学生与教师之间的关系:学生与教师之间是n:m的关系,即一名老师可以教授多个学生,而一个学生可以由多个教师来教。
教师与学生的E-R图3)学生与课程之间的关系:学生与课程之间是n:m的关系,即一个学生可以选修多门课程,一门课程可以被多个学生选学。
学生与课程的E-R图4)学生与成绩之间的关系是n:m的关系:5)管理员与用户的关系:学生成绩管理全局E-R 图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设某商业集团数据库中有三个实体集。
一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型。
解:(1) E-R图
(2)这个E-R图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
2. 为某百货公司设计一个E-R模型。
百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:店号、店名、店址、店经理。
实体类型“商品”的属性有:商品号、品名、单价、产地。
实体类型“职工”的属性有:工号、姓名、性别、工资。
在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。
(1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。
(2)将E-R图转换成关系模型。
转换为等价的关系模式结构如下:
商店(店号,店名,店址,店经理)
商品(商品号,品名,单价,产地)
职工(工号,姓名,性别,工资,店号,开始时间)
经营(店号,工号,月销售量)
3.某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包括以下信息:
代表团:团编号、地区、住所
运动员:运动员编号、姓名、年龄、性别
比赛项目:项目编号、项目名、级别
项目类别:类别编号类别名、主管
其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。
(1)试为该锦标赛的比赛情况设计一个ER图
(2)将E-R图转换成关系模型,并注明主键和外键。
解:满足上述需求的ER图如图所示:
转换为等价的关系模式结构如下:
代表团(团编号,地区,住所)
运动员(编号,姓名,年龄,性别,团编号)
比赛项目(项目编号,项目名,级别,类别编号)
项目类别(类别编号,类别名,主管)
参加(运动员编号,项目编号,成绩,名次)
4.学校有若干个系,每个系有各自的系号、系名和系主任;每个系有若干名教师和学生,教师有教师号、教师名
和职称属性,每个教师可以担任若干门课程,一门课程只能由一位教师讲授,课程有课程号、课程名和学分,学生有学号、姓名、年龄、性别,每个学生可以同时选修多门课程,选修有分数。
(1)试为此学校设计一个ER图
(2)将E-R图转换成关系模型。
转换为等价的关系模式结构如下:
系(系号,系名,系主任)
教师(教师号,教师名,职称,系号)
学生(学号,姓名,年龄,性别,系号)
课程(课程号,课程名,学分,教师号)
选修(学号,课程号,分数)
5.假定一个部门的数据库包括以下的信息:
职工:职工号、姓名、住址
部门:部门名、经理
产品:产品号、产品名、价格、型号
制造商:制造商编号、制造商名称、地址、联系电话
其中,一个部门拥有多名职工,一个职工只能属于一个部门;一个部门可以销售多种产品,每种产品可由多个部门来销售;每种产品可由多家制造商来生产,每家制造商又生产多种产品。
完成如下设计:
(a)设计该数据库系统的E-R图;
(b)将E-R模型转换成关系模型。
转换为等价的关系模式结构如下:
职工(职工号,姓名,住址,部门名)
部门(部门名,经理)
产品(产品号,产品名,价格,型号)
制造商(制造商编号,名称,住址,联系电话)
销售(部门名,产品号)
生产(制造商编号,产品号)
6.某医院病房计算机管理中需要如下信息:
(1)科室:科名,科地址,科电话
(2)病房:病房号,床位数
(3)医生:姓名,职称,年龄,工作证号
(4)病人:病历号,姓名,性别
其中,一个科室有多个病房、多个医生,—个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个
病人的诊治,一个病人的主管医生只有一个,而且一个病人只能住在一个病房中,一个病房可以有多个病人入住。
完成如下设计:
(a)设计该计算机管理系统的E-R图;
(b)将E-R模型转换成关系模型,并指出每个关系的主码和外码(主码加单下划线表示,外码用双下划线表示)。
对应的关系模式结构:
科室(科名,科地址,科电话)
病房(病房号,床位数,科室名)
医生(工作证号,姓名,职称,年龄,科室名)
病人(病历号,姓名,性别,诊治,医生工作证号,病房号)。