《数据库范式设计(专题)ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库范式设计(专题)ppt课件.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能数据库范式设计专题数据库范式设计专题教学目标教学重点:第一、二、三范式教学过程2022年12月30日1为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能2022年12月30日第2页2.3.3 范式与规范化范式与规范化数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人
2、员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。目前关系数据库有六种范式:目前关系数据库有六种范式:第一范式(第一范式(1NF)、第二范式()、第二范式(2NF)、第三范式()、第三范式(3NF)、第、第四范式(四范式(4NF)、第五范式()、第五范式(5NF)和第六范式()和第六范式(6NF)。)。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能第一范式第一范式(1st NF)l在任何一个关系数据库中,第一范式(在任何一个关系数据库中,第一范式(1NF)是对关)是对关系模式的基本要求,不满足第一范式(系模式的基本要求,不
3、满足第一范式(1NF)的数据)的数据库就不是关系数据库。库就不是关系数据库。l所谓第一范式(所谓第一范式(1NF)是指数据库表的)是指数据库表的每一列都是不每一列都是不可分割的基本数据项可分割的基本数据项,同一列中不能有多个值同一列中不能有多个值,即实,即实体中的某个属性不能有多个值或者不能有重复的属性。体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(一对多关系。在第一范式(1NF)中
4、表的每一行只包)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复含一个实例的信息。简而言之,第一范式就是无重复的列。的列。BuyerIDCountryCity1142中国中国日本美国北京北京东京纽约BuyerIDAddress1234中国北京市 美国纽约市英国利物浦日本东京市 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能2 第二范式(第二范式(2NF)l第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须
5、可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。这个惟一属性列被称为主关键字或主键、主码。Orders字段字段例子例子订单编号产品编号订购日期价 格001A0012000-2-3$29.00 Orders字段字段例子例子订单编号订购日期0012000-2-3Products字段字段例子例子产品编号价 格A001$29.00为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能3 第三范式(第三范式(3NF)l满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不能
6、包含已经在其它表中存在的非主关键字信息。即,第三范式就是属性不依赖于其它非主属性(即表与表之间存储数据独立)。Orders字段字段例子例子订单编号订购日期顾客编号0012000-2-3AB001顾客姓名TonyTony Orders字段字段例子例子订单编号订购日期顾客编号0012000-2-3AB001 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能规范化实例规范化实例假设某建筑公司要设计一个数据库。公司的业务规假设某建筑公司要设计一个数据库。公司的业务规则概括说明如下:则概括说明如下:l公公司司承承担担多多个个工工程程项项目目,
7、每每一一项项工工程程有有:工工程程号号、工工程程名名称、施工人员等称、施工人员等l公公司司有有多多名名职职工工,每每一一名名职职工工有有:职职工工号号、姓姓名名、性性别别、职务(工程师、技术员)等职务(工程师、技术员)等l公公司司按按照照工工时时和和小小时时工工资资率率支支付付工工资资,小小时时工工资资率率由由职职工工的职务决定(例如,技术员的小时工资率与工程师不同)的职务决定(例如,技术员的小时工资率与工程师不同)l公司定期制定一个工资报表,如图公司定期制定一个工资报表,如图-1 1所示所示为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室
8、育人功能规范化实例规范化实例工程号工程名称职工号姓名职务小时工资率工时实发工资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 某公司的工资表为深入学习习近平新
9、时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能规范化实例规范化实例工程号工程名称职工号姓名职务小时工资率工时A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1002李思岐李思岐技术员技术员6016A1花园大厦花园大厦1001齐光明齐光明工程师工程师6513A1花园大厦花园大厦1003鞠明亮鞠明亮工人工人5517A3临江饭店临江饭店1002李思岐李思岐技术员技术员6018A3临江饭店临江饭店1004葛宇洪葛宇洪技术员技术员6014图-2 某公司的项目工时表为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻
10、全国教育大会精神,充分发挥中小学图书室育人功能规范化实例规范化实例1.表中包含大量的冗余,可能会导致数据异常:表中包含大量的冗余,可能会导致数据异常:l更新异常更新异常 例例如如,修修改改职职工工号号=1001的的职职务务,则则必必须须修修改改所所有有职职工工号号=1001的行的行l添加异常添加异常 若若要要增增加加一一个个新新的的职职工工时时,首首先先必必须须给给这这名名职职工工分分配配一一个个工工程程。或或者者为为了了添添加加一一名名新新职职工工的的数数据据,先先给给这这名名职职工分配一个虚拟的工程。(因为主关键字不能为空)工分配一个虚拟的工程。(因为主关键字不能为空)l删除异常删除异常
11、例例如如,1001号号职职工工要要辞辞职职,则则必必须须删删除除所所有有职职工工号号1001的的数数据据行行。这这样样的的删删除除操操作作,很很可可能能丢丢失失了了其其它它有有用的数据用的数据为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能规范化实例规范化实例2采采用用这这种种方方法法设设计计表表的的结结构构,虽虽然然很很容容易易产产生生工工资资报报表表,但但是是每每当当一一名名职职工工分分配配一一个个工工程程时时,都都要要重重复复输输入入大大量量的的数数据据。这这种种重重复复的的输输入入操操作作,很可能导致数据的不一致性。很可能导
12、致数据的不一致性。为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能一张表描述了多件事情,如图-3所示。应用范式规范化设计应用范式规范化设计工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工时工时图图-3 函数依赖图函数依赖图工程信息员工信息项目工时信息为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能应用第二范式规范化应用第二范式规范化工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务小时工资率小时工资率工程号工程号职工号职工号工时工时图图
13、-4 应用第二范式应用第二范式工程表员工表项目工时表满足第三范式吗?满足第三范式吗?为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能应用第三范式规范化应用第三范式规范化工程号工程号工程名称工程名称职工号职工号姓名姓名职务职务职务职务小时工资率小时工资率工程号工程号职工号职工号工时工时工程表员工表职务表工程表为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能鲍依斯鲍依斯-科得范式(科得范式(BCNF)lBCNF:在在3NF基础上,加上主键也不能有基础上,加上主键也不能有传递依
14、赖传递依赖 为深入学习习近平新时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能规范化和性能的关系规范化和性能的关系 l为为满满足足某某种种商商业业目目标标,数数据据库库性性能能比比规规范范化化数数据据库更重要库更重要通通过过在在给给定定的的表表中中添添加加额额外外的的字字段段,以以大大量量减减少需要从中搜索信息所需的时间少需要从中搜索信息所需的时间通通过过在在给给定定的的表表中中插插入入计计算算列列(如如成成绩绩总总分分),以方便查询以方便查询l进进行行规规范范化化的的同同时时,还还需需要要综综合合考考虑虑数数据据库库的的性性能能。为深入学习习近平新
15、时代中国特色社会主义思想和党的十九大精神,贯彻全国教育大会精神,充分发挥中小学图书室育人功能总结总结:l 规范化的本质是提高数据独立性,解决规范化的本质是提高数据独立性,解决插入异常、删除异常、修改复杂、数据冗插入异常、删除异常、修改复杂、数据冗余等问题的方法。规范化的基本思想是逐余等问题的方法。规范化的基本思想是逐步消除数据依赖中不合适的部分。步消除数据依赖中不合适的部分。第一范式(第一范式(1NF)的目标:确保每列的原子性。)的目标:确保每列的原子性。第二范式(第二范式(2NF)的目标:确保表中的每列,都和主)的目标:确保表中的每列,都和主键相关键相关 第三范式(第三范式(3NF)的目标:确保每列都和主键列直接)的目标:确保每列都和主键列直接相关,而不是间接相关相关,而不是间接相关