数据库ER图
- 格式:doc
- 大小:137.00 KB
- 文档页数:5
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⽅,如学⽣表⾥的所在班级这个外键。
网上服装商店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))。
数据库ER图PowerDesigner⼀、概念数据模型概述数据模型是现实世界中数据特征的抽象。
数据模型应该满⾜三个⽅⾯的要求:1)能够⽐较真实地模拟现实世界2)容易为⼈所理解3)便于计算机实现概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这⼀理论进⾏了扩充。
它从⽤户的观点出发对信息进⾏建模,主要⽤于数据库的概念级设计。
通常⼈们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。
换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系 (Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个 DBMS所⽀持的数据模型,这样的模型就是物理数据模型,即PDM。
CDM是⼀组严格定义的模型元素的集合,这些模型元素精确地描述了系统的静态特性、动态特性以及完整性约束条件等,其中包括了数据结构、数据操作和完整性约束三部分。
1)数据结构表达为实体和属性;2)数据操作表达为实体中的记录的插⼊、删除、修改、查询等操作;3)完整性约束表达为数据的⾃⾝完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等);⼆、实体、属性及标识符的定义实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。
例如,学校中的每个学⽣,医院中的每个⼿术。
每个实体都有⽤来描述实体特征的⼀组性质,称之为属性,⼀个实体由若⼲个属性来描述。
如学⽣实体可由学号、姓名、性别、出⽣年⽉、所在系别、⼊学年份等属性组成。
实体集(Entity Set)是具体相同类型及相同性质实体的集合。
例如学校所有学⽣的集合可定义为“学⽣”实体集,“学⽣”实体集中的每个实体均具有学号、姓名、性别、出⽣年⽉、所在系别、⼊学年份等性质。
实体类型(Entity Type)是实体集中每个实体所具有的共同性质的集合,例如“患者”实体类型为:患者{门诊号,姓名,性别,年龄,⾝份证号.............}。
简述er图的绘制方法
**
ER图是实体关系图,是数据库设计中最有用的工具之一,是以符号的形式表达数据库设计模型的图表。
它可以从复杂的关系中提炼出结构,决定系统的层次结构,便于更好地理解和设计数据库系统。
ER图的绘制一般需要一系列的步骤,这样才能更好地完整地表达复杂关系,步骤如下:
1. 收集系统信息:要开始绘制ER图,第一步必须收集要表示的实体,这些实体之间的关系及其属性。
这是ER图的基础,而收集系统的信息有助于明确业务需求,因此在开始画ER图之前,最好先做一个信息集合。
2. 建立实体:绘制ER图的核心是实体,因此要绘制ER图,我们需要一张实体表,它清楚地列出了每一个实体及其属性。
在表中,可以为实体添加名字、属性和类型信息,以便后续比较容易地开展ER图绘制。
3. 建立关系:根据建立的实体之间的联系,绘制ER图时需要建
立关系,它有助于表述实体之间的关系,也有助于表述实体的属性,
形成实体的完整的图形。
4. 确定属性:实体的每一个属性都有不同的属性值,绘制ER图
时需要根据业务需求确定,并将属性列入ER图中。
5. 完善ER图:在完成ER图绘制后,考虑图形美观以及算法优化
等问题,以便最终完善ER图,使它能够更加精准地描述实体及其关系。
总之,ER图的绘制需要认真细致,关注实体及其属性,清楚实体
间的关系,审查实体属性之间的联系,最后确保满足算法的要求。
实体关系图(E-R图)基本概念详解E-R图,也称为实体关系图,⽤于显⽰实体集之间的关系。
它提供了⼀种表⽰实体类型、属性和连接的⽅法;⽤来描述现实世界的概念模型。
ER模型是数据库的设计或蓝图,将来可以作为数据库来实现。
在E-R图中,实体集是⼀组相似的实体(数据模型中的数据对象),它们可以有属性。
在数据库系统中,实体是数据库中的表或属性,因此ER图通过显⽰表和它们的属性之间的关系来显⽰数据库的完整逻辑结构。
[视频教程推荐:MySQL教程]电⼦病历图的组成:1.实体实体表⽰数据模型中的数据对象或组件。
例如,⼈、学⽣和⾳乐都可以被视为数据对象。
在电流变图中⽤矩形表⽰。
数据模型中有⼀个特殊的实体:弱实体,它不能通过⾃⾝的属性唯⼀识别,并且依赖于与其他实体的关系。
在电流变图中,弱实体⽤双矩形表⽰。
注意:每个实体都有⾃⼰的实体成员或实体对象,但是这些成员或对象不需要出现在er图中。
2.属性属性代表⼀个实体的属性,如⼀个⼈的姓名、年龄、地址和其他属性;在电流变图中⽤椭圆表⽰,有四种类型的属性:1. 关键属性:可以唯⼀标识实体集内的实体2. 复合属性:属于其他属性组合的属性从上图可以看出,“学⽣⼈数”是关键属性;“地址”是⼀个复合属性,因为“地址”也由其他属性组成,如省、市和区/县。
3)多值属性:可以包含多个值的属性称为多值属性,⽤双椭圆表⽰。
4)派⽣属性:该值是动态的,从另⼀个属性派⽣⽽来,⽤点椭圆表⽰。
3.关系关系⽤于表⽰实体之间的关系,在ER图中⽤菱形表⽰。
有四种类型的关系:1. ⼀对⼀2. ⼀对多3. 多对⼀4. 多对多电⼦病历图⽰例:总结:以上是本⽂的全部内容,希望对⼤家的学习有所帮助。
以上是什么是E-R图的详细内容,等等到此这篇关于实体关系图(E-R图)基本概念详解的⽂章就介绍到这了,更多相关实体关系图(E-R图)基础内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章,希望⼤家以后多多⽀持!。
数据库设计——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 具有⼀对⼀的联系。
数据库设计的基本步骤(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模型来进行概念模型的设计通常分两步进行,首先是建立局部概念模型,然后综合局部概念模型,成为全局概念模型。
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模型转换成关系模型,并指出每个关系的主码和外码(主码加单下划线表示,外码用双下划线表示)。
对应的关系模式结构:
科室(科名,科地址,科电话)
病房(病房号,床位数,科室名)
医生(工作证号,姓名,职称,年龄,科室名)
病人(病历号,姓名,性别,诊治,医生工作证号,病房号)。