第4章 关系数据库规范化理论

合集下载

DBS第四章

DBS第四章
X→Y∧W→Z X∪(W-Y)→YZ
第四章 关系数据库的规范化设计 4.2 函数依赖
例1:设有关系模式R(A,B,C,D,E),其上的 函
数依赖集F={AB→CD, A→B, D→E}. 求证F必蕴涵A→E。
证明:∵A→B (已知) ∴A→AB (扩展律) ∵AB→CD (已知) ∴A→CD (传递律) ∴A→C,A→D (分解规则) ∵D→E (已知) ∴A→E (传递律)
X→Ai(i=1,2,…,n)中Ai的集合为X的属性闭包
记为
X
+ F
,即:
X
+ F
={Ai|AiU,且X→Ai在F+中}
第四章 关系数据库的规范化设计 4.2 函数依赖
定理4.4: 函数依赖X→Y能从F推出的充分必要条件是
YX+F ; (能用推理规则从F推出的所有X→Y的Y都在X +F中。
第四章 关系数据库的规范化设计 4.2 函数依赖
3
0003 C107
4
第四章 关系数据库的规范化设计 4.1 关系模式的设计问题
分析: (1)出现冗余和各种异常的原因
事物及事物的各个属性之间有一定的联系、约束 关系模式应尽量准确地反映这种内在的语义 不应把关系不密切或具有“排它”性的属性集中 (2)数据之间的联系→数据依赖→函数依赖(多对一)√
S#,
G
F={(S#, , C,#→T#} T#→TD C#
C#)→G
T#
T D
第四章 关系数据库的规范化设计
4.2 函数依赖
例2:设关系模式R(ABCD),在R的关系中,属性 值
间具有联系:
B→A
A值与B值有一对多联系; C值与D值有一对一联系;

数据库原理 第四章关系数据库理论期末习题与答案

数据库原理 第四章关系数据库理论期末习题与答案

1、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()。

A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑正确答案:A2、下列关于规范化理论各项中正确的是()。

A.对于一个关系模式来说,规范化越深越好B.满足第二范式的关系模式一定满足第一范式C.第一范式要求---非主码属性完全函数依赖关键字D.规范化一般是通过分解各个关系模式实现的,但有时也有合并正确答案:B3、X→Y能从推理规则导出的充分必要条件是()。

A.B.C.D.正确答案:D4、两个函数依赖集F和G等价的充分必要条件是()。

A.B.C.D.5、设有关系模式R(A,B,C,D,E),函数依赖集F={A→B,B→C,C→D,D→A},ρ={AB,BC,AD}是R上的一个分解,那么分解ρ相对于F()。

A.既是无损连接分解,又是保持函数依赖的分解B.是无损连接分解,但不是保持函数依赖的分解C.不是无损连接分解,但是保持函数依赖的分解D.既不是无损连接分解,也不是保持函数依赖的分解正确答案:D6、关系模式中,满足2NF的模式()。

A.可能是1NFB.必定是1NFC.必定是3NFD.必定是BCNF正确答案:B7、不能使一个关系从第一范式转化为第二范式的条件是()。

A.每一个非主属性都完全函数依赖于主码B.每一个非主属性都部分函数依赖于主码C.关系中没有非主属性D.主码由一个属性构成正确答案:B二、判断题1、关系模式的分解是唯一的。

(错)2、一个关系模式属于BC范式,它一定属于第三范式。

(对)3、在关系模式R(U,F)中,如果X→Y,且存在X的真子集X1,使X1→Y,称函数依赖X→Y为完全函数依赖。

(错)4、函数依赖集F={A→B,B→C,C→A,C→B,A→C,BC→A},它的最小函数依赖集Fmin={A→B,B→C,A→C}。

(错)三、填空题1、被函数依赖集F逻辑蕴涵的函数依赖的全体构成的集合,称为。

正确答案:函数依赖集F的闭包2、设有关系模式R(A,B,C,D,M,N),函数依赖集F={N→D,M→D,D→B,BC→D,DC→N},R的候选码为。

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计

关系数据库的规范化理论与数据库设计在当今数字化的时代,数据成为了企业和组织的重要资产,而关系数据库作为存储和管理数据的重要手段,其设计的合理性直接影响着数据的质量、完整性和可用性。

关系数据库的规范化理论是指导数据库设计的重要原则,它能够帮助我们避免数据冗余、更新异常等问题,从而提高数据库的性能和可靠性。

首先,我们来了解一下关系数据库的基本概念。

关系数据库是由一组二维表组成的,每张表都有一个唯一的表名,表中的每一行称为一个元组,代表一个实体;每一列称为一个属性,代表实体的一个特征。

通过在不同的表之间建立关联,我们可以实现数据的查询和操作。

那么,什么是规范化理论呢?规范化理论是一种用于设计关系数据库的方法和原则,其目的是通过对关系模式进行分解和优化,消除数据冗余和更新异常,确保数据的一致性和完整性。

规范化理论主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。

第一范式要求表中的每个属性都是不可再分的原子值。

例如,如果有一个“联系人信息”表,其中包含“地址”这个属性,如果地址又分为“省”“市”“区”“详细地址”等子属性,那么就不满足第一范式,需要将其拆分成多个属性。

第二范式要求在满足第一范式的基础上,每个非主属性都完全依赖于主键。

举个例子,如果有一个“订单”表,主键是“订单号”,而“客户姓名”和“客户地址”等非主属性只依赖于“客户编号”,而不是“订单号”,那么就不满足第二范式,需要将其拆分成两个表,一个是“订单”表,一个是“客户”表。

第三范式要求在满足第二范式的基础上,每个非主属性都不传递依赖于主键。

比如说,有一个“员工”表,主键是“员工编号”,“部门名称”依赖于“部门编号”,而“部门编号”又依赖于“员工编号”,这就不满足第三范式,需要将“部门名称”这个属性移到“部门”表中。

规范化理论在数据库设计中具有重要的意义。

通过规范化设计,可以减少数据冗余,节省存储空间。

想象一下,如果一个客户的信息在多个表中重复存储,不仅浪费空间,而且当客户信息发生变化时,需要在多个地方进行更新,容易导致数据不一致。

关系数据库规范化理论

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

数据库课件第4章关系数据库(RDB)规范化设计理论

数据库课件第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中减少数据冗余的过程。

关系数据库规范化理论

关系数据库规范化理论

第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)●每一个系名对该系的学生人数乘以每个学生选修的课程门数重复存储。

第4章 关系数据库理论1

第4章 关系数据库理论1
若X(X∈R)是L类属性,则X必为R的任一候选键的
成员;
若X(X∈R)是L类属性,且X+包含了R的全部属性,
则X必为R的唯一候选键;
若X(X∈R)是R类属性,则X不在任何候选键中; 若X(X∈R)是N类属性,则X包含在R的任一候选键
中;
若X(X∈R)是R的N类和L类属性组成的属性集,且
} while (result有所改变) ;
4.2.7 候选键的求解理论和算法

关键码的定义
定义4.7 设关系模式R的属性集是U,X是U的一
个子集,F是在R上成立的一个函数依赖集。
如果
X→U 在R上成立(即X→U在F+中),那么称X 是R的一个超键。 如果 X→U 在R上成立,但对X的任一真子集X'都有 f X'→U不成立(即X'→U不在F+中,或者X→U),那么 称X是R上的一个候选键。
SNo 决定函数(SN,Age,Dept) (SN,Age,Dept)函数依赖于 SNo
定义4.1 设关系模式R(U,F),U是属性全集,F是 U上的函数依赖集,X和Y是U的子集,如果对于R(U) 的仸意一个可能的关系r,对于X的每一个具体值, Y都有唯一的具体值与之对应,则称X决定函数Y, 或Y函数依赖于X,记作X→Y。我们称X为决定因素, Y为依赖因素。当Y不函数依赖于X时,记作:X→Y。 当X→Y且Y→X时,则记作:X Y。
SN Age Dept MN
SNO
Score
f
CNO
P
P
图4.4 SCD中的函数依赖关系
由此可见,在SCD中,既存在完全函数依赖,又存在部 分函数依赖和传递函数依赖。
4.4.2 第二范式

第四章 数据库规范化理论(第二节)

第四章 数据库规范化理论(第二节)
在上面的例中,关系模式:COURSE(C#, TITLE, LNAME, ROOM#)
其中存在非主属性ROOM#对码的传递依赖, 即:
C#→LNAME, LNAME→ROOM# 因此COURSE不属于3NF。
将COURSE分解为:COURSE1(C#, TITLE, LNAME) 和 LECTURE(LNAME, ROOM#),
则关系模式COURSE1和LECTURE中都没有传递函数依赖,
因此 COURSE1 和 LECTURE 都属于3NF。
16
第四章 数据库规范化理论
第二节、 范式理论
三、 第三范式(3NF)
至此,关系模式REPORT分解为下列3个属于3NF的一组关系模式:
REPORT1 (S#, C#, MARKS) COURSE1 (C#, TITLE, LNAME) LECTURE (LNAME, ROOM#)
非第一范式的例子如表4-4,可以转换为第一范式如表4-5。
表4-4
研究生
导师
专业
第一个研究生 第二个研究生
表4-5
导师 专业 第一个研究生 第二个研究生
几乎所有的商用关系DBMS都要求关系为第一范式
4
第四章 数据库规范化理论
第二节、 范式理论
一、 第一范式(1NF)
如果关系仅仅满足第一范式的条件是不够的,可能会存在更新异常。
定义:关系模式R∈1NF,若X→Y,且Y⊈ X 时,X必含有候选码,则R∈BCNF。
即 在关系模式R中,若R的每一个决定因素都包含候选码,则R∈BCNF。
由BCNF的定义可知,一个满足BCNF的关系模式有如下特性:
● 每个非主属性对每个码都是完全函数依赖;
● 所有的主属性对每一个不包含它的码,也是完全函数依赖;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.4.3 无损分解的测试方法
输入:关系模式R(A1 ,A2 ,…,An),它的函数依赖集F以及分解ρ={R1 , R2,…,Rk}。 输出:确定ρ是否具有无损分解。
方法: (1)构造一个k行n列的表,第i行对应于关系模式Ri,第j列对应于属性Aj。 如果Aj∈Ri,则在第i行第j列上放符号ai,否则放符号bij。
4.3 范式和规范化
3. 第三范式(3NF)
定义12:设R是一个关系模式,R属于第三范式当且仅当R
是2NF,且每个非主属性都非传递函数依赖于主码。 由定义可知:第三范式是在第一范式的基础上消除了非主 属性对主键的部分函数依赖和传递函数依赖。 部分函数依赖和传递函数依赖是数据冗余的主要原因,第
三范式消除了很大的存储异常。
请问如何解决这些问题?
4.1 问题的提出
为了克服这些异常,将S关系分解为如下3个关系: S1(NO, NAME, SEX) S2(NO, CNO, DEGR) S3(CNO, CNAME) 主码为{NO}或简写为NO 主码为{NO, CNO} 主码为{CNO}或简写为CNO
通过SQL语言可பைடு நூலகம்查询课程信息
是否属于第一范式?
练习题:
• 下表是否可以做为关系数据库中的关系, 为什么?请进行改进。
第二范式引入
请写出函数依赖集!
• 学号→姓名,学号→系别,学号→专业
• 专业→系别,(学号,课程号)→成绩
该关系的主键是什么?
• 可以看出,该关系模式的主键是(学号,课程号),
对于非主属性:姓名,系别,专业,成绩而言,除了
例题:
有以下学生关系: 学生(学号,姓名,出生年月,系名,班号,宿舍区),主码学号。 请分析其中的函数依赖关系。
学号→姓名,学号→出生年月, 学号→班号,班号→系名,系名→宿舍区 学号→系名,系名→学号,系名→宿舍区,所以:学号→宿舍区 班号→系名,系名→班号,系名→宿舍区,所以:班号→宿舍区 学号→班号,班号→学号,班号→系名,所以:学号→系名
4.4 关系模式的分解
(2)逐个检查F中的每一个函数依赖,并修改表中的元素。其方法如下:取F 中一个函数依赖X→Y,在X的分量中寻找相同的行,然后将这些行中Y的分量
改为相同的符号,如果其中有aj,则将bij改为aj;若其中无aj,则改为bij。
(3)这样反复进行,如果发现某一行变成了al,a2,…,ak,则分解ρ具有
学号→姓名/专业
专业→系别
由第一范式转化到第三范式的过程
4. BC范式(BCNF) 定义13:对于关系模式R,若R中的所有非平凡的、完全 的函数依赖的决定因素是码,则R属于BCNF。
4.4 关系模式的分解
4.4.2 无损分解的定义和性质
1. 无损分解的概念 无损分解指的是对关系模式分解时,原关系模式下任一合 法的关系值在分解之后应能通过自然联接运算恢复起来。 定义14:设ρ ={R1,R2,…,Rk}是关系模式R<U,F>的一
t
4.2 函数依赖
4.2.2 函数依赖与属性关系 设R(U)是属性集U上的关系模式,X、Y是U的子集: • 如果X和Y之间是1∶1关系(一对一关系),则存在函数依赖X→Y和Y→X。 • 如果X和Y之间是1∶n关系(一对多关系),则存在函数依赖X→Y。 • 如果X和Y之间是m∶n关系(多对多关系),则X和Y之间不存在函数依赖。
f 因此,(NO,NO)→DEGR是完全函数依赖。 f
X,X'→Y都不成立(记
为Y→Z),则称X→Y是一个完全函数依赖。即Y函数依赖于整个X,记作
4.2 函数依赖
定义4:设X→Y是一个函数依赖,但不是完全函数依赖,则称X→Y是一个部分
p 函数依赖,或称Y函数依赖于X的某个真子集,记作X→Y。
定义5:设R(U)是一个关系模式,X,Y,Z U,如果X→Y(Y X,Y→X), \ \ t Y→Z成立,则称Z传递函数依赖于X,记为X→Z。 例如:班级(班号,专业名,系名,人数,入学年份),主码是班号。 有:班号→专业名,班号→人数,班号→入学年份,专业名→系名。 因为:班号→专业名,专业名∕班号,专业名→系名,所以,班号→系名。
一个较低范式的关系,可以通过关系的无损分解转换为若干较高级范式关系 的集合,这一过程就叫作关系规范化。
4.3 范式和规范化
4.3.2 范式的判定条件与规范化 1. 第一范式(1NF) 定义10:设R是一个关系模式,R属于第一范式当且仅当R中每一个属性A的值 域只包含原子项,即不可分割的数据项。 是否属于第一范式?
4.2 函数依赖
4.2.1 函数依赖的定义
定义1:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意
一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的 属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。 例如:不存在职工号相同,但名字不同的元组。则职工号→姓名 关系S中有哪些函数依赖?
定义7:被F逻辑蕴涵的函数依赖的全体构成的集合,称为F的闭包,记为F+。
4.2 函数依赖
定义8:设F是属性集U上的一组函数依赖,X U,则属性集X关于F的闭包X定 义为X={A|A∈U且X→A可由F经Armstrong公理导出},即X={A|X→A∈F+}。
定义9:一个关系模式R(U)上的两个依赖集F和G,如果F+=G+ ,则称F和G是等 价的,记作F≡G。
4.4 关系模式的分解
4.4.4 保持函数依赖的分解
定义15:设有关系模式R,F是R的函数依赖集,Z是R的一个属性集合,则称Z 所涉及到的F+中所有函数依赖为F在Z上的投影,记为πZ(F),有: πZ(F)={x→y|x→y∈F+且xy Z}
定义16:设关系模式R的一个分解ρ={R1,R2,…,Rk},F是R的依赖集,如果 F等价于 ,则称分解ρ具有依赖保持性。
无损分解;如果F中所有函数依赖都不能再修改表中的内容,且没有发现这样
的行,则分解ρ不具有无损分解。
例题:
• 设有关系模式R(U,F),其中
• U=ABCDE,
• F={A→C,B →C,C →D,DE →C,CE →A}
• 分解为:R1(AD),R2(AB),R3(BE), R4(CDE),R5(AE) 判断是否为无损分解。
个分解,如果对于R的任一满足F的关系r都有:
则称这个分解ρ 是函数依赖集F的无损分解。
例题:
• 设有关系模式R(U),其中U={ACB},将其
分解为R1(AB),R2(AC).如下图所示。
r r1 r2
A B C 1 1 1 1 2 1
A B 1 1 1 2
A C 1 1
r
r1
r2
A B 1 1 1 2
练习题
•设有关系模式R(U),其中
U={A,B,C,D,E,G,H,P}函数依赖集
F{AB→CE,A →C,GP →B,EP →A,CDE
→P,HB →P,D →HG,ABC →PG},计算关 于F的闭包X+F。令X=DB。
4.3 范式和规范化
4.3.1 什么叫范式 满足最低要求的关系称它属于第一范式的,在此基础上又满足了某种条件, 达到第二范式标准,则称它属于第二范式的关系,如此等等,直到第五范式。
f (学号,课程号)→成绩
学号→姓名/系别/专业 专业→系别
练习题:
• 以下关系是第几范式?存在什么问题? 如何改进。
第三范式的引入
学号→姓名/系别/专业 专业→系别
出现问题如下: (1)无法正确登记一个尚未招生的系的专业设置情况; (2)如果要删除某些学生,可能会删除专业设置情况
请问:如何解决这个问题?
C 4 3
A B 1 1 1 2
A C 1 4 1 3
4.4 关系模式的分解
2. 验证无损分解的充要条件 如果R的分解为ρ={R1 ,R2},F为R所满足的函数依赖集合,则分解ρ具有无 损分解的充分必要条件为: R1∩R2 →(R1-R2) 或 R1∩R2 →(R2-R1)
4.4 关系模式的分解
F 有(学号,课程号)→成绩,同时还有: P
• (学号,课程号) →姓名 • (学号,课程号) →系别 • (学号,课程号) →专业
P P
• •
2. 第二范式(2NF) 定义11:设R是一个关系模式,R属于第二范式当且仅当R是1NF,且每个 非主属性都完全函数依赖于主码。

由定义可以知道,第二范式的实质是要从第一范式中消除非主属性对主 键的部分函数依赖。
第4章 关系数据库规范化理论
4.1 问题的提出
主 要 内 容
4.2
4.3 4.4
函数依赖
范式和规范化 关系模式的分解
4.1 问题的提出
假定有如下关系S: S(NO, NAME, SEX, CNO, CNAME, DEGR)
请问这个关系存在什么问题?
• • • • •
这个关系模式存在如下问题: (1)数据冗余 (2)不一致性 (3)插入异常(在设置主键之后,无法插入重复数据) (4)删除异常
4.2 函数依赖
由Armstrong公理可以得到以下推论。 • 自合规则:A→A。 • 分解规则:如果A→BC,则A→B且A→C。 • 合并规则:如果A→B,A→C,则A→BC。 • 复合规则:如果A→B,C→D成立,则AC→BD。
4.2 函数依赖
4.2.4 闭包及其计算
定义6:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集,如果从F中 的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y。
t t t
4.2 函数依赖
4.2.3 Armstrong公理 Armstrong公理:设A、B、C、D是给定关系模式R的属性集的任意子集,并把A 和B的并集A∪B记为AB,则其推理规则可归结为3条。 • 自反律:如果B A,则A→B。这是一个平凡的函数依赖。 • 增广律:如果A→B,则AC→BC。 • 传递律:如果A→B且B→C,则A→C。
相关文档
最新文档