版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库的设计第一章课程地位课程地位2/43本课目标本课目标学完本门课程后,你能够学完本门课程后,你能够设计符合规范的数据库设计符合规范的数据库实现基于数据库技术的程序开发实现基于数据库技术的程序开发3/43课程结构图课程结构图4/43课程项目展示课程项目展示贯穿案例:贯穿案例:MySchool 学生信息管理系统学生信息管理系统项目案例:银行项目案例:银行ATM存取款机存取款机系统系统演示课程项目演示课程项目5/43学习方法学习方法 浏览预习作业,带着问题浏览预习作业,带着问题读读教材教材,并记录疑问并记录疑问 即使看不懂也要坚持看完即使看不懂也要坚持看完 提前将下一章的示例自己动手做一遍,记下
2、问题提前将下一章的示例自己动手做一遍,记下问题课前课前 认真听讲,做好笔记认真听讲,做好笔记 完成上机练习或项目案例完成上机练习或项目案例课上课上 及时总结,完成学生用书和学习平台布置的作业及时总结,完成学生用书和学习平台布置的作业 多模仿,多练习多模仿,多练习 多浏览技术论坛、博客,获取他人的开发经验多浏览技术论坛、博客,获取他人的开发经验课课后后6/43相关课程回顾相关课程回顾简述数据库完整性及其作用简述数据库完整性及其作用简述实现数据库操作的语句及语法简述实现数据库操作的语句及语法常用常用的聚合函数有哪些?的聚合函数有哪些?表表连接连接分为分为哪几种类型?哪几种类型?提问提问7/43预习
3、检查预习检查在数据库设计时在数据库设计时,如何表示,如何表示数据库实体之间数据库实体之间的关系?的关系?实体集实体集X和和Y存在哪几种关系?存在哪几种关系?数据库三大范式的作用是什么?数据库三大范式的作用是什么?提问提问8/43本章任务本章任务完成酒店管理系统数据库结构设计完成酒店管理系统数据库结构设计绘制酒店管理系统的绘制酒店管理系统的E-R图图用三大范式规范酒店管理系统数据库设计用三大范式规范酒店管理系统数据库设计把酒店管理系统的把酒店管理系统的E-R图转化为数据库模型图图转化为数据库模型图完成员工晋级数据库结构设计完成员工晋级数据库结构设计绘制员工晋级的绘制员工晋级的E-R图图用三大范式
4、规范员工晋级数据库设计用三大范式规范员工晋级数据库设计把员工晋级的把员工晋级的E-R图转化为数据库模型图图转化为数据库模型图9/43本章目标本章目标了解设计数据库的步骤了解设计数据库的步骤掌握如何绘制数据库的掌握如何绘制数据库的E-R图图掌握如何绘制数据库模型图掌握如何绘制数据库模型图使用三大范式实现数据库设计规范化使用三大范式实现数据库设计规范化10/43为什么需要设计为什么需要设计数据库数据库良好的数据库设计良好的数据库设计节省数据的存储空间节省数据的存储空间能够保证数据的完整性能够保证数据的完整性方便进行数据库应用系统的开发方便进行数据库应用系统的开发糟糕的数据库设计:糟糕的数据库设计:
5、数据冗余、存储空间浪费数据冗余、存储空间浪费内存空间浪费内存空间浪费数据更新和插入的异常数据更新和插入的异常修建茅屋需要设计吗?修建茅屋需要设计吗?修建大厦需要设计吗?修建大厦需要设计吗?结论:当数据库比较复杂时我们需要设计数据库结论:当数据库比较复杂时我们需要设计数据库问题问题11/43软件项目开发周期中数据库设计软件项目开发周期中数据库设计 需求分析阶段需求分析阶段:分析客户的业务和数据处理:分析客户的业务和数据处理需求需求概要设计阶段概要设计阶段:设计数据库的:设计数据库的E-R模型图,确模型图,确认需求信息的正确和完整认需求信息的正确和完整详细设计阶段详细设计阶段:应用三大范式审核数据
6、库结:应用三大范式审核数据库结构构代码编写阶段:物理实现数据库,编码实现代码编写阶段:物理实现数据库,编码实现应用应用软件测试阶段:软件测试阶段:安装部署:安装部署:现实世界 建模 信息世界 规范化 构建 数据库模型图 12/43设计数据库的步骤设计数据库的步骤收集信息收集信息与该系统有关人员进行交流、座谈,充分了解用与该系统有关人员进行交流、座谈,充分了解用户需求,理解数据库需要完成的任务户需求,理解数据库需要完成的任务标识标识实体实体 (Entity)标识数据库要管理的关键对象或实体,实体一般标识数据库要管理的关键对象或实体,实体一般是名词是名词标识标识每个实体的属性(每个实体的属性(At
7、tribute)标识标识实体之间的关系(实体之间的关系(Relationship)酒店管理系统的基本功能:酒店管理系统的基本功能:旅客办理入住手续:后台数据库需要存放入住客人的信息和客房信息旅客办理入住手续:后台数据库需要存放入住客人的信息和客房信息客房信息:后台数据库需要存放客房的相关信息,客房信息:后台数据库需要存放客房的相关信息,如客房号如客房号、床位数、床位数、价格等、价格等 客房管理:后台数据库需要保存客房类型信息和客房当前状态信息客房管理:后台数据库需要保存客房类型信息和客房当前状态信息酒店管理系统中的实体:酒店管理系统中的实体:客人:入住酒店的旅客。办理入住手续时,需要填写客人的
8、信息客人:入住酒店的旅客。办理入住手续时,需要填写客人的信息客房:酒店为客人提供休息的房间客房:酒店为客人提供休息的房间酒店管理系统中实体之间关系:酒店管理系统中实体之间关系:客房和客人有主从关系:表明客人入住的客房和客人有主从关系:表明客人入住的房间房间客人信息客人信息客人编号客人编号客人客人姓名姓名身份证号身份证号入住入住日期日期客房信息客房信息客房号客房号客房名称客房名称床位数床位数客房状态客房状态.13/43绘制绘制E-R图图3-1E-R图图 符号符号含义含义实体,一般是名词实体,一般是名词属性,一般是名词属性,一般是名词关系,一般是动词关系,一般是动词14/43绘制绘制E-R图图3-
9、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 15/43绘制绘制E-R图图3-3酒店管理系统的数据库酒店管理系统的数据库演示示例演示示例1:使用:使用Visio绘制绘制E-R图图16/43关系模式关系模式一个关系的属性名的集合称为关系模式一个关系的属性名的集合称为关系模式酒店管理系统数据库的关系模式是:酒店管理系统数据库的关系模式是:客人客人(客人编号、客人(客人编号、客人姓名、身份证号姓名、身份证号、入住、入住日期日期、结帐日期、押金、总
10、金额)、结帐日期、押金、总金额)客房客房(客房号(客房号、房间描述、房间类型、房间状态、房间描述、房间类型、房间状态、床位数、入住人数)床位数、入住人数)17/43转化转化E-R图为数据库模型图图为数据库模型图将各实体转换为对应的表,将各属性转换为各表将各实体转换为对应的表,将各属性转换为各表对应的列对应的列标识每个表的主键标识每个表的主键列列在在表之间建立主外键,体现实体之间的映射关系表之间建立主外键,体现实体之间的映射关系 演示示例演示示例2:使用:使用Visio绘制数据模型图绘制数据模型图示例示例18/43为什么需要数据为什么需要数据规范化规范化 不合规范的表设计不合规范的表设计信息重复
11、信息重复更新异常更新异常插入异常插入异常无法正确表示信息无法正确表示信息删除异常删除异常丢失有效信息丢失有效信息19/43使用三大范式规范数据库表的设计使用三大范式规范数据库表的设计客人编号姓名地址客房号客房描述客房类型客房状态床位数价格入住人数C1001张三Addr11001A栋1层单人间入住1128.001C1002李四Addr22002B栋2层标准间入住2168.000C1003王五Addr32002B栋2层标准间入住2168.002C1004赵六Addr42003B栋2层标准间入住2158.001C8006A1Addrm8006C栋3层总统套房入住31080.001C8008A2Add
12、rn8008C栋3层总统套房空闲31080.000第一范式第一范式 (1st NF)第一范式的目标是确保每列的原子性第一范式的目标是确保每列的原子性如果每列都是不可再分的最小数据单元(也称为最小如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(的原子单元),则满足第一范式(1NF)示例示例CustIDAddress1中国北京市中国北京市2美国纽约市美国纽约市3英国利物浦英国利物浦4日本东京市日本东京市CustIDCountryCity1中国中国北京北京3英国英国利物浦利物浦4日本日本东京东京2美国美国纽约纽约20/43第二范式第二范式 (2nd NF)Guest Re
13、gistration示例示例字段例子客人编号客人编号C1002姓名姓名李四李四地址地址Addr1客房号客房号2002客房状态客房状态入住入住客房类型客房类型标准间标准间床位数床位数2入住人数入住人数2价价 格格$168.00GuestRoom字段例子客人编号客人编号C1002姓名姓名李四李四地址地址Addr1客房号客房号2002字段例子客房号客房号2002客房状态客房状态入住入住客房类型客房类型标准间标准间床位数床位数2入住人数入住人数2第二第二范式要求每个表只描述一件事情范式要求每个表只描述一件事情21/43第三范式第三范式 (3nd NF)如果一个关系满足如果一个关系满足2NF2NF,并且
14、除了主键以外的其他列都不,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(传递依赖于主键列,则满足第三范式(3NF3NF) RoomRoomType示例示例字段字段例子例子客房号客房号2002客房状态客房状态入住入住客房类型客房类型标准间标准间床位数床位数2入住人数入住人数2价价 格格$168.00字段字段例子例子客房号客房号2002客房状态编号客房状态编号001客房类型编号客房类型编号002入住人数入住人数2字段字段例子例子客房类型编号客房类型编号002客房类型名称客房类型名称标准间标准间床位数床位数2价价 格格$168.00RoomRoomState字段例子客房状态编号客房状
15、态编号001客房状态名称客房状态名称入住入住22/43规范化的酒店管理系统规范化的酒店管理系统E-R图图示例示例23/43规范化的酒店管理系统规范化的酒店管理系统数据库模型数据库模型酒店管理系统数据库模型图酒店管理系统数据库模型图示例示例24/43规范化示例规范化示例6-1假设某建筑公司要设计一个数据库。公司的假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:业务规则概括说明如下:公司承担多个工程项目,每一项工程有:工程号公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等、工程名称、施工人员等公司有多名职工,每一名职工有:职工号、姓名公司有多名职工,每一名职工有:职工号
16、、姓名、性别、职务(工程师、技术员)等、性别、职务(工程师、技术员)等公司按照工时和小时工资率支付工资,小时工资公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)率与工程师不同)示例示例25/43规范化示例规范化示例6-2公司定期制定一个工资报表公司定期制定一个工资报表公司定期制定的项目工时表公司定期制定的项目工时表示例示例工程工程号号工程工程名称名称职工号职工号姓名姓名职务职务小时小时工资率工资率工时工时实发工资实发工资A1花园花园大厦大厦1001齐光明齐光明工程师工程师6513845.001002李
17、思岐李思岐技术员技术员6016960.001004葛宇宏葛宇宏律师律师60191140.00小计小计2945.00A2立交立交桥桥1001齐光明齐光明工程师工程师6515975.001003鞠明亮鞠明亮工人工人5517935.00小计小计1910.00A3临江临江饭店饭店1002李思岐李思岐技术员技术员60181080.001004葛宇洪葛宇洪技术员技术员6014840.00小计小计1920.00工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工小时工资率资率工时工时A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1002李思岐李思岐技术员技术员60
18、16A1花园大厦花园大厦1004葛宇宏葛宇宏律师律师6019A2立交桥立交桥1001齐光明齐光明工程师工程师6513A2立交桥立交桥1003鞠明亮鞠明亮工人工人5517A3临江饭店临江饭店1002李思岐李思岐技术员技术员6018A3临江饭店临江饭店1004葛宇洪葛宇洪技术员技术员601426/43规范化示例规范化示例6-3表中包含大量冗余数据,可能会导致数据异常:表中包含大量冗余数据,可能会导致数据异常:更新异常更新异常添加异常添加异常删除异常删除异常 如何解决?如何解决? 问题问题27/43规范化示例规范化示例6-4工程信息工程信息员工信息员工信息项目工时信息项目工时信息一张表描述了多件事情
19、:一张表描述了多件事情:示例示例工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时28/43规范化示例规范化示例6-5工程表工程表员工表员工表项目工时表项目工时表满足第三范式吗?满足第三范式吗? 应用第二范式规范化:应用第二范式规范化:示例示例工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工程号工程号职工号职工号工时工时29/43规范化示例规范化示例6-6工程表工程表员工表员工表职务表职务表工时表工时表应用第三范式规范化:应用第三范式规范化:示例示例工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务工程号工程号职工号职工号工
20、时工时职务职务小时工资率小时工资率30/43规范化和性能的关系规范化和性能的关系 为满足某种商业目标,数据库性能比规范化为满足某种商业目标,数据库性能比规范化数据库更重要数据库更重要通过在给定的表中添加额外的字段,以大量减少通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间需要从中搜索信息所需的时间通过在给定的表中插入计算列(如成绩总分),通过在给定的表中插入计算列(如成绩总分),以方便查询以方便查询在数据规范化同时,要综合考虑数据库的性在数据规范化同时,要综合考虑数据库的性能能31/43学员操作学员操作员工晋级业务实体员工晋级业务实体2-1训练要点:训练要点:收集信息收集信
21、息标识实体标识实体标识每个实体的属性标识每个实体的属性标识实体之间的关系标识实体之间的关系 需求说明:需求说明:为了激励优秀员工为企业作出更大的贡献,企业为了激励优秀员工为企业作出更大的贡献,企业定期安排员工晋级定期安排员工晋级假设每个部门设置多个不同的岗位,每个岗位可假设每个部门设置多个不同的岗位,每个岗位可以安排多个员工以安排多个员工每一位员工隶属于企业的一个部门,有一个对应每一位员工隶属于企业的一个部门,有一个对应的岗位的岗位企业保存每位员工每次晋级记录企业保存每位员工每次晋级记录教员讲解需求教员讲解需求指导指导32/43学员操作学员操作员工晋级业务实体员工晋级业务实体2-2难点指导:难
22、点指导:收集信息:收集信息:在确定客户要做什么之后,收集一切相关的信息,尽量在确定客户要做什么之后,收集一切相关的信息,尽量不遗漏任何信息不遗漏任何信息标识实体:标识实体:原则:原则: 实体一般是名词实体一般是名词 每个实体只描述一件事情每个实体只描述一件事情 不能重复出现含义相同的实体不能重复出现含义相同的实体标识每个实体的属性:标识每个实体的属性:标识每个实体需要存储的详细信息标识每个实体需要存储的详细信息标识实体之间的关系标识实体之间的关系完成时间完成时间:25分钟分钟指导指导33/43学员操作学员操作绘制晋级绘制晋级业务业务E-R图图需求说明:需求说明:使用使用Visio绘制员工晋级业
23、务的绘制员工晋级业务的E-R图图提示:提示: 如何使用如何使用Visio绘制绘制E-R图图使用文件使用文件新建新建框图框图基本框图来绘制基本框图来绘制E-R图;图;在绘图窗口左侧的在绘图窗口左侧的“基本形状基本形状”里选择里选择“矩形矩形”、“椭圆椭圆”、“菱形菱形”拖动到页面适当位置,就可以绘制需要的矩形、椭圆拖动到页面适当位置,就可以绘制需要的矩形、椭圆和菱形和菱形绘制直线,在工具栏:视图绘制直线,在工具栏:视图工具栏工具栏绘图,这时就会弹出绘绘图,这时就会弹出绘图工具栏。选择其中的直线工具图工具栏。选择其中的直线工具 完成时间完成时间:15分钟分钟练习练习讲解需求说明讲解需求说明34/4
24、3共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧35/43需求说明:需求说明:用用Visio工具将工具将 E-R图转化为数据库模型图图转化为数据库模型图在各个模型图之间体现实体之间的映射关系在各个模型图之间体现实体之间的映射关系学员操作学员操作绘制员工晋级模型图绘制员工晋级模型图 练习练习完成时间完成时间:15分钟分钟36/43学员操作学员操作规范晋级规范晋级数据库设计数据库设计2-1训练要点:训练要点:数据库设计的三大范式数据库设计的三大范式 需求需求说明:说明:根据三大范式规范化员工晋级业务数据根据三大范式规范化员工晋级业务数据为了保证应用程序的运行性能,对符合第三范式为了保证应用程序的运行性能,对符合第三范式的数据库结构进行调整的数据库结构进行调整指导指导讲解需求说明讲解需求说明37/43难点指导:难点指导:向各个表中插入数据,查看表中的每个属性列是否向各个表中插入数据,查看表中的每个属性列是否存在重复、插入异常、更新异常和删除异常存在重复、插入异常、更新异常和删除异常对照三大范式解决表中的异常问题对照三大范
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体育培训住宿指南
- 2019版广西师范版 高中体育与健康 必修 10~12年级中篇 运动实践《第一章 球类运动》大单元整体教学设计2020课标
- 《呼吸球囊》课件
- 产品质量回顾分析培训
- 大学生涯规划
- 小组工作的原则小组工作的基本概念
- 国庆假前安全培训
- 社会保险的功能与内涵
- 《江春水向东流》课件
- 大班语言活动快乐的纽扣
- 全国高中青年数学教师优质课大赛一等奖《函数的单调性》课件
- 积极应对媒体正确舆情引导培训讲义课件
- 人教版六年级英语上册(PEP)课件【全册】
- 运维开发人员KPI绩效考核方案
- 起重机日常维护保养方案
- 民法典讲座-继承篇
- 超级优等生:优等生最高效的学习方法
- 糖尿病健康知识宣教课件
- 教科版六年级英语上册(广州版)课件【全册】
- 大学生健康教育大学生性教育教学课件
- 医学-心脏骤停急救培训-心脏骤停急救教学课件
评论
0/150
提交评论