关系数据库的规范化理论(精选)
关系数据库的规范化理论.

第3章 关系数据库的规范化理论
T
8
3.3.4 BCNF
用图3.6表示如下: 这个关系模式满足3NF,因为没有任何非主属性对关 键字传递依赖或部分依赖。但是这个关系模式不满足BCNF, 因为T是决定因素,但T不是关键字。 从这个例子中也可以看出,实际上第三范式也避免不 了异常性,如某课程本学期不开设,则就无学生就读,此 时有关教师固定开设某课程的信息就无法表示。为了避免 这种异常性,可以把STC分解成
这些研究为规范化提供了更多的基础信息。
10
第3章 关系数据库的规范化理论
3.3.4 BCNF
(2)模式分解的研究
规范化的实施主要依靠不断地进行模式分解。在模式分解 中需要研究下列问题:
① 分解后关系中的信息是否会丢失?这叫无损联接性 (Lossless join)。 ② 分解后关系中的函数依赖是否会丢失?这叫依赖保持 性。
7
第3章 关系数据库的规范化理论
3.3.4 BCNF
BCNF(Boyce Codd Normal Form)是由Boyce与Codd提 出的,比上述的3NF又进了一步,通常认为BCNF是修正了的 第三范式,有时也称为扩充的第三范式。
定义3.8 如R(U)中X,Y U,假定满足R∈1NF,且若X Y(Y X)时X必含关键字,则称R满足Boyce-Codd范式(可 简称BCNF),并记作R∈BCNF。 例如关系模式STC(S,T,C)中,S表示学生,T表示 教师,C表示课程。主属性集为{S,C},非主属性集为{T}。 每一个教师仅上一门课,学生与课程确定后,教师即惟一 确定。由语义可得到如下的函数依赖。
第3章 关系数据库的规范化理论
4
3.3.2 第二范式(2NF)
第7章 关系数据库规范化理论

7.2.1 关系模式中的码
例:
关系模式S(Sno,Sdept,Sage),单个属性Sno是码
SC(Sno,Cno,Grade)中,(Sno,Cno)是码 关系模式R(P,W,A)
P:演奏者
W:作品
A:听众
一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-Key
Sno→SName
Sno→Sdept
Sno→Sage
例:SC(Sno, Cno, Grade)
(Sno, Cno)→Grade
8
7.1.2 一些术语和符号
平凡函数依赖与非平凡函数依赖
在关系模式R(U)中,对于U的子集X和Y,
如果X→Y,但Y X,则称X→Y是非平凡的函数依赖
若X→Y,但Y X,
则称X→Y是平凡的函数依赖
例:在关系SC(Sno, Cno, Grade)中,
非平凡函数依赖: (Sno, Cno) → Grade 平凡函数依赖: (Sno, Cno) → Sno
(Sno, Cno) → Cno
如不作特别说明,总是讨论非平凡函数依赖。
9
7.1.2 一些术语和符号
若X→Y,则X称为这个函数依赖的决定属性
24
7.2.1 关系模式中的码
外部码:用于关系表之间建立关联的属性(组)。 关系模式 R 中属性或属性组X 并非 R的码,但 X
是另一个关系模式的码,则称 X 是R 的外部码,也 称外码。
如在SC(Sno,Cno,Grade)中,Sno不是码,
但Sno是关系模式S(Sno,Sdept,Sage)的码, 则Sno是关系模式SC的外部码
关系数据库规范化理论

