数据库E-R图

合集下载

数据库 企业人事管理系统E-R图

数据库 企业人事管理系统E-R图

调动编号 调动日期 职务调动
员工编号
调往职务 调往部门
职务 到岗日期 管理员编号 员工编号 员工姓名
管理员姓名 管理员 培训 新员工
管理员密码
培训时间
登记编号Βιβλιοθήκη 部门培训日期 合同到期 员工编号 员工编号
合同起始 职务 离职日期 员工编号
合同
合同编号 奖惩编号
员工编号 职位
结束时间
姓名
员工编号
离职
联系1
员工
考勤加班 出差
奖惩 奖惩方式
部门
性别 奖惩原因 部门 离职编号 员工编号 出生年月 政治面貌 员工姓名 联系2 开始时间 奖惩日期

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

网上服装商店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图)
34
(3)把教师和工资间的一对一的关系反映 出来,可把教师号和月份属性放到工资关系 中。
35
最后形成的关系模式为:
36
导员,每个辅导员只管理一个班级。则辅导员和班级 之间是一对一的联系。
班级和辅导员的属性分别如下:
辅导员——工号,姓名,性别,年龄,学历 班级——班号,班级名
另外,辅导员和班级之间是一个管理联系,这种 管理用一个属性任职时间来描述,请根据描述画出能 够反映实体集之间的信息关系的E-R图。
5
6
【例2】 两个实体集之间的一对多的联系的绘制方法。 假设在某出版管理系统中,有两个实体集:出版社和 图书。出版社用来出版图书,且规定一本图书只能由 一个出版社出版,一个出版社可以出版多本图书。出 版社和图书之间是一对多的联系。
作者和图书可用以下属性来描述: 作者——编号,姓名,职称 图书——书号,书名,出版日期
另外,在“创作”联系中应能反映出该书的合同时间 和完成时间。请根据描述画出能够反映实体之间的信 息关系的E-R图。
9
10
11
1.3 同一实体集内部不同联系情况的E-R图表示法
【例4】同一实体集内部的一对多联系的绘制方法。 假设在某单位里,职工实体集中的实体可分成两类: 领导者和被领导者。领导者可以领导多个被领导者, 而被领导者只有一个顶头上司,从而实现层层负责制。 而对于一个具体职工而言,他既可能是其他职工的领 导者,又可能被别的职工领导。
①把A实体集的主关键字加入到B实体集对 应的关系中,如果联系有属性也一并加入;
②把B实体集的Байду номын сангаас关键字加入到A实体集对 应的关系中,如果联系有属性也一并加入;
③建立第三个关系,关系中包含两个实体 集的主关键字,如果联系有属性也一并加入。

关系型数据库设计——E-R图

关系型数据库设计——E-R图

关系型数据库设计——E-R图⼀、数据管理技术的三个发展阶段:1)⼈⼯管理阶段(20世纪50年代中期)特点:数据不保存;应⽤程序管理数据;数据不共享;数据没有独⽴性;2)⽂件系统阶段(20世纪50年代后—60年代)特点:数据以⽂件形式长期保存;⽂件系统管理数据;数据共享性差、冗余度⼤;数据独⽴性差;3)数据库系统阶段(20世纪60年代—现在)特点:数据结构化;数据由DBMS统⼀管理与控制;数据共享性⾼、冗余度低;数据独⽴性⾼;⼆、数据库管理系统的功能:1)数据定义功能:由DBMS提供的数据定义语⾔(Data Definition Language,DDL)定义数据库中的数据对象。

2)数据操纵功能:由DBMS提供的数据操纵语⾔(Data Manipulation Language,DML)实现对数据库的查询、插⼊、删除和修改;3)数据控制功能:由DBMS提供的数据控制语⾔(Data Control Language,DCL)实现数据保护和事务管理的功能,包括完整性、安全性、并发控制和数据库恢复;4)数据库的建⽴与维护功能三、概念模型(也称信息模型)——E-R图(Entity-Relationship Diagram)概念结构设计即对现实世界进⾏抽象描述,在需求分析所得数据流图和数据字典的基础上,为计算机存储做准备;概念结构设计的内容即建⽴概念模型;描述概念模型最常⽤⽅法是E-R图或UML图⽅法。

