数据库设计(S2 01)课件

上传人:我*** 文档编号:144688484 上传时间:2020-09-13 格式:PPT 页数:32 大小:1.62MB
返回 下载 相关 举报
数据库设计(S2 01)课件_第1页
第1页 / 共32页
数据库设计(S2 01)课件_第2页
第2页 / 共32页
数据库设计(S2 01)课件_第3页
第3页 / 共32页
数据库设计(S2 01)课件_第4页
第4页 / 共32页
数据库设计(S2 01)课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《数据库设计(S2 01)课件》由会员分享,可在线阅读,更多相关《数据库设计(S2 01)课件(32页珍藏版)》请在金锄头文库上搜索。

1、第一章,数据库的设计,本章目标,了解设计数据库的步骤 掌握如何绘制数据库的E-R图 掌握如何绘制数据库模型图 使用三大范式实现数据库设计规范化,为什么需要设计数据库,良好的数据库设计 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 糟糕的数据库设计: 数据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常,修建茅屋需要设计吗?,修建大厦需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库,软件项目开发周期中数据库设计,需求分析阶段:分析客户的业务和数据处理需求 概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整 详细设计阶段:应用三大范式审核数据库

2、结构 代码编写阶段:物理实现数据库,编码实现应用 软件测试阶段: 安装部署:,现实世界,数 据 库,数据库模型图,设计数据库的步骤,收集信息 与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务 标识实体 (Entity) 标识数据库要管理的关键对象或实体,实体一般是名词 标识每个实体的属性(Attribute) 标识实体之间的关系(Relationship),酒店管理系统的基本功能: 旅客办理入住手续:后台数据库需要存放入住客人的信息和客房信息 客房信息:后台数据库需要存放客房的相关信息,如房间号、床位数、价格等 客房管理:后台数据库需要保存客房类型信息和客房当前状态信

3、息,酒店管理系统中的实体: 客人:入住酒店的旅客。办理入住手续时,需要填写客人的信息 客房:酒店为客人提供休息的房间,酒店管理系统中实体之间关系: 客房和客人有主从关系:表明客人入住的房间,绘制E-R图3-1,E-R图(Entity-Relationship图:实体关系图),绘制E-R图3-2,映射基数,一对一,X X X X,Y Y Y Y,X X X X,Y Y Y Y,一对多,X X X X,Y Y Y,多对一,X X X X,Y Y Y Y,多对多,绘制E-R图3-3,酒店管理系统的数据库,关系模式,一个关系的属性名的集合称为关系模式 酒店管理系统数据库的关系模式是: 客人(客人姓名、

4、身份证号、房间号、入住日期、结帐日期、押金、总金额) 客房(房间号、房间描述、房间类型、房间状态、床位数、入住人数),转化E-R图为数据库模型图,将各实体转换为对应的表,将各属性转换为各表对应的列 标识每个表的主键列,需要注意的是:没有主键的表添加ID编号列,它没有实际含义,用于做主键或外键 如:入住登记表中的“入住流水ID”列 在表之间建立主外键,体现实体之间的映射关系,数据规范化,仅有好的RDBMS并不足以避免数据冗余,必须在数据库的设计中创建好的表结构 Dr E.F.codd 最初定义了规范化的三个级别,范式是具有最小冗余的表结构 这些范式是: 第一范式(1st NF First Nor

5、mal Form) 第二范式(2nd NFSecond Normal Form) 第三范式(3rd NF Third Normal Form),第一范式 (1st NF),第一范式的目标是确保每列的原子性 如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF),第二范式 (2nd NF),如果一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF) 第二范式要求每个表只描述一件事情,Room,RoomState,RoomType,第三范式 (3nd NF),如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第

6、三范式(3NF),Room,Room,RoomType,规范化的酒店管理系统E-R图,规范化的酒店管理系统数据库模型图,酒店管理系统数据库模型图,规范化示例6-1,假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同),规范化示例6-2,公司定期制定一个工资报表,公司定期制定的项目工时表,规范化示例6-3,表中包含大量冗余数据,可能会导致数据异常:

7、 更新异常 添加异常 删除异常,如何解决?,规范化示例6-4,工程信息,员工信息,项目工时信息,一张表描述了多件事情:,规范化示例6-5,工程表,员工表,项目工时表,满足第三范式吗?,应用第二范式规范化:,规范化示例6-6,工程表,员工表,职务表,工时表,应用第三范式规范化:,规范化和性能的关系,为满足某种商业目标,数据库性能比规范化数据库更重要 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间 通过在给定的表中插入计算列(如成绩总分),以方便查询 在数据规范化同时,要综合考虑数据库的性能,指导员工晋级业务实体2-1,训练要点: 收集信息 标识实体 标识每个实体的属性 标识

8、实体之间的关系 需求说明: 为了激励优秀员工为企业作出更大的贡献,企业定期安排员工晋级 假设每个部门设置多个不同的岗位,每个岗位可以安排多个员工 每一位员工隶属于企业的一个部门,有一个对应的岗位 企业保存每位员工每次晋级记录,讲解需求说明,指导员工晋级业务实体2-2,难点指导: 收集信息: 在确定客户要做什么之后,收集一切相关的信息,尽量不遗漏任何信息 标识实体: 原则: 实体一般是名词 每个实体只描述一件事情 不能重复出现含义相同的实体 标识每个实体的属性: 标识每个实体需要存储的详细信息 标识实体之间的关系,完成时间:25分钟,练习绘制员工晋级业务E-R图,需求说明: 使用Visio绘制员

9、工晋级业务的E-R图 提示: 如何使用Visio绘制E-R图,讲解需求说明,完成时间:15分钟,使用文件新建框图基本框图来绘制E-R图; 在绘图窗口左侧的“基本形状”里选择“矩形”、“椭圆”、“菱形”拖动到页面适当位置,就可以绘制需要的矩形、椭圆和菱形 绘制直线,在工具栏:视图工具栏绘图,这时就会弹出绘图工具栏。选择其中的直线工具,共性问题讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,讲解需求说明,需求说明: 用Visio E-R图转化为数据库模型图 在各个模型图之间体现实体之间的映射关系,练习绘制员工晋级模型图,完成时间:15分钟,指导规范员工晋级数据库设计2-1,训练要点:

10、 数据库设计的三大范式 需求说明: 根据三大范式规范化员工晋级业务数据 为了保证应用程序的运行性能,对符合第三范式的数据库结构进行调整,讲解实现思路,难点指导: 向各个表中插入数据,查看表中的每个属性列是否存在重复、插入异常、更新异常和删除异常 对照三大范式解决表中的异常问题 第一范式的目标是确保每列都是不可再分的最小数据单元:查看每列是否都满足 第二范式每列与主键相关,不相关的放入别的表中,即要求一个表只描述一件事情 第三范式要求表中各列必须和主键直接相关,不能间接相关,查看各表,满足第三范式 对于不满足三大范式的表要进行表拆分,指导规范员工晋级数据库设计2-2,讲解实现思路,完成时间:25分钟,共性问题讲解,常见调试问题及解决办法 代码规范问题,共性问题集中讲解,总结,在需求分析阶段,设计数据库的一般步骤是什么? 在概要设计阶段和详细设计阶段,设计数据库的步骤是什么? 为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式,分别是什么?,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号