关系数据库规范化理论数据库设计的问题可以简单地描述为:如果要把一组数据存储到数据库中,如何为这些数据设计一个合适的逻辑结构呢?在关系数据库系统中,就是如何设计一些关系表以及这些关系表的属性。
这就是本章主要介绍的关系模式的规范化设计问题;问题的提出假设有如下关系sS(sno,name,sex,cno,cname,degr) 其中,s表示学生表,对应的各个属性依次为学号、姓名、性别、课程号、课程名和成绩。
主码为(sno,cno);这个关系模式存在如下问题:(1)数据冗余当一个学生选修多门课程就会出现数据冗余。
例如:可能存在这样的记录(s0102,’王华’,’男’,c108,’c语言’,84),(s0102,’王华’,’男’,c206,’数据库原理与应用’,92)和(s0108,’王丽’,’女’,c206,’数据库原理与应用’,96),这样导致name、sex和cname属性多次重复存储。
(2)不一致性由于数据存储冗余,当更新某些数据项时,就有可能一部分字段修改了,而另一部分字段未修改,造成存储数据的不一致性。
例如:可能存在这样记录:(s0102,’王华’,’男’,c108,’c语言’,84),(s0108,’王丽’,’女’,c206,’数据库原理与应用’,92),这就是数据不一致性;(3)插入异常如果某个学生未选修课程,则其no、name 和sex属性值无法插入,因为cno为空,关系数据模式规定主码不能为空或部分为空,这便是插入异常。
例如,有一个学号为s0110的新生“陈强”,由于尚未选课,不能插入到关系s中,无法存放该学生的基本信息。
(4)删除异常当要删除所有学生成绩时,所有no、name和sex属性也都删除了,这便是删除异常。
例如,关系s中只有一条学号为s0105的学生记录:(s0105,’王华’,’男’,c018,’c语言’,84),现在需要将其删除,在该记录删除后,学号为s0105的学生“王华”的基本信息也被删除了,而没有其他地方存放该学生的基本信息。
关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计在当今数字化的时代,数据成为了企业和组织的重要资产,而关系数据库作为存储和管理数据的重要手段,其设计的合理性直接影响着数据的质量、完整性和可用性。
关系数据库的规范化理论是指导数据库设计的重要原则,它能够帮助我们避免数据冗余、更新异常等问题,从而提高数据库的性能和可靠性。
首先,我们来了解一下关系数据库的基本概念。
关系数据库是由一组二维表组成的,每张表都有一个唯一的表名,表中的每一行称为一个元组,代表一个实体;每一列称为一个属性,代表实体的一个特征。
通过在不同的表之间建立关联,我们可以实现数据的查询和操作。
那么,什么是规范化理论呢?规范化理论是一种用于设计关系数据库的方法和原则,其目的是通过对关系模式进行分解和优化,消除数据冗余和更新异常,确保数据的一致性和完整性。
规范化理论主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。
第一范式要求表中的每个属性都是不可再分的原子值。
例如,如果有一个“联系人信息”表,其中包含“地址”这个属性,如果地址又分为“省”“市”“区”“详细地址”等子属性,那么就不满足第一范式,需要将其拆分成多个属性。
第二范式要求在满足第一范式的基础上,每个非主属性都完全依赖于主键。
举个例子,如果有一个“订单”表,主键是“订单号”,而“客户姓名”和“客户地址”等非主属性只依赖于“客户编号”,而不是“订单号”,那么就不满足第二范式,需要将其拆分成两个表,一个是“订单”表,一个是“客户”表。
第三范式要求在满足第二范式的基础上,每个非主属性都不传递依赖于主键。
比如说,有一个“员工”表,主键是“员工编号”,“部门名称”依赖于“部门编号”,而“部门编号”又依赖于“员工编号”,这就不满足第三范式,需要将“部门名称”这个属性移到“部门”表中。
规范化理论在数据库设计中具有重要的意义。
通过规范化设计,可以减少数据冗余,节省存储空间。
想象一下,如果一个客户的信息在多个表中重复存储,不仅浪费空间,而且当客户信息发生变化时,需要在多个地方进行更新,容易导致数据不一致。
关系数据库规范化理论

