第二章 数据库设计

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

生产
m
成品
供应商 m 供应 n 原材料 数量 2
数量 1
全局E-R图
5.从仓储的角度,根据(4)和(5)画出仓库与各实体之间的联系,最 终得到工厂物流管理系统的E-R图 6.实体联系中有多个数量属性,分别用数量1,数量2…以区分
部门 1 从属 m 雇员 m
1
生产
m
成品 n 数量 4
供应商 m 供应 数量 5 n 原材料 数量 2
1 出版社 出版 m 图书
社代码 社代码 社名 地址 … 书号 书名 作者

图书出版E-R图问题思考(1)
1、怎么标识书号(选取关键字)? 为了管理方便,国际上规定:全世界的每本书都应该有唯一的编 号,这个号码叫做ISBN号,俗称书号。ISBN号码又分为几个子域, 每个域的代码表示不同的含义。例如,某本书的书号是7-30206610-8,它有四个子域,域之间用-分隔。第一个子域7代表中 国大陆出版的图书;第二个子域为出版社的代码,如302代表清 华大学出版社;后面两个子域是出版社的内部分类编号,不同的 出版社可以自己规定,各不相同,从而保证了图书书号的全球唯 一性。因此,用ISBN书号作为图书的唯一标识似乎是非常合理的。 但是,有些出版社用一个书号出版多本图书,有些书或者资料根 本没有书号。虽然这么做并不正规,甚至是违法的,但这种现象 毕竟是客观存在的。所以,在设计实际数据库系统的时候,一般 不能以ISBN书号唯一标识图书实体,而应该自己定义唯一标识图 书实体的属性。 在现实世界中,类似这样的问题有很多,通常需要为实体集定义 额外的关键字段。
糟糕的数据库设计:
数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常
数据冗余
数据冗余:指数据重复的现象
编号 姓名 1
2
年龄 33
27
民族 汉族
汉族
部门 人事管理部
人事管理部
部门位置
王涛
李梅
行政楼301
行政楼301
存在冗余
编号 1
姓名 王涛
2
民族编 1 码 2 民族 汉族 回族
李梅
年龄 33 27 部门编码 1 2
系编号
系名
主任与系之间的一对一的联系
一对多(1:m)的联系
一对多(1:m)的联系
例: 在某仓库管理系统中,有 两个实体集:仓库和商品。 仓库用来存放商品,且规定 一类商品只能存放在一个仓 库中,一个仓库可以存放多 件商品。 仓库和商品的属性分别如下: 仓库——仓库号,地点,面积 商品——商品号,商品名,价 格 仓库号 地点 面积
性别
出生时间 总学分 备注
课程号 课程名
类别
课程
学分 学时
开课学期
学生和课程实体集属性描述
概念结构设计
概念结构设计- E-R图方法
实体关系图:简记E-R图,是指以实体、关系、属性三个基本概念 概括数据的基本结构,从而描述静态数据结构的概念模式。 实体型(Entity):具有相同的特征和性质的集合体,用实体名及 其属性名来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框 内写明实体名;比如学生张三、学生李四都是实体 属性(Attribute):实体所具有的某一特性,一个实体可由若干个 属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的 实体连接起来;比如学生的姓名、学号、性别、都是属性。 联系(Relationship): 数据对象彼此之间相互连接的方式称为联 系,也称为关系。
海淀龙王庙鬼楼
中关村大街3-201
AC043 AC011
AC041 AC012 AC011
不同的地址!
海淀龙王庙树林 海淀龙王庙树林 中关村大街2-101
存在不正确、不准确的数据,数据库“失去了完整性”
设计数据库关系模型
现实世界 信息世界 数据库世界
建模
模型转换
数 据 库
规范化
数 据 库
事物类
实体集 实体 属性
提取 n 数量 3
数量 1 m 仓库 p
存放
存放
q
E-R图设计中常见问题分析
【例2.3】 画出出版社和图书的E-R图。 1.实体与联系分析:一个出版社可以出版多本图书,一本图书只能 由一个出版社出版,出版社和图书之间就是一对多的关系。 2.属性与主码:出版社实体有社名、地址、邮编、网址、联系电话 等属性。为了建立出版社与图书实体一对多的联系,还应该有一个出 版社代码来唯一标识出版社; 图书实体有出版社、书名、作者、价格等属性。为了唯一标识图 书,还应设置书号属性。 根据以上分析,画出出版社与图书的E-R图如下:
复杂E-R图设计实例
【例2.2】 工厂物流管理中的涉及雇员、部门、供应商、原材料、成品 和仓库等实体,并且存在以下关联: (1)一个雇员只能在一个部门工作,一个部门可以有多个雇员。 (2)每一个部门可以生产多种成品,但一种成品只能由一个部门生产。 (3)一个供应商可以供应多种原材料,一种原材料也可以由多个供应 商供货。 (4)购买的原材料放在仓库中,成品也放在仓库中。一个仓库可以存 放多种产品,一种产品也可以存放在不同的仓库中。 (5)各部门从仓库中提取原料,并将成品放在仓库中。一个仓库可以 存放多个部门的产品,一个部门的产品也可以存放在不同的仓库中。 画出简单的工厂物流管理系统E-R模型。
仓库
1
数量
存放 n 商品 商品号 商品名 价格
在存放联系中要反映出存放商 品的数量。
仓库和商品之间一对多的联系
多对多(m:n)联系
多对多(m:n)联系: 假设在某教务管理系统 中,一个教师可以上多 门课,一门课也可以由 多个老师去上。 教师和课程可用以下属 性来描述: 教师——教师号,教师 名,职称 课程——课程号,课程 名,班级 在“讲授”联系中应能 反映出教师的授课质量。
学时
4
2
任务一 设计数据库关系模型
为什么需要设计数据库
数据库设计就是将数据库中的数据对象以及这些数据对象之间关 系进行规划和结构化的过程
修建茅屋需要设计吗?
修建大厦需要设计吗?
结论:当数据库比较复杂时我们需要设计数据库
为什么需要设计数据库
良好的数据库设计
节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发
教师号
教师名
教师 m
职称
质量
讲授 n 课程
课程号 课程名 班级
教师和课程之间的多对多联系
E-R图设计实例
【例1.1】 网络图书销售系统处理会员图书销售。简化的业务处理过 程为:网络销售的图书信息包括:图书编号,图书类别,书名,作者, 出版社,出版时间,单价,数量,折扣,封面图片等;用户需要购买 图书必须先注册为会员,提供身份证号,会员姓名,密码,性别,联 系电话,注册时间等信息;系统根据会员的购买订单形成销售信息, 包括订单号,身份证号,图书编号,订购册数,订购时间,是否发货, 是否收货,是否结清。
一对一(1:1)联系
实体间不同联系情况的E-R图表示法 一对一(1:1)联系:
例:某学院有若干个系,每 个系只有一个主任。则主任 和系之间是一对一的关系。 主任和系的属性分别如下: 主任——编号,姓名,年 龄,学历; 系——系编号,系名 主任和系之间是一个管理关 系
编号 姓名 年龄 学历
主任 1 管理 1 系 任职时间
1 出版社 出版 m 图书
出版社 社代码 社名 地址 … 书号 书名 作者

