- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三范式 (3rd NF) 如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,则满足第三范式(3NF) Orders 字 段 例 子 订单编号 订购日期 顾客编号 001 2000-2-3 AB001 顾客姓名 Tony … … Orders 字 段 例 子 订单编号 订购日期 顾客编号 001 2000-2-3 AB001 … … 规范化实例 假设某建筑公司要设计一个数据库。公司的业务规 则概括说明如下: 公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等 公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等 公司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同) 公司定期制定一个工资报表,如图-1所示 规范化实例 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 实发工资 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 935.00 小计 1910.00 A3 临江饭店 1002 李思岐 技术员 60 18 1080.00 1004 葛宇洪 技术员 60 14 840.00 小计 1920.00 图-1 某公司的工资表 规范化实例 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 A1 花园大厦 1001 齐光明 工程师 65 13 A1 花园大厦 1002 李思岐 技术员 60 16 A1 花园大厦 1001 齐光明 工程师 65 13 A1 花园大厦 1003 鞠明亮 工人 55 17 A3 临江饭店 1002 李思岐 技术员 60 18 A3 临江饭店 1004 葛宇洪 技术员 60 14 图-2 某公司的项目工时表 规范化实例 表中包含大量的冗余,可能会导致数据异常: 更新异常 例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行 添加异常 若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字不能为空) 删除异常 例如,1001号职工要辞职,则必须删除所有职工号=1001的数据行。这样的删除操作,很可能丢失了其它有用的数据 规范化实例 采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,很可能导致数据的不一致性。 一张表描述了多件事情,如图-3所示。 应用范式规范化设计 工程号 工程名称 职工号 姓名 职务 小时工资率 工时 图-3 函数依赖图 工程信息 员工信息 项目工时信息 应用第二范式规范化 工程号 工程名称 职工号 姓名 职务 小时工资率 工程号 职工号 工时 图-4 应用第二范式 工程表 员工表 项目工时表 满足第三范式吗? 应用第三范式规范化 工程号 工程名称 职工号 姓名 职务 职务 小时工资率 工程号 职工号 工时 工程表 员工表 职务表 工程表 规范化和性能的关系 为满足某种商业目标,数据库性能比规范化数据库更重要 通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间 通过在给定的表中插入计算列(如成绩总分),以方便查询 进行规范化的同时,还需要综合考虑数据库的性能。 总结 1-1 在需求分析阶段,设计数据库的一般步骤为: 收集信息 标识对象 标识每个对象的属性 标识对象之间的关系 在概要设计阶段和详细设计阶段,设计数据库的步骤为: 绘制E-R图 将E-R图转换为表格 应用三大范式规范化表格 总结 1-2 为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式。 第一范式(1NF)的目标:确保每列的原子性。 第二范式(2NF)的目标:确保表中的每列,都和主键相关 。 第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关 。 * 讲解要点: 由修建茅屋和大厦的对比,得出结论:当数据库比较复杂(如数据量大,表较多,业务关系复杂)时, 我们需要先创建数据库; * 讲解要点: 既然我们建库前需要预先设计数据库,那到底如何设计呢? 我们一起从数据库设计的角度,看看项目开发周期的不同阶段,数据库设计的具体工作有哪些。 1.重点讲解与数据库设计相关的各个阶段。 2.强调需求分析阶段:分析客户的业务需求。 3.强调概要设计阶段:重点是分析数据库E-R图(类似建筑方面的施
您可能关注的文档
最近下载
- 室外给水排水管道及设施安装-08SS523 建筑小区塑料排水检查井.pdf VIP
- ihi trx寿力离心空压机操作手册使用说明书.pdf
- 2024全新婴幼儿喂养ppt课件.pptx VIP
- 开幕式活动方案.docx VIP
- 冠脉介入治疗术后并发症护理及预防.doc VIP
- 中职语文拓展模块教学计划.docx VIP
- 中职《新时代劳动教育教程》课程标准.docx VIP
- 中国传媒大学-实用播音教程-普通话语音和播音发声(一)-课件.pptx VIP
- 人教版2025高中地理选择性必修一用“芯”解读青藏高原的时光变迁——自然环境的整体性 课件.pptx VIP
- 密闭式吸痰操作规范.docx VIP
文档评论(0)