规范化可以消除数据冗余,确保每个数据只在数据库中存储一次,从而提高数据的一致性。
第一范式 (1NF)
表结构
第一范式要求每个数据表都应具有原子性,即每 个表中的列不能再进一步分解。
主键
每个表必须具有一个唯一标识记录的主键,用于 保证数据的唯一性和关联性。
第二范式 (2NF)
1 函数依赖
数据表中出现函数依赖时,就需要进行第二范式的规范化。避免冗余数据。
关系数据库规范化理论
规范化是设计关系数据库中的一项重要理论,它能使数据存储结构更加合理、 高效。通过划分数据表,规范化能够消除数据冗余、提高数据一致性和查询 性能。
规范化定义
目的明确
规范化通过一定的规则将一个大的数据表拆分成多个小的数据表,以实现数据的高内聚和低 耦合。
数据准确性
规范化能确保数据的准确性,因为数据被划分为更小的范围,每个数据表只存储特定类型的 数据。
3 学生管理系统
拆分学生、课程、成绩等信息,确保学生信息的一致性和教务管理的高效性。
规范化的局限性及未来研究方向
局限性
规范化可能导致表结构复杂,加重查询和维护 的工作量。某些情况下,冗余数据可能是必要 的。
未Hale Waihona Puke 研究方向未来的研究可以探索如何在规范化的基础上平 衡数据一致性和查询性能,以及结合其他技术 实现更灵活的数据存储。
优点 数据一致性提高 数据冗余减少 数据更新更容易
缺点 可能会导致过度分解数据表,增加查询复杂性 可能引起频繁的表连接操作,影响查询性能 增加了设计和维护的复杂性
规范化的应用举例
1 在线购物系统
将用户、订单、商品等信息拆分为多个表,确保数据的一致性和查询效率。
第03章 关系数据库规范化理论

项目3.2
3.2.3
3.2.3.3
关系模式的规范化
关系模式的规范化
第三范式(3NF)
若关系R∈2NF,且它的每个非主属性都不传递依赖于主码,则称R∈3NF。 显然,R21∈3NF,R22只存在一个非主属性,不可能存在传递函数依 赖,所以R2∈23NF。 3.2.3.4 关系规范化的步骤
关系规范化的步骤如 图3-4所示。
3.2.3.2 第二范式(2NF)
若关系R∈1NF,且它的每个非主属性都完全依赖于主码,则称R∈2NF。
很显然,如图3-2所示的R1、R2都属于2NF。将R分解为R1和R2以后,一定 程度上减轻了数据冗余和操作异常,但仍然存在着数据冗余和操作异常。
项目3.2
3.2.3
3.2.3.2
关系模式的规范化
函 数 依 赖
函数依赖的推理规则
完全函数依赖
设有关系R,x、y、z为R的一个属性集,则推理规则如下所述。
(1) 自反律:如果
y x ,则x→y。这是一个平凡函数依赖。
(2) 增广律:如果x→y,则xz→yz。 (3) 传递律:如果x→y、y→z,则x→z。 (4) 合并律:如果x→y、x→z,则x→yz。 (5) 分解律:如果x→yz,则x→y,x→z。
项目3.2
3.2.2 范式
关系模式的规范化
范式来自英文Normal Form,简称NF,指一个关系的非主属性函数依赖 于主码的程度。目前主要有6种范式:
第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。 满足最低要求的叫第一范式,简称为1NF; 在第一范式基础上进一步满足一些要求的为第二范式,简称为2NF; 以此类推,则各种范式之间存在如下联系:
二、填空题
数据库课件第4章关系数据库(RDB)规范化设计理论

3. 完全函数依赖与部分函数依赖
完全函数依赖: 在关系模式R(U)中,如果X→Y,并且对于X的任何一 个真子集X′,都有X′ Y,则称Y完全函数依赖于X, 记作X f Y。 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称Y部分函数依 p Y。 赖于X,记作X
例8: 学生(学号,姓名,所在系,系主任姓名,课程号,成绩) 学生关系模式存在的部分函数依赖: p (学号,课程号) 姓名 p 所在系 (学号,课程号) p (学号,课程号) 系主任姓名
教师姓 名
李林 78号
住址
课程号
C1
课程名
N1
李林
李林 汪佳 吴仪
78号
78号 59号 79号
C2
C3 C4 C5
N2
N3 N4 N5
师帆
76号
C6
N6
⑷当执行数据插入时,DB中的数据不能产生插入 异常现象 所谓“插入异常”是指希望插入的信息由于不 能满足数据完整性的某种要求而不能正常地被 插入到DB中的异常问题。 比如:上例中插入一个尚未安排授课的新进教师 信息. 原因: 因多种信息混合放在一个表中,可能造成因一 种信息被捆绑在其他信息上而产生的信息之间 相互依附存储的问题,使得信息不能独立插入。
第4章
关系数据库(RDB)规范化理论
4.1 关系模式规范化的必要性 4.2 数值依赖 4.3 范式与规范化 、关系分解原则
RDB规范化理论的目的是要设计“好的”RDB模式。要设计 好的关系模式,必须是关系满足一定的约束条件,此约束 形成了规范。 范式(Normal Form):衡量DB规范的层次或深度,DB规范化 层次由范式来决定。简记作NF. 根据关系模式满足的不同性质和规范化的程度,将关系模 式分为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、 BC范式、第四范式(4NF)、第五范式(5NF),范式越高规范 化程度越高。 规范化:低级关系模式通过模式分解转换为若干高级范式 的关系模式集合的过程。 规范化是在RDB中减少数据冗余的过程。
(有例子)关系数据模式的规范化理论

