数据库管理环境和建立
任职时间 系名
例:两个实体集之间的一对多的联系的绘制方法。
假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放 商品,且规定一类商品只能存放在一个仓库中,一个仓库可以存放多件 商品。仓库和商品之间是一对多的联系。
仓库和商品的属性分别如下: 仓库——仓库号,地点,面积联单 商品——商品号,商品名,价格
运动队
1
属于
m
运动员
运动队局部E-R图
队编号
队名
教练姓名
项目编号 项目名称
运动队
n
参加
m
项目
运动会局部E-R图
场地
全局E-R图
队编号
队名
教练姓名
运动员 编号 姓名 性别
项目
运动队 1 属于
m n
运动员
项目编号 项目名称
项目 m 参加
合并的全局E-R图
场地
合并后的全局E-R图存在如下冲突:
(1)命名冲突:“项目”、“项目名称”异名同义,统一 命名为“项目名”;
例:两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系,每个系只 有一个主任。则 主任和系之间是一对一的关系。 主任和系的属性分别如下: 主任——编号,姓名,年龄,学历; 系——系编号,系名
主任和系之间是一个管理关系
解:描述主任和系之间的E-R图可如下图:
编号
姓名
年龄
学历
主任
1
管理
1
系
系编号
E—R模型
三个世界
事物类 事物 性质
实体集 实体 属性
文件 记录 数据项
概念模型:把现现实实世世界界转换为信息世界的信模息型世,界E-R模型
数据世界
实施模型:把信息世界转化为数据世界使用的模型,关系模型
E-R模型的组成要素及表示方法
1.E-R图的组成要素及其画法
实体名
实体表 示
图书ID
属性名
可参加多个项目 (2)运动会方面 运动队:队编号、队名、教练姓名 项目:项目编号,项目名、参加运动队编号、场地
其中,一个项目可由多个队参加,一个运动队可参加多个项目,一个项目一个比赛场地。 现要求分别设计运动队方面和运动会方面的两个局部E-R图。
局部E-R图
队名
教练姓名
运动员编号
姓名
性别
项目
运动会局部E-R图
(2)结构冲突:“项目”在两个局部E-R图中,一个做属 性,一个作实体,删除作为属性的项目,保留作为实体 的项目;运动队在两个局部图里的属性结构不一致,需 要进行统一。
糟糕的数据库设计:
数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常
现实世界
软件项目开发周
期
信息世界
数据库世界
建模
模型转换 数 据 规范化 数 据
库
库
需求分析阶段:分析客户的业务和数据处理需求;
概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完 整;
详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据 库设计的三大范式进行审核;
本项目目标
了解设计数据库的步骤 掌握如何绘制数据库的E-R图 理解数据库的规范化-三大范式
概念模型的基本元素
实体(Entity) 实体的特征(Entity Characteristic) 实体集(Entity Set) 联系(Relationship) 属性(Attribute) 主码(Primary Key)和候选码(Candidate Key) 域(Domain)
解:描述教师和课程之间的E-R图可如下图所示。
教师号 课程号
教师名
教师 m
讲授 n
课程
课程名
职称
质量
班级
E—R图的设计方法
E-R图通常都应经过以下两个阶段:
(1)针对每一用户画出该用户信息的局部E—R图,确定该用户视图的实体、属性和联系。需注 意的是:能作为属性的就不要作为实体,这有利于E—R图的简化。
代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用;
软件测试阶段:……
安装部署:……
设计数据库的步骤
收集信息:
与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务 标识对象(实体-Entity)
标识数据库要管理的关键对象或实体 标识每个实体的属性(Attribute) 标识对象之间的关系(Relationship)
(2)综合局部E—R图,生成总体E—R图。在综合过程中,同名实体只能出现一次,还要去掉 不必要的联系,以便消除冗余。一般来说,从总体E—R图必须能导出原来的所有局部视图, 包括实体、属性和联系。
例:某田径运动会组委会需要一套运动会管理系统,现提出如下需求:
(1)运动队方面 运动队:队编号、队名、教练姓名 运动员:编号、姓名、性别、项目 其中,一个运动队有多个队员,一个队员仅属于一个运动队,一个队一般有一个教练,一个队员
项目二
数据模型的规划与设计
项目知识要点
单词学习
1.Entity:实体 3.Attribute:属性 5.Primary Key:主键 7.Domain:域 9.Relation:关系
2.Characteristic:特征 4.Relationship:联系 6.Foreign Key:外键 8.Tuple:元组 10.Normal Form:范式
在存放联系中要反映出存放商品的数量。
解:描述仓库和商品之间的E-R图可如下图所示
仓库号 商品号
地点
仓库
1
存放 n
商品
商品名
面积 数量
价格
两个实体集之间的多对多的联系的绘制方法。
假设在某教务管理系统中,一个教师可以上多门课,一门课也 可以由多个老师去上。教师和课程之间是多对多的联系。
教师和课程可用以下属性来描述: 教师——教师号,教师名,职称 课程——课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。
为什么需要设计数据
库
数据库设计就是将数据库中的数据对象以及这些 数据对象之间关系进行规划和结构化的过程
修建茅屋需要设计吗?
修建大厦需要设计吗?
结论:当数据库比较复杂时我们需要好的数据库设计
节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发
属性表 示
图书名
价格
联系名
联系表 示
库存量
图书
绘制E-R图
映射基数
X
Y
X
Y
X
Y
X
Y
一对一
1N
客户
X
Y
X
X
Y
X
Y
多对一
X
Y
X
Y
X
Y
X
Y
M
订单
一对多
N
产品
X
Y
X
Y
X
Y
X
Y
多对多
E-R模型的组成要素及表示方法
2.实体间不同联系情况的E-R图表示法
联系分为:一对一(1:1)、一对多(1:n)、多对多(m:n)