收藏 分销(赏)

6.数据库设计.pptx

上传人:精**** 文档编号:5925791 上传时间:2024-11-23 格式:PPTX 页数:34 大小:2.32MB
下载 相关 举报
6.数据库设计.pptx_第1页
第1页 / 共34页
6.数据库设计.pptx_第2页
第2页 / 共34页
6.数据库设计.pptx_第3页
第3页 / 共34页
6.数据库设计.pptx_第4页
第4页 / 共34页
6.数据库设计.pptx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,/34,数据库设计,线上线下,平台预习,2,/34,本,课,目标,学完本次课程后,你能够,:,了设计,数据库的步骤,掌握如何绘制数据库的,E-R,图,掌握如何绘制数据库模型图,使用三大范式实现数据库设计规范化,3,/,34,为什么需要设计,数据库,良好的数据库设计,节省数据的存储空间,能够保证数据的完整性,方便进行数据库应用系统的开发,糟糕的数据库设计,数据冗余、存储空间浪费,内存空间浪费,数据更新和插入的异常,修建茅屋需要设计吗?,修建大厦需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库,4,/,3

2、4,软件项目开发周期中数据库设计,需求分析阶段,:分析客户的业务和数据处理需求,概要设计阶段,:设计数据库的,E-R,模型图,确认需求信息的正确和完整,详细设计阶段,:应用三大范式审核数据库结构,代码编写阶段:物理实现数据库,编码实现应用,软件测试阶段:,安装部署:,现实世界,建模,信息世界,规范化,构建,数 据 库,数据库模型图,5,/,34,设计数据库的步骤,收集信息,与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务,标识,实体,(,Entity,),标识数据库要管理的关键对象或实体,实体一般是名词,标识,每个实体的属性(,Attribute,),标识,实体之间的

3、关系(,Relationship,),酒店管理系统的基本功能:,旅客办理入住手续:后台数据库需要存放入住客人的信息和客房信息,客房信息:后台数据库需要存放客房的相关信息,如客房号、床位数、价格等,客房管理:后台数据库需要保存客房类型信息和客房当前状态信息,酒店管理系统中的实体:,客人:入住酒店的旅客。办理入住手续时,需要填写客人的信息,客房:酒店为客人提供休息的,房间,酒店管理系统中实体之间关系:,客房和客人有主从关系:表明客人入住的房间,客人信息,客人,编号,客人姓名,身份证号,入住日期,客房信息,客房,号,客房名称,床位数,客房状态,.,6,/,34,练习,1,:识别员工晋级业务实体,2-

4、1,需求,说明,为了激励优秀员工为企业作出更大的贡献,企业定期安排员工晋级,假设每个部门设置多个不同的岗位,每个岗位可以安排多个员工,每一位员工隶属于企业的一个部门,有一个对应的岗位,企业保存每位员工每次晋级记录,7,/,34,练习,1,:识别员工晋级业务实体,2-2,实现思路,收集信息,在确定客户要做什么之后,收集一切相关的信息,尽量不遗漏任何信息,标识实体,实体一般是名词,每个实体只描述一件事情,不能重复出现含义相同的实体,标识每个实体的属性,标识每个实体需要存储的详细信息,标识实体之间的关系,8,/,34,为什么使用,E-R,图,建筑师,施工图,开发人员,E-R,图,数据库图纸,9,/,

5、34,绘制,E-R,图,3-1,E-R,图,符号,含义,实体,一般是名词,属性,一般是名词,关系,一般是动词,10,/,34,绘制,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,多对多,客户,订单,产品,M,:,N,1,:,N,11,/,34,绘制,E-R,图,3-3,酒店管理系统的数据库,演示示例,1,:使用,Visio,绘制,E-R,图,12,/,34,关系模式,用二维表的形式表示实体和实体间联系的数据模型,即关系模式,E-R,图转换为关系模式的步骤,1.,把

6、每个实体都转化为关系模式,R,(,U,)形式,2.,建立实,体,间联系的转换,酒店管理系统数据库的关系模式是,客房(客房号、客房描述、客房类型、客房状态、床位数、入住人数、价格),客人(客人编号,客人姓名、身份证号、入住日期、结账日期、押金、总金额、客房号),13,/,34,转化,E-R,图为数据库模型图,将各实体转换为对应的表,将各属性转换为各表对应的列,标识每个表的主键列,在表之间建立主外键,体现实体,示例,演示示例,2,:使用,Visio,绘制数据库模型图,14,/,34,练习,2,:绘制晋级业务,E-R,图,需求说明,使用,Visio,绘制员工晋级业务的,E-R,图,使用,Visio,

7、绘制,E-R,图的步骤,使用文件,新建,框图,基本框图来绘制,E-R,图,在绘图窗口左侧的“基本形状”里选择“矩形”、“椭圆”、“菱形”拖动到页面适当位置,就可以绘制需要的矩形、椭圆和菱形,绘制直线,在工具栏:视图,工具栏,绘图,这时就会弹出绘图工具栏。选择其中的直线工具,提示,15,/,34,练习,3,:,绘制员工晋级数据库模型图,需求说明,用,Visio,工具将,E-R,图转化为数据库模型图,在各个模型图之间体现实体之间的映射关系,16,/,34,为什么需要数据规范化,不合规范的表设计,信息重复,更新异常,插入异常,无法正确表示信息,删除异常,丢失有效信息,使用三大范式规范数据库表的设计,