主要概念:实体(Entity):客观存在的各类事物;属性(Attribute):实体所具有的特性;联系(Relationship):不同实体集中实体之间的联系,也可以是同⼀实体集中实体间的联系;联系的种类:1:1联系;1:N联系;M:N联系⽤E-R图建⽴概念模型局部的E-R图⼜称为局部视图,将多个局部视图E-R图合并成⼀张完整的E-R图的过程称为视图集成。

视图集成过程中可以解决冲突和消除冗余;分E-R图之间的三类冲突:1)属性冲突2)命名冲突3)结构冲突:同⼀实体在不同的分E-R图中有不同的属性,同⼀对象在某⼀分E-R图中被抽象为实体⽽在另⼀分E-R图中⼜被抽象为属性,需要统⼀;四、逻辑结构设计——E-R图向关系模型的转换1)⼀个实体转换为⼀个关系模式;实体的属性——>关系的属性实体标识符——>关系的码2)联系的转换1:1联系——与任意⼀端对应的关系模式和并;1:n联系——与n端对应的关系模式合并;m:n联系——⼀个独⽴的关系模式五、关系模式的优化从以下⼏⽅⾯:1)关系模式规范化2)对关系模式进⾏必要的合并3)进⾏合理的分解,包括⽔平分解、垂直分解六、关系模式的存取⽅法选择DBMS常⽤存取⽅法:1)索引⽅法,⽬前主要是B+树索引⽅法2)聚簇(cluster)⽅法3)Hash⽅法七、SQL数据库的三级结构/两级映像三级模式体系结构:两级映像:外模式/模式映像模式/内模式映像1)数据的逻辑独⽴性应⽤程序(外模式)与数据库的逻辑结构(模式)是相互独⽴的,即数据的逻辑结构发⽣改变,应⽤程序不⽤变。

数据库E-R图讲解

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

数据库基本E-R图
E-R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。

通过对以上系统业务流程图和数据流图的分析,从本系统中规划出的实体有:图书实体、书店信息实体、业务员信息实体、图书分类实体、订单实体、退货单列表实体等。

确定本发行管理系统全局E-R图如图4-1所示。

图4-2 系统数据实体关系图
业务员、书店、图书、订单、订单列表等实体的E-R图如下:
图4-3 管理员实体的E-R图图4.4 发行部主任实体E-R 图
图 4-5 书店实体E-R图
图4-6 图书实体E-R图
图4-7 订单实体E-R图
图 4-8 订单列表实体的E-R图
图4-9 订单项实体E-R图
图4-10 退单实体E-R图
图4-11 退货单项实体E-R图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

姓名:班级:学号:
[实验名称]:
[实验日期]:
[实验目的]:分析这项业务,画出E-R图和列出关系模式。

[实验要求]:
业务需求:
银行有多个支行。

每个支行位于一个特定的城市,由唯一的名字标识。

银行监控每个支行的资产。

银行的客户通过其customer_id来标识。

银行存储每个客户的姓名及其居住的街道和城市。

客户可以有账户,并且可以贷款。

客户可能同某个特定的银行员工发生联系,该员工作为该客户的贷款负责人或私人银行助理。

银行员工通过其employe_id来标识。

银行的管理机构存储每个员工的姓名、电话号码、亲属姓名及其经理的employee-id。

银行还需要知道员工开始工作的日期。

由此日期推知员工的雇佣日期。

银行提供储蓄存款账户。

存款账户可以有两个或两个以上客户共有,一个客户也可以有两个或两个以上的账户。

每个账户被赋以惟一的账户号。

银行记录每个账户的余额以及每个账户所有者访问该账户的最近日期。

另为还要记录相关的利率信息,还有其透支额。

每笔贷款由某个分支机构发放,能被一个或多个客户所共有。

一笔贷款用一个唯一的贷款号标识。

银行需要知道每笔贷款所贷金额以及逐次支付情况。

虽然贷款的付款号并不能在银行的所有为贷款所付款项中作为唯一标识,但可以唯一标识为某贷款的所还款项。

对每次还款需要记载其日期和金额。

1.画出er图
2.设计出关系模式
3.用“____”画出关系模式的主码,用“”画出关系模式的外码
[实验结果/总结]:
账户(账户号,透支额,利率,客户,账户访问日期,账户余额);
客户(customer_id,客户姓名,居住街道,居住城市);
员工(employe_id,员工姓名,电话号码,家属姓名,经理的employe_id,开始工作期,工作分行);
还款(付款号,金额,日期);
贷款(贷款号,贷款金额,贷款标识符,
支行(支行名字,城市,支行资产);
[教师评语]:。

相关文档
最新文档