图书出版E-R图案例分析
出版社和图书来自百度文库E-R图分析:
(1)出版社和图书的关系:出版社通过出版与图书建立关联。 一个出版社可以出版多本图书,一本图书一般由一个出版社出 版,出版社和图书之间就是一对多的关系。 (2)出版社实体有社名、地址、邮编、网址、联系电话等属性, 为了建立出版社与图书实体一对多的联系,还应该有一个出版 社代码来唯一标识出版社 (3)图书实体有出版社代码、书名、作者、价格等属性。为了唯 一标识图书,还应设置书号属性。
局部E-R图
1、找出工厂物流管理系统实体集:分别是雇员、部门、成品、供应商、 原材料和仓库。 2.从生产的角度,根据(1)和(2)画出雇员、部门和成品三个实体间 的初步联系 3.从供应的角度,根据(3)画出供应商和原材料两个实体间的初步联 系, 4.为是问题简化,实体的属性先不画出。
部门 1 1 从属 m 雇员
关系模型特点
关系模型中基本数据结构是二维数据表,且必须满足相应的要求: (1)表说明的是关系模型中某一特定的方面或部分的对象及其属性 (2)表中的行通常叫做记录或元组,代表具有相同属性的对象中的一个 (3)表中的列通常叫做字段或属性,代表存储对象的共有的属性 (4)数据表之间的关联通过“键”来实现的,键分为主键和外键两种。 (5)表必须符合某些特定条件 ①信息原则:每个单元只能存贮一条数据; ②列有唯一性的名称,贮存在列下的数据必须具有相同数据类型;列 没有顺序;; ③每行数据是唯一的;行没有顺序; ④实体完整性原则,即主键不能为空; ⑤引用完整性原则,即外键不能为空;
网络图书销售数据库E-R图
E-R图设计步骤
对于复杂的系统,E-R图设计通常都应经过以下 两个阶段:
(1)针对每一用户画出该用户信息的局部E—R图,确定 该用户视图的实体、属性和联系。需注意的是:能作为 属性的就不要作为实体,这有利于E—R图的简化。 (2)综合局部E—R图,生成总体E—R图。在综合过程中, 同名实体只能出现一次,还要去掉不必要的联系,以便 消除冗余。一般来说,从总体E—R图必须能导出原来的 所有局部视图,包括实体、属性和联系。
民族编码 1 1 部门 人事管理部 市场营销部
部门编码 1 1
部门位置
行政楼301 行政楼402
为减少数据查找的麻烦,允许数据有一定的冗余
数据完整性
数据完整性:指数据的准确性
编码 11 姓名 阿兰 地址 销售代码
海淀黄庄菜园子
AC091
12 15
姓名 13 14 15
东方求败 张无忌
菜鸟特注 赵可 张无忌
文件 记录 数据项
事物 性质
实体模型
概念模型
数据模型
概念模型:把现实世界转换为信息世界的模型,E-R模型 实施模型:把信息世界转化为数据世界使用的模型,关系模型
实体模型
现实世界客观存在的、可以被描述事物都是“实体”
层次模型
按层次模型组织的数据示例
网状模型
按网状模型组织的数据示例
关系模型
按关系模型组织的数据示例
E-R模型
E-R图的组成要素及其画法
实体名 实体表示
属性名
属性表示
联系名 联系表示
图书ID
图书名
价格
库存量
图书
绘制E-R图
映射基数
X X X X 一对一 客户 X X X X Y Y Y Y X X X X 一对多 Y Y Y Y
1
N
Y Y Y
订单
M
X X X X
N
产品 Y Y Y Y
多对一
多对多
张三 个体 抽 象 实体 共 性 学号 李四 王五 关联 选修 计算机基础 英语 MySQL数据库 个体 抽 象 实体 共 性 课程号
姓名
学生 性别 出生日期 专业名 成绩 选课 课程
课程名
类别 开课学期 学时
总学分
学分
主码(关键字)
专业名 姓名 学号
学生 n 选课 m 成绩
主码:也叫关键字, 实体集中的属性或最 小属性组合的值能唯 一标识其对应实体, 则将该属性或属性组 合称为码。对于每一 个实体集,可指定一 个码为主码。
概念模型
建模:把现实世界转换为信息世界的模型,E-R模型 建模步骤: 收集信息:
与该系统有关人员进行交流、坐谈,充分理解数据库需 要完成的任务
标识对象(实体-Entity)
标识数据库要管理的关键对象或实体
标识每个实体的属性(Attribute) 标识对象之间的关系(Relationship)
建模实例:学生选课系统建模
第二章 数据库设计
项目知识要点与目标
项目知识要点
任务1 设计数据库关系模型 1 数据模型 2 概念模型 3 E-R图的设计 4 数据库关系模型的建立 任务2 数据库设计规范化 1 关系型数据库范式理论 2 数据库规范化实例 3 综合实例 PetStore数据库的设 计 项目实训
知识能力目标
【典型工作任务】 对数据库系统进行分析,建立E-R 图,关系模型 【技能要求】 1 设计数据库关系模型 2 数据库规范化 【知识要求技能训练】 1 掌握数据库设计的相关知识 2 运用E-R图等工具设计数据库 创建“员工管理系统”的数据模型
请画出网络图书销售数据库E-R图。
【例2.1】 E-R图设计步骤
1.确定实体集: 网络图书销售系统中有两个实体集:图书和会员 2.确定实体集属性及主码: (1)实体集会员属性有:身份证号,会员姓名,性别,联系电话,注册时间, 密码。 会员实体集中可用身份证号来唯一标识各会员,所以主码为身份证号。 (2)实体集图书属性有:图书编号,图书类别,书名,作者,出版社,出版时 间,单价,数量,折扣,封面图片。 图书实体集中可用图书编号来唯一标识图书,所以主码为图书编号。 3. 确定实体集之间的联系:图书销售给会员时图书与会员建立关联, 联系 “销售”的属性有:订购册数,订购时间,是否发货,是否收货,是否结清。 为了更方便标识销售记录,可添加订单号作为该联系的主码。 4.确定联系关系: 因为一个会员可以购买多种图书,一种图书可销售各多个会员,所以这是 一种多对多(m:n)的联系。 根据以上分析画出的网络图书销售数据库E-R图
相关文档
最新文档