资源预览内容
第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
第9页 / 共45页
第10页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
关系数据库,关系规范化,数据库系统原理,一、为什么需要关系规范化(原因),数据库系统原理,为什么“ChooseCourse”数据库中存在以下的表格(关系模式)。,一、为什么需要关系规范化(原因),数据库系统原理,如果我们将“ChooseCourse”中的表格简化成以下形式,会存在什么问题?,一、为什么需要关系规范化(原因),数据库系统原理,如果向vStudent中插入一条新“学生”记录,会发生什么?,班级名称重复输入,专业名称重复输入,学院名称重复输入,一、为什么需要关系规范化(原因),数据库系统原理,如果向vStudent中插入一条新“学生”记录,会发生什么?,如果“建筑2001-1” 输入为“建筑2001级1班” “赵静”与上面的学生还是一个班的吗?,建筑2001级1班,一、为什么需要关系规范化(原因),数据库系统原理,如果向vStudent中插入一条新“专业”记录,会发生什么?,如果插入“土木工程”专业,但是还没有学生, 那么如何来记录该专业信息?,土木工程 | 土木建筑学院,一、为什么需要关系规范化(原因),数据库系统原理,在向表格中插入数据的时候出现“数据不一致”或“无法正常表示”,称“插入异常”。,如果“建筑2001-1” 输入为“建筑2001级1班” “赵静”与上面的学生还是一个班的吗?,如果插入“土木工程”专业,但是还没有学生, 那么如何来记录该专业信息?,一、为什么需要关系规范化(原因),数据库系统原理,如果从vStudent中删除“学生”记录,会发生什么?,将所有“建筑学”专业的毕业生信息删除,但是新生信息还没有登记, 那么“建筑学”专业信息不符存在!,一、为什么需要关系规范化(原因),数据库系统原理,在从表格中删除数据的时候出现“不该丢失的信息出现丢失”,称“删除异常”。,将所有“建筑学”专业的毕业生信息删除,但是新生信息还没有登记, 那么“建筑学”专业信息不符存在!,一、为什么需要关系规范化(原因),数据库系统原理,需要规范化的原因:,数据异常存在:插入异常;删除异常。,数据冗余。,一、为什么需要关系规范化(原因),数据库系统原理,产生数据异常 / 数据冗余的原因是什么?,数据依赖 的存在是造成数据异常。,二、如何规范化,数据库系统原理,消除数据依赖可以做到消除数据异常 / 数据冗余。,数据依赖,函数依赖,多值依赖,2.1,二、如何规范化,数据库系统原理,函数依赖,R(U)是属性集U上的关系模式 X, Y 是U的子集 r是R(U)的任意一关系 r1(X) = r2(X) r1(Y) = r2(Y) XY,X 函数决定 Y / Y 函数依赖 X,决定因素,2.1.1,二、如何规范化,数据库系统原理,函数依赖,平凡函数依赖,非平凡函数依赖,完全函数依赖,部分函数依赖,传递函数依赖,二、如何规范化,数据库系统原理,函数依赖,平凡函数依赖,二、如何规范化,数据库系统原理,函数依赖,非平凡函数依赖,二、如何规范化,数据库系统原理,函数依赖,完全函数依赖,二、如何规范化,数据库系统原理,函数依赖,部分函数依赖,二、如何规范化,数据库系统原理,函数依赖,传递函数依赖,二、如何规范化,数据库系统原理,消除数据依赖可以做到消除数据异常 / 数据冗余。,数据依赖,函数依赖,多值依赖,码(Key),2.1.2,二、如何规范化,数据库系统原理,Key : 能唯一标识一个对象的属性.,候选码(Candidate Key),候选码(Candidate Key) 主属性,主码(Primary Key),二、如何规范化,数据库系统原理,Key : 能唯一标识一个对象的属性.,外码(Foreign Key) NonIdentifying-Relationship 外码是非主属性,二、如何规范化,数据库系统原理,Key : 能唯一标识一个对象的属性.,外码(Foreign Key) Identifying-Relationship 外码是主属性,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,1NF,R关系中的每个属性都是不可分割的、是原子的。,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,2NF,R1NF R中的非主属性完全函数依赖主属性。 消除部分函数依赖。,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,3NF,R2NF R中不存在传递依赖码的非主属性。 消除部分函数依赖 、传递函数依赖。,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,BCNF,R1NF ( ( Y 非平凡函数依赖 X ) ( X 包含 Key ) ) 。 R3NF , 消除主属性对码的部分函数依赖 、传递函数依赖。,所有的决定因素都包含有码。,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,BCNF,StudentID,CourseID Teacher, Score,StudentID,TeacherID Course, Score,Teacher Course,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,BCNF,BCNF的分解,消除了在主属性上的部分函数依赖,TeacherID CourseID,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,BCNF,BCNF在函数依赖的条件下达到了最规范的程度。,如果一个关系是全码关系,请问符合第几范式,为什么?,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,4NF,R1NF ( ( Y 非平凡多值依赖 X ) ( X包含码 ) ),二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,4NF,多值依赖,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,4NF,R1NF ( ( Y 非平凡多值依赖 X ) ( X包含码 ) ) 消除非平凡且非函数依赖的多值依赖。,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,4NF,X: CourseID, Y: TeacherID, Z: Book,CourseID TeacherID,(CourseID, Book) TeacherID,TeacherID CourseID,二、如何规范化,数据库系统原理,使用 “ 范式理论 ” 对关系的规范化进行测度分析。,2.2,为什么会存在不规范的数据库?,没有做到概念单一,实体概念单一,联系概念单一,二、如何规范化,数据库系统原理,使用 “ 模式分解 ” 对关系进行规范化操作。,2.3,模式分解的步骤:,1. 将属性原子化 1NF,2. 消除部分函数依赖 2NF,3. 消除传递函数依赖 3NF,4. 消除主属性上的传递、部分函数依赖 BCNF,5. 消除非平凡且非函数依赖的多值依赖 4NF,二、如何规范化,数据库系统原理,使用 “ 模式分解 ” 对关系进行规范化操作。,2.3,模式分解的问题:,1. 带来关系模式的复杂程度的提高。,2. 造成更多的连接操作,从而查询效率降低。,3. 操作不当会出现“连接损失”。,二、如何规范化,数据库系统原理,使用 “ 模式分解 ” 对关系进行规范化操作。,2.3,模式分解的问题:,1. 带来关系模式的复杂程度的提高。,2. 造成更多的连接操作,从而查询效率降低。,办法:控制分解后的模式达到 3NF即可。,二、如何规范化,数据库系统原理,使用 “ 模式分解 ” 对关系进行规范化操作。,2.3,模式分解的问题:,3. 操作不当会出现“连接损失”。,二、如何规范化,数据库系统原理,使用 “ 模式分解 ” 对关系进行规范化操作。,2.3,模式分解的原则:,1. 至少满足3NF。,2. 保持无损连接。,3. 保持函数依赖。,软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。,3.5 数据规范化,通常用“范式(normal forms)”定义消除数据冗余的程度。 第一范式(1 NF)数据冗余程度最大,第五范式(5 NF)数据冗余程度最小。 但是,范式级别越高,存储同样数据就需要分解成更多张表,因此,“存储自身”的过程也就越复杂。第二,随着范式级别的提高,数据的存储结构与基于问题域的结构间的匹配程度也随之下降,因此,在需求变化时数据的稳定性较差。 第三,范式级别提高则需要访问的表增多,因此性能(速度)将下降。从实用角度看来,在大多数场合选用第三范式都比较恰当。,(1) 第一范式每个属性值都必须是原子值,即仅仅是一个简单值而不含内部结构。,(2) 第二范式满足第一范式条件,而且每个非关键字属性都由整个关键字决定(而不是由关键字的一部分来决定)。,(3) 第三范式符合第二范式的条件,每个非关键字属性都仅由关键字决定,而且一个非关键字属性不能仅仅是对另一个非关键字属性的进一步描述(即一个非关键字属性值不依赖于另一个非关键字属性值)。,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号