关系数据库范式设计-常玉慧课件_第1页
关系数据库范式设计-常玉慧课件_第2页
关系数据库范式设计-常玉慧课件_第3页
关系数据库范式设计-常玉慧课件_第4页
关系数据库范式设计-常玉慧课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1关系数据库设计范式

1关系数据库设计范式

1?★★★★★★★★★★★★★★★如何评价酒店的星级?★★★★★★★★★★★★★★★如何评价酒店的星级2酒店酒店的划分与评定标准一星级酒店二星级酒店三星级酒店四星级酒店五星级酒店评定为依据如何评价酒店的星级酒店酒店的划分与评定标准一星级酒店评定为依据如何评价酒店的星3酒店酒店的划分与评定标准一星级酒店二星级酒店三星级酒店四星级酒店五星级酒店评定为依据如何评价酒店的星级范式1NF2NF3NFBCNF4NF5NF依据判定为关系模式酒店酒店的划分与评定标准一星级酒店评定为依据如何评价酒店的星4关系数据库范式设计——常玉慧课件510/6/20236DataBase任务:某建筑公司的工资管理系统的数据库如何设计?工程号、工程名称、职工号、姓名、职务;一项工程由多个职工参加,一个职工也可以参与多个工程;公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定Table1Table2Tablen……Table1Table2Tablen……10/6/20236DataBase任务:某建筑公司的工资管610/6/20237工程号工程名称职工号姓名职务小时工资率工时实发工资区域名称A1新区花园大厦1001齐光明工程师6513845.001002李思岐技术员6016960.001004葛宇宏技术员60191140.00小计2945.00A2临渭区立交桥1003鞠明亮工人5517935.00小计935.00A3钟楼区临江饭店1002李思岐技术员60181080.001004葛宇洪技术员6014840.00小计1920.00公司的项目工时表非规范关系数据库不支持这种数据结构!冗余数据问题一:非规范的关系表10/6/20237工程号工程名称职工号姓名职务小时工资率工710/6/202381NF的定义如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。10/6/202381NF的定义如果一个关系模式R的810/6/20239公司的项目工时表应用1NF规范化工程号工程名称职工号姓名职务小时工资率工时实发工资区域名称A1新区花园大厦1001齐光明工程师6513845.001002李思岐技术员6016960.001004葛宇宏技术员60191140.00小计2945.00A2临渭区立交桥1003鞠明亮工人5517935.00小计935.00A3钟楼区临江饭店1002李思岐技术员60181080.001004葛宇洪技术员6014840.00小计1920.00工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1004葛宇洪技术员6019A2立交桥1003鞠明亮工人5517A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员601410/6/20239公司的项目工时表应用1NF规范化工程号工9

每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,既占据存储空间,又使得数据库的更新变得复杂,操作不当很可能导致数据的不一致性。工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1004葛宇洪技术员6013A2立交桥1003鞠明亮工人5517A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员601410/6/202310问题二:数据冗余大、更新复杂每当一名职工分配一个工程时,都要重复输入大量的10

若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空)工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016…………………A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员601410/6/202311

A4

虚拟的工程号1005王启明技术员60异常:工程号不存在或者该职工根本没有参与此项目!问题三:增加异常工程号工程名称职工号姓名职务小时工资率工时A1花园大厦10011

如果1003号职工要辞职,则必须删除所有职工号=1003的数据行。工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1004葛宇洪技术员6013A2立交桥1003鞠明亮工人5517A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员601410/6/202312丢失了项目A2的信息异常:这样的删除操作,丢失了项目A2所有有用的数据!问题四:删除异常如果1003号职工要辞12

10/6/202313原因:一张表描述了多件事情工程号工程名称职工号姓名职务小时工资率工时

函数依赖图工程信息员工信息项目工时信息注意:存在非主属性对码的部分依赖例如:(工程号,职工号)

P

工程名称问题分析10/6/202313原因:一张表描述了多件事情13若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。

上述的项目工时表∈1NF,但∈2NF。10/6/2023142NF的定义若关系模式R∈1NF,并且每一个非主10/14工程号职工号工时A1100113A1100216A1100413A2100317A3100218A3100414工程号工程名称A1花园大厦A2立交桥A3临江饭店1510/6/2023职工号姓名职务小时工资率1001齐光明工程师651002李思岐技术员1004葛宇洪技术员1003鞠明亮工人55

思考:员工表中小时工资率被重复存储,修改技术员的小时工资率怎样操作呢?

原因:存在非主属性“小时工资率”对码“职工号”的传递依赖60606262工程表员工表项目工时表应用2NF规范化1NF2NF消除非主属性对码的部分依赖工程号职工号工时A1100113A1100216A1100415如果关系模式R中的所有非主属性对任何候选码都不存在传递依赖,则称关系

R∈3NF。员工表∈2NF员工表∈3NF10/6/2023163NF的定义如果关系模式R中的所有非主属性对10/6/16职工号姓名职务小时工资率1001齐光明工程师651002李思岐技术员601004葛宇洪技术员601003鞠明亮工人55职工号姓名职务1001齐光明工程师1002李思岐技术员1004葛宇洪技术员1003鞠明亮工人职务小时工资率工程师65技术员60工人551710/6/2023职工表职务表消除了非主属性对码的传递依赖应用3NF规范化员工表2NF3NF职工号姓名职务小时工资率1001齐光明工程师651002李思1710/6/202318工程号工程名称职工号姓名职务职务小时工资率工程号职工号工时工程表职工表职务表项目工时表任务完成,数据库包含如下四张表:工程表(工程号,工程名称)∈3NF职工表(职工号,姓名表,职务)∈3NF职务表(职务,小时工资率)∈3NF项目工时表(工程号,职工号,工时)∈3NF应用3NF规范化10/6/202318工程号工程名称职工号姓名职务职务小时工18

规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗余等问题的方法。1NF的目标:原子性2NF的目标:非主属性列和主码完全相关3NF的目标:非主属性列和主码直接相关10/6/202319总结规范化的本质是提高数据独立性,解决插19

下表给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?

作业工程号材料号数量开工日期完工日期价格P1L142012/022013/05250

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论