数据库技术第四章节.doc
文本预览下载声明
第四章 关系数据理论 2
4.1 知识要点 2
4.1.1问题的产生 2
4.1.2基本概念 2
1.函数依赖 2
2.非平凡的函数依赖和平凡的函数依赖 2
3.完全函数依赖和部分函数依赖 3
4.传递函数依赖 3
5.码 3
4.1.3范式 3
1.1NF 4
2.2NF 4
3.3NF 4
4.BCNF 4
4.1.4关系数据库规范化 4
1.关系模式规范化的步骤 5
2.关系模式的分解 5
4.2 范例分析 5
4.2.1问题的产生 6
4.2.2基本概念 6
4.2.3范式 8
4.2.4关系数据库规范化 10
4.3 精选习题 13
4.3.1单项选择题 13
4.3.2多项选择题 15
4.3.3填空题 16
4.3.4判断题 18
4.3.5问答题 18
第四章 关系数据理论
本章主要围绕关系基本概念、范式和关系数据库规范化等内容展开范例分析与理解。
4.1 知识要点
4.1.1问题的产生
对于数据库应用系统而言,数据库逻辑结构的设计对于数据库应用系统功能的实现影响巨大,一个不好的设计,将会导致数据冗余和存储异常。
数据冗余:指数据库中存在多余的重复数据。
存储异常:指数据在插入、删除和修改时出现异常,使原本应该插入的数据不能输入,不应删除的数据被删除,数据修改时复杂且易出错。
关系数据理论,即关系规范化理论是进行数据库逻辑结构设计的有力工具,通过它,可以判断数据库的逻辑结构设计是否优良,并可以对一个不好的逻辑设计进行改造以使它变得好起来。
4.1.2基本概念
一个关系模式在数据操纵时发生数据冗余和存储异常,根本原因在于这个关系模式的属性之间存在着数据依赖,其中函数依赖是一种重要的数据依赖。
1.函数依赖
函数依赖,顾名思义,就是属性之间存在着类似于数学中函数的一种数据依赖关系。
定义:设U{A1,A2,…,An}是属性集合,R(U)是U上的一个关系,X、Y是U的子集。若对于R(U)下的任何一个可能的关系,均有X的一个值对应于Y的唯一具体值,称X函数决定Y,或者Y函数依赖于X,记作X?Y。其中X称为决定因素。
需要注意的是函数依赖只能根据数据在实际中的含义来确定。同时函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均要满足的约束条件。
2.非平凡的函数依赖和平凡的函数依赖
如果X?Y,但Y不是X的子集,则称X?Y是非平凡的函数依赖。
如果X?Y,但Y是X的子集,则称X?Y是平凡的函数依赖。
若不特别声明,讨论的总是非平凡的函数依赖。
3.完全函数依赖和部分函数依赖
如果X?Y,其中的X不是单个属性,而是属性组合,这时,我们还要进一步讨论这个函数依赖是完全函数依赖还是部分函数依赖。
定义:设R(U)是属性集U上的关系,X、Y是U的子集,X’是X的真子集,若X→Y且X’→Y,则称Y部分依赖于X。
若X→Y且X’→Y均不成立,则称Y完全依赖于X。
4.传递函数依赖
属性之间如果两两之间存在着函数依赖,那么它们之间还可能存在着传递函数依赖。
定义:设R(U)是属性集U上的关系,X、Y、Z是U的子集,在R(U)中,若X?Y,但Y?X不成立,同时Y→Z,则称Z传递函数依赖于X。
特别需要注意的是传递函数依赖的三个条件:X?Y成立、Y?X不成立、同时Y?Z成立,三者缺一不可。如果X?Y成立,同时Y?X也成立,此时X、Y之间就是相互函依赖,此时如果Y?Z,那么Z对于X就不是传递函数依赖,而是直接函数依赖了。
5.码
可以从函数依赖的角度给出码的定义:
设R(U)是属性集U上的关系,K是U的子集,如果K满足以下条件,则称K为关系R的候选码。
K函数决定该关系的所有其他属性。
K的任何真子集都不能函数决定R的有其他属性,也就是说码必须是最小的。
若候选码多于一个,则选定其中的一个为主码。包含在候选码中的属性,称为主属性,不包含在任何候选码中的属性称为非主属性或非码属性。如果一个关系的所有属性都是主属性,该关系称为全码关系。
4.1.3范式
显示全部