数据库ER图

合集下载

数据库概念设计ER图.

数据库概念设计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图

数据库设计ER图
第19页/共72页
数据抽象(续)
聚集
第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图是啥?

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、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图

ER图

(2) 1: n联系的转换方法 n联系的转换方法 通常将1:n联系与n端实体转换得到的关系合并, 在n端实体对应的关系中增加联系本身的属性和 一端实体对应关系的主键,新增属性后,n端实 体对应关系的主键保持不变。
1 供应商 供应
n 产品
1: n联系的转换 n联系的转换
供应商(供应商ID,公司名称,联系人姓名, 供应商(供应商ID,公司名称,联系人姓名,联 ID 系人职务,地址,城市,地区,邮政编码,国家, 系人职务,地址,城市,地区,邮政编码,国家, 电话,传真,主页) 电话,传真,主页) 产品(产品ID 产品名称,单位数量,单价, ID, 产品(产品ID,产品名称,单位数量,单价,库 存量,订购量,再订购量,中止) 存量,订购量,再订购量,中止) 产品(产品ID,产品名称,单位数量,单价, 产品(产品ID,产品名称,单位数量,单价,库 ID 存量,订购量,再订购量,中止,供应商ID 存量,订购量,再订购量,中止,供应商ID )
联系的类型
一对一关系 一对多关系Biblioteka 供应商 1 n 供应 产品
多对多关系
产品
m
n 订单明细 订单
E-R图
E-R图三要素 实体entity:用矩形框表示 关系relation:用菱形表示 属性attribute:用椭圆表示
E-R图的设计
设计E-R图的步骤: (1)确定实体 属性和实体间的联系, 确定实体、 (1)确定实体、属性和实体间的联系,画 出用户视图的局部E-R图; 出用户视图的局部E (2)综合各个用户的局部 综合各个用户的局部E (2)综合各个用户的局部E-R图,产生反映 数据库整体概念的总体E 数据库整体概念的总体E-R图。
2. 参照完整性规则
参照完整性规则是一个表的外键值可以为空值。若不为空 值,则必须等于另一个表中主键的某个值。 外键(Foreign Key,FK):若一个表R1中的一个列或列 组对应另一个表R2的主键,那么该列或列组称为表R1的 外键。 外键可以由一个或多个列组成,可以有重复值。 以产品,订单,订单明细为例,演示外键的使用 查阅功能的进一步演示

ER图及关系模式

ER图及关系模式

性别 属性名,描述学生在生理上的男女区别。
年龄 属性名,描述学生年龄大小。
系 属性名,说明一个学生在哪个系学习。
三、数据字典
对象


课程 关系名,描述课程有关信息。
课程号 属性名,为每门课程分配的唯一性标识, 可能有编码格式要求。
课程名 属性名,为每门课程所取的名称。
学分
属性名,描述一门课程的信息量,与讲授 的学时相对应。
一、学生信息与成绩数据库ER图
1、实体类型。
学号
姓名 年龄 性别 所在系
学生
课程号 课程名 学分
姓名
职称
年龄
课程
教师
一、学生信息与成绩数据库ER图
2、实体类型之间的联系。
学生
联系
课程
成绩
课程
联系
教师
一、学生信息与成绩数据库ER图
3、完整的ER图。
学号 姓名 年龄 性别 所在系
课程号 课程名
姓名
学生 联系 成绩
二、数据库的关系模型
2、关系模型的优化。 根据实际需要,对上面的模型进行优化。学生信息
不变,由于教师与课程联系中,一门课程只有一 个教师讲授,可以把教师的信息放到课程中去。 这样就可以去掉教师和讲授两个关系。
学生(学号,姓名,性别,年龄,系) 课程(课程号,课程名,学分,教师姓名,
职称,教师年龄) 教师(姓名,职称,教师年龄) 选课(学号,课程号,成绩) 讲授(课程号,教师姓名,)
教师姓名,) 选课(学号,课程号,成绩)
三、数据字典
数据库的数据字典实际上是对数据库中各种对象
的描述,也就是说明它们的语义,即用自然语 言说明它们的含义。
对象

数据库ER图PowerDesigner

数据库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图设计


2. 概念结构设计阶段
3. 逻辑结构设计阶段 4. 物理结构设计阶段
需求分析
5. 数据库实施
6. 数据库运行与维护
概念结构设计阶段
逻辑结构设计阶段
ห้องสมุดไป่ตู้
物理结构设计阶段 数据库实施
数据库运行维护
5.2
需求分析
需求分析是数据库设计的第一步。这一阶段主要是对数据库应用系统所要处理的对象进行全面 了解,了解用户需求,收集信息,提出问题及解决问题的思路。
设置 n
教研室
1
属于
n
n
属于
n
1
学生
mn
选 n课
1 课程
1
n
教师
m n
课程编 号
课程名
学时
学分
学生信息管理系统 (E-R概念模型)
教研室编 号
教研室名 称
系编号 教师编
号 姓名
性别 教研室编

5.4
逻辑结构设计
逻辑结构设计:将已设计好的概念模型(E-R模型)转换为与DBMS支持的数据模型相符的逻 辑结构。
(3) 码:在实体的属性当中能够唯一的标识一个实体的属性称为这个实体的关键字,也称码 或键。
如:学生的学号。而学生的姓名可能有重名,不能作为学生实体的关键字(码)。
(4) 实体集:具有相同属性的同一类事物,是一个实体的集合。 如:所有的学生信息记录、所有的课程信息记录等。
(5) 实体型:用实体名和属性名称集来描述同类实体。 如:学生(学号,姓名,年龄,性别)就是一个实体型。所有学生都可用这一实体型进行描 述。
学院编号
学院名称
院长姓名 学院
学院电话
学院地址
② 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

数据库建模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) 码(Key) 唯一标识实体的属性集称为码。 例如:学号是学生实体的码。
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
同样两个实体,如果赋予不同的语 义则有不同的设计结果。也就是说我们在概 念模型中讨论实体之间的联系类型直接影响 着目标数据库的设计结果和设计质量。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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模型转换成关系模型,并指出每个关系的主码和外码(主码加单下划线表示,外码用双下划线表示)。

对应的关系模式结构:
科室(科名,科地址,科电话)
病房(病房号,床位数,科室名)
医生(工作证号,姓名,职称,年龄,科室名)
病人(病历号,姓名,性别,诊治,医生工作证号,病房号)。

相关文档
最新文档