在某些情况下,为了保持数据的完整性,可能会导致数据冗余。
维护困难
当需要添加、删除或修改数据时,可能需要修改多个相关表,增 加了维护的复杂性。
第二范式(2NF)
点击此处添加正文,文字是您思想的提炼,为了演示发布的良好效果,请言简意赅的 阐述您的观点。
定义与特性
特性
必须消除非主属性对候选键的部分 函数依赖。
设计和实施难度
4NF需要仔细设计和实施,以避免出现不必要的复杂性和问题。在实践中,完 全符合4NF的设计并不总是可行的,有时需要进行适当的反规范化以提高性能。
07
关系数据模式规范化的实践建议
选择合适的规范化级别
第一范式 (1NF): 确保属性值 是原子的,消除重复的组。
第二范式 (2NF): 在1NF基础 上,消除部分依赖。
第四范式(4NF)通过消除多值依赖,确保了数据的 无冗余性,从而提高了数据的一致性和完整性。
简化数据模型
4NF将数据模型简化为更简单的形式,使得数据的处 理和查询更加高效。
减少数据冗余
通过消除多值依赖,4NF有效地减少了数据冗余,避 免了数据不一致的问题。
4NF的缺点与问题
性能影响
由于4NF对数据模型进行了高度的规范化,可能会导致查询性能下降。因为为 了获取所需的数据,可能需要连接更多的表,导致查询效率降低。
重要性
随着数据库技术的不断发展,规范化理论在关系型数据库的设 计和管理中扮演着至关重要的作用。它有助于减少数据冗余、 避免数据异常和数据不一致性,提高数据的可维护性和可扩展 性,降低数据库的维护成本。
规范化过程简介
原始关系数据模式的识别
明确需要规范化的原始关系数据模式,包括 各个关系模式的属性和实体。
关系数据库规范化理论

第四章关系数据库规范化理论一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。
关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。
然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。
为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论——规范化理论。
4.1 关系规范化的作用规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。
如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题: 数据冗余度大插入异常删除异常所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。
数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。
插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。
删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。
(以P98工资表为例)解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。
(讲例子解)当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。
那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。
下面,将加以讨论:4.2 函数依赖实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。
数据库建模一章中讨论的是前一类,在这里我们将学习第二类。
和第一类一样,实体内部各属性间的联系也分为1:1、1:n和m:n三类:例:职工(职工号,姓名,身份证号码,职称,部门)1、一对一关系(1:1)设X、Y是关系R的两个属性(集)。
如果对于X中的任一具体值,Y中至多有一个值与之对应,反之,对于Y中的任一具体值,X中也至多有一个值与之对应,则称X、Y两属性间是一对一关系。
第6章关系数据库规范化理论

·包含在任一候选码中的属性,叫做主属性(Prime Attribute);
第6章 关系数据库规范化理论
· 不包含在任何码中的属性称为非主属性 (Nonprime Attribute)或非码属性(Non―key Attribute);
第6章 关系数据库规范化理论
2. 插入与删除异常 无法插入某部分信息或删除掉不应删除的信息称 为插入或删除异常。
例如,9级工资为660元的信息无法插入表。 因为该 表的码是姓名,而目前无职工工资级别为9级,表中不能 插入码为空值的记录。 即在插入一行时,此关系模式强 迫同时增加关于两个实体的数据。 又如,要删除姓名为 C的职工记录时,又将7级工资的信息一起删去了。 即在 删除一行时,删除了关于两个实体的数据。
属性间的联系可分为以下三类: 1. 一对一关系(1∶1) 以职工模式为例: 职工(职工号,姓名,职称,部 门),如果该企业(或单位)中职工无重名,则属性职工 号与姓名之间是1∶1关系。 一个职工号唯一地决定一 个姓名,一个姓名也可决定唯一的职工号。 设X、 Y是关系R的两个属性(集)。 如果对于X 中的任一具体值,Y中至多有一个值与之对应,且反之亦 然,则称X、 Y两属性间是一对一关系。
是唯一的。 对表 6 ― 4、 表 6 ― 5分别进行横向和纵 向展开,可分别转化为如表 6 ― 6、 表 6 ― 7 所示的符 合1NF的关系。
第6章 关系数据库规范化理论
6.1 关系规范化的作用
所谓规范化,就是用形式更为简洁、 结构更加规范 的关系模式取代原有关系的过程。
例 有三个属性的工资表(姓名,级别,工资)关系模 式。 对应此模式建立的表如表 6 ― 1 所示。
关系数据库规范化理论

