版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库的设计1本章目标了解设计数据库的步骤掌握如何绘制数据库的E-R图理解数据库的规范化-三大范式2为什么需要设计数据库2-1修建茅屋需要设计吗?修建大厦需要设计吗?结论:当数据库比较复杂时我们需要设计数据库3为什么需要设计数据库2-2良好的数据库设计:节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发糟糕的数据库设计:数据冗余、存储空间浪费内存空间浪费数据更新和插入的异常4软件项目开发周期需求分析阶段:分析客户的业务和数据处理需求;概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整;详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核;代码编写阶段:选择具体数据库进行物理实现,并编写代码实现前端应用;软件测试阶段:……安装部署:……现实世界建模信息世界数据库世界模型转换规范化5设计数据库的步骤4-1收集信息:
与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务BBS论坛的基本功能:用户注册和登录,后台数据库需要存放用户的注册信息和在线状态信息;用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等;论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等;6设计数据库的步骤4-2标识对象(实体-Entity)
标识数据库要管理的关键对象或实体
实体一般是名词:用户:论坛普通用户、各版块的版主。用户发的主贴用户发的跟贴(回贴)版块:论坛的各个版块信息7设计数据库的步骤4-3论坛用户:呢称密码电子邮件生日性别用户的等级备注信息注册日期状态积分主贴发贴人发贴表情回复数量标题正文发贴时间点击数状态:最后回复时间回贴贴子编号回贴人,回贴表情标题正文回贴时间点击数版块版块名称版主本版格言点击率发贴数标识每个实体的属性(Attribute)8设计数据库的步骤4-4标识对象之间的关系(Relationship)跟贴和主贴有主从关系:我们需要在跟贴对象中表明它是谁的跟贴;版块和用户有关系:从用户对象中可以根据版块对象查出对应的版主用户的情况;主贴和版块有主从关系:需要表明发贴是属于哪个版块的;跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的;9绘制E-R图4-1E-R(Entity-Relationship)实体关系图符合含义实体,一般是名词属性,一般是名词关系,一般是动词10绘制E-R图图4-2管理bbsUser(用户,版主主)……出生日期昵称版块名称版主……bbsSection(版块)11绘制E-R图图4-3映射基数一对一XXXXYYYYXXXXYYYY一对多XXXXYYY多对一XXXXYYYY多对多客户订单产品1
NM
N12绘制E-R图图1111M1MMMM用户积分性别用户等级备注信息注册日期版块名称本版留言发贴数状态密码昵称电子邮件生日论坛用户(BBSUser)管理发表发表跟随属于属于点击率版主标题发贴人贴子编号正文点击率版块(BBSSection)发贴(BBSTopic)发贴人正文状态贴子编号所在版块最后回复时间发贴表情回复数量点击率发贴时间标题M跟贴(BBSReply)所在版块发贴时间最后回复时间发贴表情1论坛E-R图13如何将E-R图转换为表表3-1将各实体转换换为对应的表表,将各属性性转换为各表表对应的列标识每个表的的主键列,需需要注意的是是:没有主键键的表添加ID编号列,,它没有实际际含义,用于于做主键或外外键,例如用用户表中的““UID”列列,版块表中中添加“SID”列,发发贴表和跟贴贴表中的“TID”列在表之间建立立主外键,体体现实体之间间的映射关系系14如何将E-R图转换为表表3-2UID主键TID主键RID主键SID主键15如何将E-R图转换为表表添加各表之间间的关系16数据规范化仅有好的RDBMS并不不足以避免数数据冗余,必必须在数据库库的设计中创创建好的表结结构DrE.F.codd最初定义义了规范化的的三个级别,,范式是具有有最小冗余的的表结构。这这些范式是::第一范式(1stNF-FirstNormalFromate)第二范式(2ndNF-SecondNormalFromate)第三范式(3rdNF-ThirdNormalFromate)17第一范式(1stNF)BuyerIDCountryCity1142中国中国日本美国北京北京东京纽约………BuyerIDAddress1234中国北京市
美国纽约市英国利物浦日本东京市……第一范式的目目标是确保每每列的原子性性如果每列都是是不可再分的的最小数据单单元(也称为为最小的原子子单元),则则满足第一范范式(1NF)18第二范式(2ndNF)如果一个关系系满足1NF,并且除了了主键以外的的其他列,都都依赖与该主主键,则满足足第二范式((2NF)第二范式要求求每个表只描描述一件事情情Orders字段例子订单编号产品编号订购日期价格001A0012000-2-3$29.00……Orders字段例子订单编号订购日期0012000-2-3Products字段例子产品编号价格A001$29.0019第三范式(3rdNF)如果一个关系系满足2NF,并且除了了主键以外的的其他列都不不传递依赖于于主键列,则则满足第三范范式(3NF)Orders字段例子订单编号订购日期顾客编号0012000-2-3AB001顾客姓名Tony……Orders字段例子订单编号订购日期顾客编号0012000-2-3AB001……20规范化实例5-1假设某建筑公公司要设计一一个数据库。。公司的业务务规则概括说明如如下:公司承担多个个工程项目,,每一项工程程有:工程号号、工程名称称、施工人员员等公司有多名职职工,每一名名职工有:职职工号、姓名名、性别、职职务(工程师师、技术员))等公司按照工时时和小时工资资率支付工资资,小时工资资率由职工的的职务决定((例如,技术术员的小时工工资率与工程程师不同)公司定期制定定一个工资报报表,如图-1所示21规范化实例5-2工程号工程名称职工号姓名职务小时工资率工时实发工资A1花园大厦1001齐光明工程师6513845.001002李思岐技术员6016960.001004葛宇宏律师60191140.00小计2945.00A2立交桥1001齐光明工程师6515975.001003鞠明亮工人5517935.00小计1910.00A3临江饭店1002李思岐技术员60181080.001004葛宇洪技术员6014840.00小计1920.00图-1某公公司的工资表表22规范化实例5-3工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1001齐光明工程师6513A1花园大厦1003鞠明亮工人5517A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员6014图-2某公公司的项目工工时表23规范化实例5-41.表中包含含大量的冗余余,可能会导导致数据异常常:更新异常例如,修改职职工号=1001的职务务,则必须修修改所有职工工号=1001的行添加异常若要增加一个个新的职工时时,首先必须须给这名职工工分配一个工工程。或者为为了添加一名名新职工的数数据,先给这这名职工分配配一个虚拟的的工程。(因因为主关键字字不能为空))删除异常例如,1001号职工要要辞职,则必必须删除所有有职工号=1001的数数据行。这样样的删除操作作,很可能丢丢失了其它有有用的数据24规范化实例5-52.采用这种种方法设计表表的结构,虽虽然很容易产产生工资报表表,但是每当当一名职工分分配一个工程程时,都要重重复输入大量量的数据。这这种重复的输输入操作,很很可能导致数数据的不一致致性。25一张表描述了了多件事情,,如图-3所示。应用范式规范范化设计工程号工程名称职工号姓名职务小时工资率工时图-3函数依赖图工程信息员工信息项目工时信息息26应用第二范式式规范化工程号工程名称职工号姓名职务小时工资率工程号职工号工时图-4应用第二范式式工程表员工表项目工时表满足第三范式式吗?27应用第三范式式规范化工程号工程名称职工号姓名职务职务小时工资率工程号职工号工时工程表员工表职务表工程表28规范化和性能能的关系为满足某种商商业目标,数数据库性能比比规范化数据据库更重要通过在给定的的表中添加额额外的字段,,以大量减少少需要从中搜搜索信息所需需的时间通过在给定的的表中插入计计算列(如成成绩总分),,以方便查询询进行规范化的的同时,还需需要综合考虑虑数据库的性性能。29总结在需求分析阶阶段,设计数数据库的一般般步骤为:收集信息标识对象标识每个对象象的属性标识对象之间间的关系在概要设计阶阶段和详细设设计阶段,设设计数据库的的步骤为:绘制E-R图图将E-R图转转换为表格应用三大范式式规范化表格格30总结结为了了设设计计结结构构良良好好的的数数据据库库,,需需要要遵遵守守一一些些专专门门的的规规则则,,称称为为数数据据库库的的设设计计范范式式。。第一一范范式式((1NF))的的目目标标::确确保保每每列列的的原原子子性性。。第二
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.1+地球的宇宙环境课件高一上学期+地理+人教版++地理+必修第一册
- 2026年咨询工程师之工程项目组织与管理通关试题库附答案详解【培优】
- 【生物】生态系统中的能量单向递减流动课件 2025-2026学年高二上学期生物浙科版选择性必修2
- 2026年信息与技术学试题及参考答案详解(突破训练)
- 2026年注册土木工程师(水利水电)之专业基础知识通关题库【学生专用】附答案详解
- 2026年证券从业基础试题库【研优卷】附答案详解
- 2026年护士执业资格通关考试题库(达标题)附答案详解
- 【低空经济】低空能力底座平台建设研发方案
- 2026年荨麻疹幼儿园
- 2026年幼儿园大班我能行
- TSG 08-2026 特种设备使用管理规则
- GJB3243A-2021电子元器件表面安装要求
- 浙江大学财务报销办事指南
- GB/T 5578-2024固定式发电用汽轮机规范
- 边缘物联代理技术要求
- 法医骨骼鉴定知识培训课件
- 那年那兔那些事儿
- 纪念卢沟桥事变七七事变弘扬抗战精神PPT模板
- 伊利行销主管述职报告
- LTE ANR(自动配置邻区)功能测试总结及功能使用
- 心内科常用药物
评论
0/150
提交评论