




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库的设计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总结为了设设计结结构良良好的的数据据库,,需要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年农作物种子繁育员资格考试题型总结试题及答案
- 2024年游泳救生员考试的课题试题及答案
- 2024年农作物种子检验流程试题及答案
- 聚焦亮点 2024年体育经纪人试题及答案
- 2025年中国保龄球球道油市场调查研究报告
- 农作物种子繁育员备考的行业动态辅导试题及答案
- 2024篮球裁判员考试理论知识试题及答案
- 2024年无人机执照考核的评审标准试题及答案
- 无人机专用软件使用知识试题及答案
- 游泳救生员考试技巧性总结与试题答案
- 第14课 辽宋夏金元时期的科技与文化 教案2024-2025学年七年级历史下册新课标
- T-CRHA 089-2024 成人床旁心电监测护理规程
- 监理实施细则模板(信息化、软件工程)
- 精神疾病治疗新靶点-深度研究
- 教学课件-统计学(第三版)袁卫
- 医院保安员培训
- 教学设计-3.5函数的最值及其应用
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 血透室叙事护理
- 2024-2025学年湖南省邵阳市新邵县第二中学高二上学期期中考试英语试卷
- 学习通《形势与政策》2025春章节测试答案
评论
0/150
提交评论