关系数据库规范化理论在当今数字化的时代,数据的管理和处理变得至关重要。
关系数据库作为一种广泛应用的数据存储和管理方式,其规范化理论是确保数据库设计的合理性、有效性和可靠性的重要基石。
那么,什么是关系数据库规范化理论呢?简单来说,它是一套用于设计关系数据库的原则和方法,旨在减少数据冗余、避免数据不一致性,并提高数据的完整性和存储效率。
让我们先从数据冗余这个问题说起。
想象一下,如果在一个数据库中,相同的信息被多次重复存储,这不仅会浪费存储空间,还可能导致数据更新时出现不一致的情况。
比如说,在一个学生管理系统中,如果学生的基本信息(如姓名、性别、出生日期等)在多个表中都有重复记录,当需要修改某个学生的信息时,就很容易出现有的地方改了,有的地方没改的混乱局面。
为了解决这个问题,规范化理论提出了一系列的范式,从第一范式(1NF)到第五范式(5NF),逐步提高数据库设计的质量。
第一范式要求数据表中的每个字段都应该是不可再分的原子值。
举个例子,如果有一个“地址”字段,包含了“省份、城市、区县、街道”等信息,这就不符合 1NF,应该将其拆分成多个字段,分别存储每个具体的部分。
第二范式则是在满足 1NF 的基础上,要求非主属性完全依赖于主键。
比如说,在一个订单表中,如果“订单号”是主键,而“商品名称”和“商品价格”等信息不完全依赖于“订单号”,而是还依赖于“商品编号”,那么就不符合 2NF,可能会导致数据冗余和更新异常。
第三范式进一步要求非主属性之间不存在传递依赖于主键的关系。
比如,在一个员工表中,如果“员工编号”是主键,“部门编号”依赖于“员工编号”,而“部门地址”又依赖于“部门编号”,这就存在传递依赖,不符合 3NF。
随着数据库设计的复杂度增加,还有更高阶的范式,如巴斯范式(BCNF)、第四范式(4NF)和第五范式(5NF),但在实际应用中,通常达到第三范式就能够满足大多数的需求。
规范化理论的好处是显而易见的。
关系数据库规范化理论

函数依赖示例
对于关系模式SCD
U={StudNo,StudName,StudSex,Deptment,DMasterNM, CourseID,StudScore}
F={StudNo→StudName,StudNo→StudSex, StudNo→Deptment}
一个StudNo有多个StudScore的值与其对应,因此 StudScore不能唯一地确定,即StudScore不能函数依 赖于StudNo,所以有: StudNo StudScore。
0
信息
王平 GDSX01
70
信息
王平 SJJG02
85
自动化 刘伟 SJKJC01
93
整理ppt
11.1.3 异常问题
(StudNo,CourseID)属性的组合能唯一标识一个元组, 为主关系键
在进行数据库的操作时,会出现以下几方面的问题
• 1. 数据冗余
• 系名、系主任姓名、学生姓名、性别重复,数据的冗余度
及应用
• 了解BCNF范式 • 能灵活应用范式理论进行关系模式的分解
整理ppt
11.1 规范化问题的提出
关系数据库的规范化理论最早是由关系数据库的创始 人E.F.Codd提出,后经许多专家学者深入的研究和发 展,形成了一整套有关关系数据库设计的理论
系统运行效率、成败的决定因素
• 如何设计一个适合的关系数据库系统,关键是关系数据
4. 更新异常
• 学生改名,则该学生的所有记录都要逐一修改StudName • 某系更换系主任,则属于该系的学生记录都要修改
DMasterNM的内容,稍有不慎,就有可能漏改某些记录, 这就会造成数据的不一致性,破坏了数据的完整性。
关系数据库规范化理论

