欢迎来到天天文库
浏览记录
ID:61278364
大小:159.50 KB
页数:15页
时间:2021-01-23
《数据库范式设计专题教案资料.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据库范式设计专题2第二范式(2NF)第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。Orders字 段例 子订单编号产品编号订购日期价格001A0012000-2-3$29.00……Orders字 段例 子订单编号订购日期0012000-2-3Products字 段例 子产品编号价格A001$29.003第三范式(3NF)满足第三范式(3NF)
2、必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不能包含已经在其它表中存在的非主关键字信息。即,第三范式就是属性不依赖于其它非主属性(即表与表之间存储数据独立)。Orders字 段例 子订单编号订购日期顾客编号0012000-2-3AB001顾客姓名Tony……Orders字 段例 子订单编号订购日期顾客编号0012000-2-3AB001……规范化实例假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:公司承担多个工程项目,每一项工程有:工程号、工程名称、施工人员等公司有多名职工,每一名职工有:职工号、姓名、性别、职务(工程师、技术员)等公
3、司按照工时和小时工资率支付工资,小时工资率由职工的职务决定(例如,技术员的小时工资率与工程师不同)公司定期制定一个工资报表,如图-1所示规范化实例工程号工程名称职工号姓名职务小时工资率工时实发工资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某公司的工资表
4、规范化实例工程号工程名称职工号姓名职务小时工资率工时A1花园大厦1001齐光明工程师6513A1花园大厦1002李思岐技术员6016A1花园大厦1001齐光明工程师6513A1花园大厦1003鞠明亮工人5517A3临江饭店1002李思岐技术员6018A3临江饭店1004葛宇洪技术员6014图-2某公司的项目工时表规范化实例1.表中包含大量的冗余,可能会导致数据异常:更新异常例如,修改职工号=1001的职务,则必须修改所有职工号=1001的行添加异常若要增加一个新的职工时,首先必须给这名职工分配一个工程。或者为了添加一名新职工的数据,先给这名职工分配一个虚拟的工程。(因为主关键字
5、不能为空)删除异常例如,1001号职工要辞职,则必须删除所有职工号=1001的数据行。这样的删除操作,很可能丢失了其它有用的数据规范化实例2.采用这种方法设计表的结构,虽然很容易产生工资报表,但是每当一名职工分配一个工程时,都要重复输入大量的数据。这种重复的输入操作,很可能导致数据的不一致性。一张表描述了多件事情,如图-3所示。应用范式规范化设计工程号工程名称职工号姓名职务小时工资率工时图-3函数依赖图工程信息员工信息项目工时信息应用第二范式规范化工程号工程名称职工号姓名职务小时工资率工程号职工号工时图-4应用第二范式工程表员工表项目工时表满足第三范式吗?应用第三范式规范化工程
6、号工程名称职工号姓名职务职务小时工资率工程号职工号工时工程表员工表职务表工程表鲍依斯-科得范式(BCNF)BCNF:在3NF基础上,加上主键也不能有传递依赖规范化和性能的关系为满足某种商业目标,数据库性能比规范化数据库更重要通过在给定的表中添加额外的字段,以大量减少需要从中搜索信息所需的时间通过在给定的表中插入计算列(如成绩总分),以方便查询进行规范化的同时,还需要综合考虑数据库的性能。总结:规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗余等问题的方法。规范化的基本思想是逐步消除数据依赖中不合适的部分。第一范式(1NF)的目标:确保每列的原子性。第二范式
7、(2NF)的目标:确保表中的每列,都和主键相关第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢
此文档下载收益归作者所有