《sqlserver2016数据库应用与开发黄能耿)配套资源1.7-规范化设计——范式理论》由会员分享,可在线阅读,更多相关《sqlserver2016数据库应用与开发黄能耿)配套资源1.7-规范化设计——范式理论(15页珍藏版)》请在金锄头文库上搜索。
1、第1章 数据库基础 1.2 关系数据库 1.2.5 规范化设计范式理论,1.2 关系数据库,1.2.1 数据模型 1.2.2 关系模型 1.2.3 关系模型的基本特征 1.2.4 ER模型向关系模型的转换 1.2.5 规范化设计 1 关系中的异常 设计得不好的关系可能出现的异常: 数据冗余、 插入异常、 更新异常、 删除异常 2 范式理论 3 关系中异常的消除 1.2.6 规范化设计的实施,1.2 关系数据库,1.2.1 数据模型 1.2.2 关系模型 1.2.3 关系模型的基本特征 1.2.4 ER模型向关系模型的转换 1.2.5 规范化设计 1 关系中的异常 2 范式理论 3 关系中异常的
2、消除 1.2.6 规范化设计的实施,2 范式理论,第一范式(1NF),如果一个关系满足关系模型的基本特征,并且属性的值只包含域中的一个单一的值,则称该关系属于第一范式(1NF),属性值必须是原子性的,第一范式例子,第二范式(2NF),如果一个关系已经属于1NF,另外再满足一个条件,每个非主属性(不构成主键的属性)都必须完全依赖于主键,不能部分依赖于主键,则称该关系属于第二范式(2NF),完全依赖,部分依赖,A B,依赖,第二范式(2NF),如果一个关系已经属于1NF,另外再满足一个条件,每个非主属性(不构成主键的属性)都必须完全依赖于主键,不能部分依赖于主键,则称该关系属于第二范式(2NF),
3、订单明细(订单编号,产品编号,单价,数量,产品名称),因此产品名称部分依赖于主键,不满足 2NF,第二范式例子,第二范式(2NF),如果一个关系已经属于1NF,另外再满足一个条件,每个非主属性(不构成主键的属性)都必须完全依赖于主键,不能部分依赖于主键,则称该关系属于第二范式(2NF),订单明细(订单编号,产品编号,单价,数量,产品名称),产品(产品编号,单价,产品名称) 订单明细(订单编号,产品编号,数量),拆分 关系,第三范式(3NF),如果一个关系已经属于2NF,另外再满足一个条件,每个非主属性都直接依赖于主键,不能传递依赖于主键,则称该关系属于第三范式(3NF),订单(订单编号,订单日
4、期,客户编号,客户姓名,客户地址),不能存在非主属性A依赖于非主属性B,非主属性B再依赖于主键的情况,因此客户姓名传递依赖于主键,不满足 3NF,第三范式例子,第三范式(3NF),如果一个关系已经属于2NF,另外再满足一个条件,每个非主属性都直接依赖于主键,不能传递依赖于主键,则称该关系属于第三范式(3NF),订单(订单编号,订单日期,客户编号,客户姓名,客户地址),客户(客户编号,客户姓名,客户地址) 订单(订单编号,订单日期,客户编号),拆分 关系,1.2 关系数据库,1.2.1 数据模型 1.2.2 关系模型 1.2.3 关系模型的基本特征 1.2.4 ER模型向关系模型的转换 1.2.5 规范化设计 1 关系中的异常 2 范式理论 目标:没有插入异常、更新异常、删除异常,较低的数据冗余 第一范式(1NF):属性值的原子性 第二范式(2NF):没有部分依赖 第三范式(3NF):没有传递依赖 3 关系中异常的消除 1.2.6 规范化设计的实施,