关系数据库规范化理论篇一:关系数据库规范化理论第4章关系数据库规范化理论数据库设计的一个最基本的问题是怎样建立一个合理的数据库模式,使数据库系统无论是在数据存储方面,还是在数据操作方面都具有较好的性能。
什么样的模型是合理的模型,什么样的模型是不合理的模型,应该通过什么标准去鉴别和采取什么方法来改进,这是在进行数据库设计之前必须明确的问题。
为使数据库设计合理可靠、简单实用,长期以来,形成了关系数据库设计理论,即规范化理论。
它是根据现实世界存在的数据依赖而进行的关系模式的规范化处理,从而得到一个合理的数据库设计效果。
本章首先说明关系规范化的作用,接着引入函数依赖和范式等基本概念,然后介绍关系模式等价性判定和模式分解的方法,最后简要介绍两种数据依赖的概念。
4.1 关系规范化的作用4.1.1问题的提出从前面的有关章节可知,关系是一张二维表,它是涉及属性的笛卡尔积的一个子集。
从笛卡尔积中选取哪些元组构成该关系,通常是由现实世界赋予该关系的元组语义来确定的。
元组语义实质上是一个n目谓词(n是属性集中属性的个数)。
使该n目谓词为真的笛卡尔积中的元素(或者说凡符合元组语义的元素)的全体就构成了该关系。
但由上述关系所组成的数据库还存在某些问题。
为了说明的方便,我们先看一个实例。
【例4.1】设有一个关于教学管理的关系模式R(U),其中U由属性Sno、Sname、Ssex、Dname、Cname、Tname、Grade组成的属性集合,其中Sno的含义为学生学号,Sname为学生姓名,Ssex为学生性别,Dname为学生所在系别,Cname为学生所选的课程名称,Tname为任课教师姓名,Grade为学生选修该门课程的成绩。
若将这些信息设计成一个关系,则关系模式为:教学(Sno,Sname,Ssex,Dname,Cname,Tname,Grade)选定此关系的主键为(Sno,Cname)。
由该关系的部分数据(如表4-1所示),我们不难看出,该关系存在着如下问题:1. 数据冗余(Data Redundancy)每一个系名对该系的学生人数乘以每个学生选修的课程门数重复存储。
第3章关系数据库的规范化理论

补充概念:
(1)若X→Y,且Y X,则称X→Y是“非平凡的函数依
赖”。若不特别声明,本章涉及的均为非平凡的函数依
赖。
- 其中X叫做决定因素(Determinant)。
(2)若X→Y,且Y→X,则记作X Y。
(3)若Y不函数依赖于X,则记作X Y。
一般规律,
①若X与Y之间是1:1的联系,则X→Y,Y→X;
(S#,CN,SD)p G。
Y→定Z义,3则在称RZ(U对)中X传,递如函果数X→依Y赖,,记(作但:YX
X,且Y 传递 Z 。
X),
例, S#→SD,SD→MN,则S# 传递 MN
定义4 在R(U)中,如有K U且满足K f U,则称K为R
的关键字(Key-码)。若关键字多于一个,则均叫候选关
②若X与Y之间是N:1的联系,则X→Y(反之不成立);
③若X与Y之间是M:N的联系,则X与Y之间不存在任 何函数依赖关系。
定义2 若R(U)中,已知X→Y,并且对于任何X的真子集
X’都有X’ Y,则称Y完全函数依赖于X,记作:X f
Y(full)。
否则称为Y部分依赖于X,记作: X p Y(part)。 在上例中, S# f SD , SD f MN ,(S#,CN) f G,
1976年,Fagin提出:4NF;……
各范式之间的联系:
4NF BCNF 3NF 2NF 1NF。
本节讨论四种范式:第一范式、第二范式、第三范式以及BCNF范式。
3.3.1 第一范式(1NF)
一个低一级范式的关系模式,通过“模式分解”可以转 换为若干个高一级范式的关系模式的集合,这种过程称为 “规范化”。