数据库概念设计ER图
数据库设计及ER图
数据库设计及ER图1.数据库设计流程数据库作为数据的一个容器,不但对程序的performance有很大的影响,而且对应用程序的扩展有非常大的影响.所以对应用程序来说,一个具有良好设计的数据库是非常重要的.那么如何才能设计出性能好,又支持扩展的数据库呢?这是我们大家都要去探索的问题.现在有很多版本的数据库设计的流程.然而这也只是目前阶段能设计出一个比较好的数据库的一个途径.更好更优的数据库设计流程是我们追求的目标.但是现在,我们先来了解下目前阶段标准的数据库设计流程.以助于我们在开发应用程序的时候能用到.先来看下一张数据设计流程图上图是数据库设计一个比较标准的流程图.我们就针对这个流程来讲解数据库设计各个阶段.需求分析阶段1我们在需求阶段注意两点:1:考虑到可能的扩充和修改,是设计能易于修改和扩展2:强调客户参与:目的有几个:更好的理解客户的需求,了解客户的对程序安全性和完整性的要求,以及用户的处理需求.概念结构设计阶段在这个阶段我们要设计出能真实反应客观事物的模型,同时让设计的模型能易于理解,易于扩展,能方便的向其他数据库转移.逻辑结构设计1:作为对象信息的属性,必须具有原子性的.也就是.我们在画ER图的时候,对象间的关系必须是实体之间的关系,不能是属性和实体的关系.2:确定数据之间的依赖关系(要极小化出来各个关系,消除冗余),同时要按照数据依赖理论对关系模型进行检查.数据库物理设计阶段数据的存储结构以及配置数据库实施阶段定义数据库的结构,数据的装载,以及数据库的试运行.数据库运行和维护阶段要注意数据的转储和恢复,数据库的安全性和完整性控制.数据库的性能的监督,分析和改造以及数据库的重构2.数据库设计范式第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。
例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:一是重复存储职工号和姓名。
数据库概念设计ER图.
其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可安装于多艘舰艇之上;一艘舰艇有多名官兵,一名官兵只属于一艘舰艇。要求完成如下设计:
(1.分别设计舰队和舰艇两个局部ER图;
舰队
舰艇
(2.将上述两个局部ER图合并成一个全局ER图;
(3.将该全局ER图转换为关系模式;
●制造商生产多种产品,其它制造商也制造这些产品。
●画ER图
第四题:画ER图
●科室:科名、科地址、科电话、医生姓名
●病房:病房号、床位号、所属科室名
●医生:姓名、职称、所属科室名、年龄、工作证号
●病人病历号、姓名、性别、诊断、主臂医生、病房号
⏹一个科室有多个病房、多个医生;
⏹一个病房只能属于一个科室;
(1.试画出E-R图。
(2.将该E-R图转换成关系模式,并指出主码和外码。
商店
销售
第七题:画ER图
海军某部要建立一个舰队信息系统,它包括如下两方面的信息:
1.舰队方面
舰队:舰队名称、基地地点
舰艇:编号、舰艇名称、所属舰队
2.舰艇方面
舰艇:舰艇编号、舰艇名、武器名称
武器:武器编号、武器名称、武器生产时间、舰艇编号
零件
车间产品
仓库零件
第九题:画ER图
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:
(1画出E-R图
(2将E-R图转换成关系模式,并指出每个关系模式的主键(加
数据库概念设计——ER图
第一题:参考
数据库设计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图的绘制与转换
2. a) b) c) d) e) f)
g)
设计E-R图的步骤 把所存储的全部基本数据项都作为属性 弄清楚这些属性描述了哪些主实体 确定有什么联系 “的”联系与从实体同时确定 画出子E-R图的草图 向上归并得各层子E-R图,直到全系统的 E-R图 E-R草图的优化--得到基本的E-R图
练习: 练习:设计E-R图。基本项如下: 货号,货名,型号,规格,计量单位; 员工号,姓名,性别,生日,职务,住址, 电话; 客户号,客户名,地址,信誉度,联系人, 邮编,电话; 提货单号,日期,时间,经手员工号,提货 客户号,所提货号,售价,提货数量;
从ER图导出一般关系模型的基本原则 图导出一般关系模型的基本原则
原则1:ER图中的每一个独立实体变换为一 原则 个关系,其属性变为关系的属性,其主标识 变为关系的主码。
从ER图导出一般关系模型的基本原则 图导出一般关系模型的基本原则
原则2: 原则 :ER图中的从实体及相应的“的”联 系变换为一个关系,从实体的属性加上主实 体关系的主码构成这个关系的属性。如果“ 的”联系是1:1的,则以主实体关系的主码 (作为外来码)为这个关系的主码;如果“ 的”联系是1:M的,则以主实体关系的主码 加上同一主实体个体联系的不同从属实体个 体赖以相互区分的属性组,组成该关系的主 码。
属性(Attribute)
例如,学生“学”某门课程所取得的成绩, 既不是学生的属性也不是课程的属性。由于 “成绩”既依赖于某名特定的学生又依赖于 某门特定的课程,所以它是学生与课程之间 的联系“学”的属性,是“学”的结果。在 ERD中用椭圆形或圆角矩形表示实体(或联 系)的属性,并用无向边把实体(或联系) 与其属性连接起来。
实体之间的联系 实体之间的联系是指两类不同实体的个体 之间的关联。 联系可分如下几种类型: 一对一联系(1:1):如果R使得A中的每 个实体,B中至多有一个实体与之对应, 反之亦然,则称R是A与B之间的一对一 联系,记作1:1。
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:每一个联系集转换成一个关系, 该联系集自身所 拥有的属性,加入到该关系中去,而该关系的主关键字由 该联系集所联系的实体集的关键字组成。
数据库设计中的关系图模型与ER图模型
数据库设计中的关系图模型与ER图模型在数据库设计中,关系图模型与实体关系(ER)图模型是两种常用的数据建模方法。
关系图模型使用关系型数据表来表示实体间的联系,而ER图模型使用实体、联系和属性的图形符号表示。
本文将深入探讨这两种模型,并比较它们的特点和适用场景。
1. 关系图模型关系图模型是基于关系代数原理的一种数据建模方法。
在关系图模型中,数据存储在表中,每个表代表一个实体类,而实体类的属性则对应着表中的列。
关系图模型使用外键来表示实体之间的联系,外键是指一个表中的列引用了另一个表的主键。
通过使用关联关系,可以将多个表连接在一起,形成更复杂的数据模型。
优点:1. 结构简单直观:关系图模型使用表格形式表示数据,易于理解和使用。
2. 灵活性高:关系图模型允许在表之间建立复杂的关联关系,方便扩展和修改数据库模型。
3. 数据一致性强:关系图模型通过外键关系确保数据的完整性和一致性。
缺点:1. 难以处理复杂关系:对于多对多关系、继承关系等复杂的数据模型,关系图模型的表格形式可能不够灵活。
2. 性能受限:关系图模型在处理大规模数据集和复杂查询时性能可能受到影响。
适用场景:关系图模型适用于简单的数据模型,例如商店库存管理系统、学生信息管理系统等。
这些系统的数据结构相对简单,关系图模型足以满足其需要。
2. 实体关系(ER)图模型实体关系(ER)图模型在数据库设计中应用广泛。
ER图模型使用图形符号来表示实体、联系和属性之间的关系。
其中,实体代表一种具体的事物,联系表示不同实体之间的关系,属性则是实体和联系的特征或描述。
优点:1. 可视化直观:ER图模型使用图形符号表示实体、联系和属性之间的关系,直观易懂。
2. 表达能力强:ER图模型能够准确地表达实体之间的各种关系,如一对一、一对多、多对多等。
3. 数据结构灵活:ER图模型可以灵活地应对复杂的数据结构,如继承关系、嵌套关系等。
缺点:1. 抽象性强:ER图模型相对于关系图模型较为抽象,需要一定的学习成本。
关于ER图和UML图之间的对比
关于ER图和UML图之间的对⽐ER图:实体-联系图(Entity-Relation Diagram)⽤来建⽴数据模型,在数据库系统概论中属于概念设计阶段,ER图提供了表⽰实体(即数据对象)、属性和联系的⽅法,⽤来描述现实世界的概念模型构成E-R图的基本要素是实体、属性和联系,其表⽰⽅法为: 实体型:⽤矩形表⽰,矩形框内写明实体名; 属性:⽤椭圆形或圆⾓矩形表⽰,并⽤⽆向边将其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线; 联系:⽤菱形表⽰,菱形框内写明联系名,并⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标上联系的类型 在E-R图中要明确表明1对多关系,1对1关系和多对多关系。
1对1关系在两个实体连线⽅向写1; 1对多关系在1的⼀⽅写1,多的⼀⽅写N; 多对多关系则是在两个实体连线⽅向各写N,M统⼀建模语⾔UMLER图与UML图中UML是⼀种定义良好、易于表达、功能强⼤且普遍适⽤的建模语⾔。
它溶⼊了软件⼯程领域的新思想、新⽅法和新技术。
它的作⽤域不限于⽀持⾯向对象的分析与设计,还⽀持从需求分析开始的软件开发的全过程。
⾯向对象技术和UML的发展过程可⽤上图来表⽰,标准建模语⾔的出现是其重要成果。
在美国,截⽌1996年10⽉,UML获得了⼯业界、科技界和应⽤界的⼴泛⽀持,已有700多个公司表⽰⽀持采⽤UML作为建模语⾔。
1996年底,UML已稳占⾯向对象技术市场的85%,成为可视化建模语⾔事实上的⼯业标准。
1997年11⽉17⽇,OMG采纳UML1.1作为基于⾯向对象技术的标准建模语⾔。
UML代表了⾯向对象⽅法的软件开发技术的发展⽅向,具有巨⼤的市场前景,也具有重⼤的经济价值和国防价值。
ER图与UML图中UML的内容⾸先,UML融合了Booch、OMT和OOSE⽅法中的基本概念,⽽且这些基本概念与其他⾯向对象技术中的基本概念⼤多相同,因⽽,UML必然成为这些⽅法以及其他⽅法的使⽤者乐于采⽤的⼀种简单⼀致的建模语⾔;其次,UML不仅仅是上述⽅法的简单汇合,⽽是在这些⽅法的基础上⼴泛征求意见,集众家之长,⼏经修改⽽完成的,UML扩展了现有⽅法的应⽤范围;第三,UML是标准的建模语⾔,⽽不是标准的开发过程。
数据库设计与实现-基础ER图
数据库设计的重要性
数据库设计是信息系统开发的关键环节,它决定了数据存储和检索的效率,以及 数据的一致性、完整性和安全性。
良好的数据库设计可以提高应用程序的性能、可维护性和可扩展性,同时降低开 发和维护成本。
数据库设计的重要性
数据完整性的考虑
总结词
数据完整性是ER图设计的重要考虑因素,需要确保数据的准确性和一致性。
详细描述
在ER图设计中,需要考虑数据完整性,包括实体完整性、参照完整性和用户自定义完整性。例如,可 以通过设置主键、外键等约束来保证数据的准确性和一致性。同时,也可以通过触发器、存储过程等 方式来实现更复杂的数据完整性要求。
定义关系属性
当两个实体之间存在关系时,可能需 要定义关系的属性。这些属性描述了 关系的特征。在ER图中,关系属性通 常表示为菱形,并标注属性名称。
数据完整性的实现
实体完整性
实体完整性是指确保每个实体的唯一性。在ER图中,通过为主键添加下划线来标识主键 ,确保每个实体在数据库中具有唯一的标识符。
参照完整性
03
ER图在数据库设计中的应用
03
ER图在数据库设计中的应用
确定实体类型
确定实体类型
在ER图中,首先需要确定实体类型 ,即数据库中的表。实体类型通常表 示为矩形,并标注实体类型的名称。
识别实体属性
每个实体类型都有一组属性,这些属 性描述了实体的特征。在ER图中,实 体类型的属性通常表示为实体的椭圆 ,并标注属性名称。
每个人都会有中间名。
06
如何将ER图转化为数据库模式
06
如何将ER图转化为数据库模式
数据库关系er模型图
数据(Data):描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等多种表现形式,它们都可以经过数字化后存入计算机。
数据与信息的关系
数据与信息是两个既有联系、又有区别的概念。数据是信息的载体,信息则是对数据加工的结果,是对数据的解释。
计算机系统的每项操作,均是对数据进行某种处理、数据输入计算机后,经存储、传送、排序、计算、转换、检索、制表及仿真等操作,输出人们需要的结果,即产生信息。
数据库是数据管理的新方法和技术,它能够更合理地组织数据、更方便地维护数据、更严密地控制数据和更有效地利用数据。
数据库应满足各种用户的不同需要
批处理用户,也称为应用程序用户。这类用户使用程序设计语言编写应用程序,对数据进行检索、插入、修改等操作,并产生数据输出
联机用户,或称终端用户。终端用户可使用简单的终端命令或查询语言对数据库进行存取操作。
(7)联系(Relationship)
两个实体型之间的联系可以分为三类:
一对一联系( 1 : 1 )
一对多联系( 1 : n ) 多对多联系( m : n )
概念模型的表示方法
02
04
01
首先确定实体类型。
02
确定联系类型(1:1,1:N,M:N)。
03
把实体类型和联系类型组成E-R图。
数据库管理系统(DataBase Management System,简称DBMS)
数据库管理系统位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面:
数据定义功能
数据操纵功能
数据库的运行管理
数据库的建立和维护功能
数据库系统(DataBase System,简称DBS) 数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(Data Base Administrator,简称DBA)
Powerdesigner数据库建模--概念模型--ER图
Powerdesigner数据库建模--概念模型--ER图⽬标:本⽂主要介绍PowerDesigner中概念数据模型 CDM的基本概念。
⼀、概念数据模型概述数据模型是现实世界中数据特征的抽象。
数据模型应该满⾜三个⽅⾯的要求:1)能够⽐较真实地模拟现实世界2)容易为⼈所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这⼀理论进⾏了扩充。
它从⽤户的观点出发对信息进⾏建模,主要⽤于数据库的概念级设计。
通常⼈们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所⽀持的数据模型,这样的模型就是物理数据模型,即PDM。
CDM是⼀组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。
1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插⼊、删除、修改、查询等操作;3)完整性约束表达为数据的⾃⾝完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);⼆、实体、属性及标识符的定义实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。
例如,学校中的每个学⽣,医院中的每个⼿术。
每个实体都有⽤来描述实体特征的⼀组性质,称之为属性,⼀个实体由若⼲个属性来描述。
如学⽣实体可由学号、姓名、性别、出⽣年⽉、所在系别、⼊学年份等属性组成。
实体集(Entity Set)是具体相同类型及相同性质实体的集合。
例如学校所有学⽣的集合可定义为“学⽣”实体集,“学⽣”实体集中的每个实体均具有学号、姓名、性别、出⽣年⽉、所在系别、⼊学年份等性质。
数据库建模ER图
如何将E-R关系转化成数据库表2
如何将E-R关系转化成数据库表3
数据规范化(Normalization)
第一范式(1st NF )
第二范式(2st NF )
第三范式(3st NF )
规范化实例1
规范化实例2
应用范式规范化设计
应用第二范式规范化设计
应用第三范式规范化设计
规范化和性能关系
综合训练2
某企业集团有若干工厂,每个工厂生产多种产品,且每一 种产品可以在多个工厂生产,每个工厂按照固定的计划数 量生产产品,计划数量不低于300; 每个工厂聘用多名职工,且每名职工只能在一个工厂工作, 工厂聘用职工有聘期和工资。 工厂的属性有工厂编号、厂名、地址 产品的属性有产品编号、产品名、规格 职工的属性有职工号、姓名、技术等级。请: (1)该集团进行概念设计,画出E-R图。 (2)E-R图转换成关系模式,并指出每个关系模式的主 键和外键。
解答1
建表语句1
CREATE TABLE 发表 (姓名 CHAR(7) NOT NULL, 题目 CHAR(6) NOT NULL, 顺序号 INT DEFAULT NULL, PRIMARY KEY (姓名, 题目), FOREIGN KEY (姓名) REFERENCES 论文 ON DELETE CASCADE, FOREIGN KEY (题目) REFERENCES 作者 ON DELETE RESTRICT);
如何将er关系转化成数据库表2如何将er关系转化成数据库表2如何将er关系转化成数据库表3如何将er关系转化成数据库表3数据规范化normalization数据规范化normalization第一范式1stnf第一范式1stnf第二范式2stnf第二范式2stnf第三范式3stnf第三范式3stnf规范化实例1规范化实例1规范化实例2规范化实例2应用范式规范化设计应用范式规范化设计应用第二范式规范化设计应用第二范式规范化设计应用第三范式规范化设计应用第三范式规范化设计规范化和性能关系规范化和性能关系小结1小结1小结2小结2为了设计良好的数据库需要遵守一些专门的规则称为数据库的设计范式第二范式2nf的目标
数据库ER图讲解课件
6
2.1 基本概念
(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系
两个实体型间联系可以分为三类:
一对一联系(1:1) 一对多联系(1:n) 多对多联系(m:n)
n联系关系一般是动词属性一般是名词实体一般是名词含义符号1主任系管理1姓名年龄学历编号系编号系名任职时间1仓库商品存放n地点面积仓库号商品号价格数量商品名m教师课程讲授n教师名职称教师号课程号班级质量课程名仓库工程项目零件供应商保存供应项目仓库零件供应商需要1nnmnm零件颜色数量保存供应项目仓库零件供应商需要1nnmnm项目编号项目名称立项日前零件型号零件名零件重量供应商名供应商号联系方式仓库编号仓库名所在地面积研究所有若干个研究室每一个研究室多位科研人员在指定的办公地点
仓库,工程项目,零件,供应商 。
仓库
工程项目
零件
供应商
24
E-R图实例:某工厂物资管理E-R图 • Step2 确定联系类型。
项目和零件之间是M:N联系 零件 和 供应商之间也是M:N联系 仓库与零件关系是一对多关系1:N
25
E-R图实例:某工厂物资管理E-R图 • Step3 把实体类型和联系类型组合成ER图。
……
课程号 1 2 3 2 3
……
成绩 92 85 88 90 80 ……
课程 m 选修
n 学生
m:n联系
成绩
45
同样两个实体,如果赋予不同的语 义则有不同的设计结果。也就是说我们在概 念模型中讨论实体之间的联系类型直接影响 着目标数据库的设计结果和设计质量。
第二章_数据库设计和ER图(2)
E-R图向关系模型的转换
E-R图向关系模型的转换要解决的问题
如何将实体型和实体间的联系转换为关系模式
如何确定这些关系模式的属性和码
转换内容
将E-R图转换为关系模型:将实体、实体的属性和 实体之间的联系转换为关系模式。
E-R图 向 关系模型的转换
转换过程中的主要问题:
E-R图: 实体 实体的属性 实体间的联系
如果该结构不符合用户需求,则需要修改设计
2.1.6 数据库的实现
1 定义数据库
2 数据的载入 3 编制和调试应用程序 4 数据库的试运行
数据的载入
数据库结构建立好后,就可以向数据库中装载数据了。组
织数据入库是数据库实施阶段最主要的工作。
数据装载方法 人工方法
计算机辅助数据入库
同一实体在不同分E-R图中所包含的属性个数
和属性排列次序不完全相同
实体之间的联系在不同局部视图中呈现不同的
类型
全局ER模型优化
优化原则 合并实体类型 消除冗余属性 消除冗余联系
消除不必要的冗余,设计生成基本E-R图 分E-R图 合并 初步E-R图
消除不必要的冗余
可能存在冗余的数据 和冗余的实体间联系
一个关系模式。 关系的属性:与该多元联系相连的各实体的码 以及联系本身的属性 关系的码:各实体码的组合
课程号 课时
课程
数据库设计——ER图
数据库设计——ER图 E-R图也称实体—联系图,提供了表⽰实体类型、属性和联系的⽅法⽤来描述现实世界的概念模型。
它是描述现实世界关系概念模型的有效⽅法。
是表⽰概念关系模型的⼀种⽅式。
⽤“矩形框”表⽰实体型,矩形框内写明实体名称;⽤“椭圆图框”或圆⾓矩形表⽰实体的属性,并⽤“实⼼线段”将其与相应关系的“实体型”连接起来;⽤“菱形框”表⽰实体型之间的联系成因,在菱形框内写明联系名,并⽤“实⼼线段”分别与有关实体型连接起来,同时在“实⼼线段”旁标上联系的类型(1:1,1:n或m:n)。
构成E-R图的3个基本要素是实体型、属性和联系,其表⽰⽅法为: 实体:⼀般认为,客观上可以相互区分的事情就是实体,实体可以是具体的⼈和物,也可以是抽象的概念与联系。
关键在于⼀个实体能与另⼀个实体相区别,具有相同属性的实体具有相同的特征和性质。
⽤实体名及其属性名集合来抽象和刻画同类实体。
在E-R图中⽤矩形表⽰,矩形框内写明实体名;⽐如学⽣张三、学⽣李四都是实体。
如果是弱实体的话,在矩形外⾯再套实线矩形。
属性:实体所具有的某⼀特性,⼀个实体可由若⼲个属性来刻画。
属性不能脱离实体,属性是相对实体⽽⾔的。
在E-R图中⽤椭圆形表⽰,并⽤⽆向边将其与相应的实体连接起来;⽐如学⽣的姓名、学号、性别、都是属性。
如果是多值属性的话,在椭圆形外⾯再套实线椭圆。
如果是派⽣属性则⽤虚线椭圆表⽰。
联系:联系也称关系,信息世界中反映实体内部或实体之间的关联。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中⽤菱形表⽰,菱形框内写明联系名,并⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标上联系的类型(1 : 1,1 : n或m : n)。
⽐如⽼师给学⽣授课存在授课关系,学⽣选课存在选课关系。
如果是弱实体的联系则在菱形外⾯再套菱形。
⼀般性约束 实体-联系数据模型中的联系型,存在3种⼀般性约束:⼀对⼀约束(联系)、⼀对多约束(联系)和多对多约束(联系),它们⽤来描述实体集之间的数量约束: (1)⼀对⼀联系(1:1):对于两个实体集A和B,若A中的每⼀个值在B中⾄多有⼀个实体值与之对应,反之亦然,则称实体集A和B 具有⼀对⼀的联系。
数据库设计-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模型来进行概念模型的设计通常分两步进行,首先是建立局部概念模型,然后综合局部概念模型,成为全局概念模型。
数据库ER图模型PPT课件
.
7
基本概念
码(Key)
能唯一标识实体的属性或属性组称作超码
超码的任意超集也是超码
其任意真子集都不能成为超码的最小超码称为候 选码
从所有候选码中选定一个用来区别同一实体集中 的不同实体,称作主码
一个实体集中任意两个实体在主码上的取值不能 相同
如学号是学生实体的码
通讯录(姓名,邮编,地址,电话,Email,BP)
.
4
基本概念
实体(Entity)
客观存在并可相互区分的事物叫实体
如学生张三、工人李四、计算机系、数据库概论
属性(Attribute)
实体所具有的某一特性
一个实体可以由若干个属性来刻画
例如,学生可由学号、姓名、年龄、系等组成
域(Domain)
属性的取值范围
例如,性别的域为(男、女),月份的域为1到 12的整数
.
46
弱实体集
弱实体集与存在依赖
弱实体集必然存在依赖于强实体集(Strong Entity Set)
存在依赖并不总会导致一个弱实体集,从属实体 集可以有自己的主码
如实体集信用卡(信用卡号,客户帐号,金额), 它存在依赖于客户帐号实体集,但信用卡有自己 的主码信用卡号
.
47
弱实体集
分辨符(Discriminator)
如电话号码=区号+本地号码 出生日=年+月+日
学生
1NF Vs 嵌套关系
姓名
年龄
区号
本地号码
.
17
属性的类型
单值属性
每一个特定的实体在该属性上的取值唯一 如学生的学号,年龄、性别、系别等
多值属性
某个特定的实体在该属性上的有多于一个的取值 如学生(学号,所选课程,联系电话)
ER图与qut
ER图与qut
1、ER实体-联系图(Entity-Relation Diagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。
通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。
ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。
2、ER模型最早由Peter Chen于1976年提出,它在数据库设计领域得到了广泛的认同,但很少用作实际数据库管理系统的数据模型。
即使对SXL-92数据库来说,设计好的数据库也是具有挑战性的。
它们可以在许多关于数据库设计的文献中找到,比如Toby Teorsey的著作(1994)。
大部分数据库设计产品使用实体-联系模型(ER模型)帮助用户进行数据库设计。
ER数据库设计工具提供了一个“方框与箭头”的绘图工具,帮助用户建立ER图来描绘数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2)将ER图转换成关系模式,并指出每个关系模式的主键和外键。
(1).分别设计舰队和舰艇两个局部ER图;
(2).将上述两个局部ER图合并成一个全局ER图;
(3).将该全局ER图转换为关系模式;
(4).合并时是否存在冲突,如何处理?
关系模式
舰队
舰队名称
基地地点
舰艇
舰艇编号
舰艇名称
舰队名称
舰艇数量
官兵
官兵证号
姓名
舰艇编号
武器
武器名称
武器生产时间
安装
舰艇编号
武器名称
部门销售多种产品,这些产品也在其它部门销售;
制造商生产多种产品,其它制造商也制造这些产品。
画ER图
第四题
科室:科名、科地址、科电话、医生姓名
病房:病房号、床位号、所属科室名
医生:姓名、职称、所属科室名、年龄、工作证号
病人病历号、姓名、性别、诊断、主臂医生、病房号
一个科室有多个病房、多个医生;
一个病房只能属于一个科室;
数据库概念设计
ER图
注:提交时,将文件名命名为(数据库系统概论ER图练习:学号+姓名+日期)
第一题
大学实行学分制,学生可根据自己的情况选课。每名学生可同时选修多门课程,每门课程可由多位教师主讲;每位教师可讲授多门课程。
指出学生与课程的联系类型。
指出课程与教师的联系类型。
若每名学生有一位教师指导,每个教师指导多名学生,则学生与教师是何联系?
第九题
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:
(1)画出E-R图
(2)将E-R图转换成关系模式,并指出每个关系模式的主键(加
下划线)和外键(加波浪线)。
(4).一个车间生产多种零件,一个零件也可能由多个车间制造。零件有零件号、重量和价格。
(5).一个产品由多种零件组成,一种零件也可装配出多种产品。
(6).产品与零件均分类存贮在特定仓库中。
(7).厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。
要求:
(1).画出该系统的E-R图。
(2).给出相应的关系模式,并标出关系的码。
一个医生只属于一个科室,但可负责多个病人的诊治;
一个病人的主管医生只有一个。
完成如下设计:
设计该计算机管理系统的E-R图。
将该E-R图转换为关系模式结构。
指出转换结果申每个关系模式的候选码。
第五题
某田径运动会组委会需要一运动会管理系统,现提出如下需求。该系统中存在运动队和运动会两方面的实体。
1.运动队方面
要求:
(1)试画出ER图,并在图上注明属性、联系类型;
(2)将ER图转换成关系模式,并说明主键和外键。
第十二题
在校田径运动会中设置了各类比赛,每一比赛类别有类别编号、类别名称和主管等属性,每一比赛类别包含很多比赛项目;每一比赛项目有项目编号、项目名称、比赛时间和级别等属性;各个系团队有团编号、团名称、领队等属性,每一代表团有多名运动员组成,运动员有编号,姓名,年龄,性别等属性;每一名运动员可以参加多个比赛项目,每一比赛项目也有多名运动员参加,运动员参加比赛有成绩属性,成绩限定在0~7分。
运动队:队名、教练姓名
队员:编号、姓名、性别、项名
其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练,一个队员可参加多个项目
2.运动会方面
运动队:队编号、队名、教练姓名
项目:项目名、参加运动队编号、场地
其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比赛场地。
第八题
某集团公司需要建立一个数据库存储以下信息:
(1).该集团公司由多个工厂组成,每个工厂具有厂名和厂长名两个属性;一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和电话。
(2).一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种。
(3).一个车间生产多种产品,产品有产品号和价格。
(1)该集团进行概念设计,画出E-R图。
(2)E-R图转换成关系模式,并指出每个关系模式的主键和外键。
关系模式
工厂
编号
厂名
地址
产品
产品编号
产品名
规格编号Biblioteka 职工号姓名技术等级
编号
第十一题
设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机使用。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。
(1).试画出E-R图。
(2).将该E-R图转换成关系模式,并指出主码和外码。
第七题
海军某部要建立一个舰队信息系统,它包括如下两方面的信息:
1.舰队方面
舰队:舰队名称、基地地点
舰艇:编号、舰艇名称、所属舰队
2.舰艇方面
舰艇:舰艇编号、舰艇名、武器名称
武器:武器编号、武器名称、武器生产时间、舰艇编号
官兵:官兵证号、姓名、舰艇编号
其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可安装于多艘舰艇之上;一艘舰艇有多名官兵,一名官兵只属于一艘舰艇。要求完成如下设计:
关系模式
论文
题目
题刊号
年份
日期
作者
姓名
单位
年龄
期刊号
第十题
某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品,计划数量不低于300;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术等级。请:
在原E-R图上补画教师与学生的联系,并完善E-R图。
第二题
单位
单位号
地址
电话
职工
职工号
姓名
性别
年龄
单位号
第三题
职工:职工号、姓名、地址和所在部门
部门:部门所有职工、部门名、经理和销售的产品
产品:产品名、制造商、价格、型号和产品内部编号
制造商:制造商名称、地址、生产的产品名和价格
部门有很多职工,职工仅在一个部门工作;
现要求:(1).分别设计运动队和运动会的局部ER图。
(2).将它们合并为一个全局E-R图。
第六题
上海可的商业连锁集团需要建立信息系统。该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。