8、客人编号,姓名,地址,客房号,客房描述,客房类型,客房状态,床位数,价格,入住人数,C1001,张三,Addr1,1001,A,栋,1,层,单人间,入住,1,128.00,1,C1002,李四,Addr2,2002,B,栋,2,层,标准间,入住,2,168.00,0,C1003,王五,Addr3,2002,B,栋,2,层,标准间,入住,2,168.00,2,C1004,赵六,Addr4,2003,B,栋,2,层,标准间,入住,2,158.00,1,C8006,A1,Addrm,8006,C,栋,3,层,总统套房,入住,3,1080.00,1,C8008,A2,Addrn,8008,C,栋,3,

9、层,总统套房,空闲,3,1080.00,0,17,/,34,第一范式,(1st NF),第一范式的目标是确保每列的原子性,如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(,1NF,),CustID,Address,1,中国北京市,2,美国纽约市,3,英国利物浦,4,日本东京市,CustID,Country,City,1,中国,北京,3,英国,利物浦,4,日本,东京,2,美国,纽约,示例,18,/,34,Guest Registration,字段,例子,客人编号,C1002,姓名,李四,地址,Addr1,客房号,2002,客房状态,入住,客房类型,标准间,床位数,2,

10、入住人数,2,价 格,$168.00,Guest,Room,字段,例子,客人编号,C1002,姓名,李四,地址,Addr1,客房号,2002,字段,例子,客房号,2002,客房状态,入住,客房类型,标准间,床位数,2,入住人数,2,第二范式要求每个表只描述一件事情,第二范式,(2nd NF,),示例,19,/,34,第三范式,(3nd NF),如果一个关系满足,2NF,,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(,3NF,),Room,RoomType,字段,例子,客房号,2002,客房状态,入住,客房类型,标准间,床位数,2,入住人数,2,价 格,$168.00,字段,例

11、子,客房号,2002,客房状态编号,001,客房类型编号,002,入住人数,2,字段,例子,客房类型编号,002,客房类型名称,标准间,床位数,2,价 格,$168.00,Room,RoomState,字段,例子,客房状态编号,001,客房状态名称,入住,示例,20,/,34,规范化的酒店管理系统,E-R,图,示例,21,/,34,规范化的酒店管理系统数据库模型,酒店管理系统数据库模型图,示例,22,/,34,规范化示例,6-1,假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下,公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等,公司有多名职工,每一名职工有:职工号、姓

12、名、性别、职务(工程师、技术员)等,公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同),示例,23,/,34,规范化示例,6-2,公司定期制定一个工资报表,公司定期制定的项目工时表,工程号,工程名称,职工号,姓名,职务,小时,工资率,工时,实发工资,A1,花园大厦,1001,齐光明,工程师,65,13,845.00,1002,李思岐,技术员,60,16,960.00,1004,葛宇宏,律师,60,19,1140.00,小计,2945.00,A2,立交桥,1001,齐光明,工程师,65,15,975.00,1003,鞠明亮,工人,55,17,93

13、5.00,小计,1910.00,A3,临江饭店,1002,李思岐,技术员,60,18,1080.00,1004,葛宇洪,技术员,60,14,840.00,小计,1920.00,工程号,工程名称,职工号,姓名,职务,小时工资率,工时,A1,花园大厦,1001,齐光明,工程师,65,13,A1,花园大厦,1002,李思岐,技术员,60,16,A1,花园大厦,1004,葛宇宏,律师,60,19,A2,立交桥,1001,齐光明,工程师,65,13,A2,立交桥,1003,鞠明亮,工人,55,17,A3,临江饭店,1002,李思岐,技术员,60,18,A3,临江饭店,1004,葛宇洪,技术员,60,14

14、,示例,24,/,34,规范化示例,6-3,表中包含大量冗余数据,可能会导致数据异常,更新异常,添加异常,删除异常,如何解决?,问题,25,/,34,规范化示例,6-4,一张表描述了多件事情,工程信息,员工信息,项目工时信息,工程号,工程名称,职工号,姓名,职务,小时工资率,工时,示例,26,/,34,规范化示例,6-5,应用第二范式规范化,工程表,员工表,项目工时表,满足第三范式吗?,工程号,工程名称,职工号,姓名,职务,小时工资率,工程号,职工号,工时,示例,27,/,34,规范化示例,6-6,应用第三范式规范化,工程表,员工表,职务表,工时表,工程号,工程名称,职工号,姓名,职务,工程号

15、,职工号,工时,职务,小时工资率,示例,28,/,34,规范化和性能的关系,为满足某种商业目标,数据库性能比规范化数据库更重要,通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间,通过在给定的表中插入计算列(如成绩总分),以方便查询,在数据规范化同时,要综合考虑数据库的性能,29,/,34,练习,4,:规范员工晋级数据库设计,2-1,需求说明,根据三大范式规范化员工晋级业务数据,为了保证应用程序的运行性能,对符合第三范式的数据库结构进行调整,30,/,34,练习,4,:规范员工晋级数据库设计,2-2,实现思路,向各个表中插入数据,查看表中的每个属性列是否存在重复、插入异常、更新异常和删除异常,对照三大范式解决表中的异常问题,第一范式的目标是确保每列都是不可再分的最小数据单元,第二范式每要求一个表只描述一件事情,第三范式要求表中各列必须和主键直接相关,不能间接相关,对于不满足三大范式的表要进行表拆分,31,/,34,提示,总结,设计数据库的步骤是什么?,概要、详细设计阶段设计数据库的步骤?,数据库设计的三大范式是什么?,32,/,34,问题及作业,集中问题,&,课后作业,33,/34,扫我有更多精彩课程呦,34,/34,

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服