第六章 关系模式规范化理论

合集下载

关系模型规范化

关系模型规范化

规范化的必要性
❖ 关系模式的简化定义 ❖ 数据依赖 ❖ 数据依赖对关系模式影响
关系模式的简化定义
关系模式由五部分组成,即它是一个五元组:
R(U, D, DOM, F)
R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映象集合 F: 属性间数据的依赖关系集合
第三范式 (3NF)
➢ 采用投影分解法将一个2NF的关系分解为多个3NF的 关系,可以在一定程度上解决原2NF关系中存在的插入异 常、删除异常、数据冗余度大、修改复杂等问题。
➢ 将一个2NF关系分解为多个3NF的关系后,仍然不能 完全消除关系模式中的各种异常情况和数据冗余。
关系模式的规范化
1. 规范化的必要性 2. 规范化 3. 小结
数据依赖对关系模式的影响
把这个单一模式分成3个关系模式: S(Sno,Sdept,Sno → Sdept) SC(Sno,Cno,Grade,(Sno,Cno) → Grade) DEPT(Sdept,Mname,Sdept→ Mname)
关系模式的规范化
1. 规范化的必要性 2. 规范化 3. 小结
➢ 分解后的关系模式S-D与D-L中不再存在传递依赖
第三范式(3NF)
S-D的码为Sno, D-L的码为Sdept
S-D
D-L
Sno
Sdept
Sdept
Sloc
S-L(Sno , Sdept , Sloc) ∈ 2NF
S-L(Sno , Sdept , Sloc) ∈ 3NF S-D(Sno ,Sdept) ∈ 3NF D-L(Sdept , Sloc)∈ 3NF
关系模式的简化表示
➢ 关系模式R(U, D, DOM, F)

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

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

4.3 关系模式旳规范化
第二范式(2NF)
定义4.13
若R(U)∈1NF,且每一种非主属性完全函数依赖于 某个候选键,称R(U)为第二范式,即R(U)∈2NF。

有关系模式R(U)=(Sno,Sdept,Sloc,Cno, Grade),候选键为(Sno,Cno)
Sno Grade
Cno
Sdept Sloc
4.2 关系模式旳函数依赖
再论关系与关系模式
关系模式是相对稳定旳、静态旳,而关系却是 动态变化旳,不稳定旳
关系旳每一次变化成果,都是关系模式相应旳 一种新旳详细关系。
小写字母r表达关系模式R(U)旳相应旳详细关 系
4.2 关系模式旳函数依赖
函数依赖旳一般概念
定义4.1
设R(U)是属性集U={A1, A2, …, An}上旳关系模式, X和Y是U旳子集。若对R(U)旳任一详细关系r中旳 任意两个元组t1和t2,只要t1[X]=t2[X]就有 t1[Y]=t2[Y],则称“X函数拟定Y”或“Y函数依赖 于X” (Founctional Dependence),记作X→Y。
多值依赖
平凡多值依赖
对于关系模式R(U),设X,Y是U旳子集,若 X→→Y,其中Z=U-X-Y=∅,则称X →→Y为平凡多 值依赖,不然成为非平凡多值依赖。
4.3 关系模式旳规范化
第四章
关系模式旳规范化设计理论
学习目的
掌握规范化理论旳有关概念和措施 掌握函数依赖定义及其推理规则 掌握多种范式及其相互关系 掌握关系模式分解中存在旳问题、分解旳
无损连接性和保持函数依赖性等
4.1 问题旳提出
关系模式可能存在旳异常
学号
课程号
任课教师 任课教师所在系

最新数据库第6章-关系范式规范化理论ppt课件

最新数据库第6章-关系范式规范化理论ppt课件
数据库第6章-关系范式规范 化理论
6. 关系数据理论
6.1 问题的提出 6.2 规范化
6.1 问题的提出
关系数据库的逻辑设计
针对具体问题,如何构造一个适合于它的数 据模式 数据库逻辑设计的工具──关系数据库的规 范化理论
二、关系模式的形式化定义
一个关系模式由五部分组成,即是一个五元组: R(U, D, DOM, F)
解决方法如下:
☺把关系模式 S <U, F>分解为3个关系模式:
S(Sno,Sdept,Sno Sdept); SG(Sno,Cname,Grade,(Sno,Cname)Grade);
Dept(Sdept,Mname,SdeptMname)
6.2 规范化
规范化理论 正是用来改造关系模式,通过分解 关系模式来消除其中不合适的数据依赖,以解 决插入异常、删除异常,和数据冗余问题。
1. 数据冗余太大 ➢ 在每个学生元组中,系主任姓名重复出现浪费大量存储
空间
☺另外,如果某个系的系主任换人了,就要更改每个学生
的元组,维护代价很大
2. 插入异常
☺如果一个系刚成立尚无学生(没有Sno),就无法把这个
系及其系主任的信息存入数据库
3. 删除异常
☺如果某个系的学生全部毕业了,Sno将被全部删除,同时
规范化:通过分析关系(关系模式)中存在的 弱点,将该关系分解为若干个高一级的关系。
范式:关系规范化的程度称为范式,1NF, 2NF,3NF,BCNF
6.2.1 函数依赖
一、函数依赖 二、平凡函数依赖与非平凡函数依赖 三、完全函数依赖与部分函数依赖 四、传递函数依赖
一、函数依赖
定义6.1 设R(U)是一个属性集U上的关系模式 ,X和Y是U的子集。 若对于R(U)的任意一个可 能的关系r,r中不可能存在两个元组在X上的 属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作 X→Y。

6.第六章关系的规范化

6.第六章关系的规范化

第六章关系的规范化设计第六章关系的规范化设计第一节问题的提出第二节函数依赖第三节范式第四节数据依赖的公理系统第一节关系模式设计问题的提出如何设计一个合理的关系数据库模式?c3c2c1c3c1cno 77OS丁惠s283DS 丁惠s290DB 丁惠s287OS 李立s178DB 李立s1gradecname sname sno 泛关系模式泛关系:泛关系模式中存在的问题c3c2c1c3c1cno 77OS丁惠s283DS 丁惠s290DB 丁惠s287OS 李立s178DB 李立s1gradecname sname sno反映现实世界操作性能例:设计教学管理关系数据库模型sc问题分析Sno Cno Tno Sname Grade Cname Tname S1C1T1赵民90OS彭S1C2T2赵民90DS杨S1C3T3赵民85C++刘S1C4T4赵民87DB张S2C1T4李军90OS张S3C1T4陈江75OS张S3C2T2陈江70DS杨S3C4T4陈江56DB张S4C1T1魏致90OS彭S4C2T2魏致85DS杨S5C1T1乔远95OS彭S5C4T4乔远80DB张关系SCT产生问题的原因?解:sct(sno, cno, tno, sname, grade, cname, tname)属性间约束关系(即数据间的依赖关系)太强解一:(sno,(cno,tno,(tno,cno, tname (sno,cno,解二:(sno,(cno,(tno, tname (sno,cno,(tno,cno)分解关系解决问题的方法:例sc解(sno, cno, tno, sname, grade, cname, tnameS n o S n a m e S 1赵民S 2李军S 3陈江S 4魏致S 5乔远StudentsCno Cname C1OS C2DS C3C++C4DBCoursesSnoCno Grade S1C190S1C290S1C385S1C487S2C190S3C175S3C270S3C456S4C190S4C285S5C195S5C480scTno Tname T1 彭 T2 杨 T3 刘 T4 张TeachersTeachCno Tno C1T1C1T4C2T2C3T3C4T4本章要解决的主要问题理想第二节:函数依赖数据依赖函数依赖(1)、函数依赖定义X 函数决定Y Y函数依赖于XX Y例:只能根据语义来确定函数依赖性的存在与否。

关系模式规范化

关系模式规范化

关系模式规范化
概要:本文介绍了关系模式规范化的概念,原则以及实施方式。

在任何形式的软件系统开发中,规范化都是非常重要的一环。

合理有效地维护数据库和关系数据结构,是各个数据库系统有效运行的必要前提。

本文探讨的主题就是关系模式规范化,以便为数据库系统的性能和功能提供更高的水平。

关系模式规范化意味着关系模式(也称为概念模型)中的实体及其属性之间存在一种规范性结构。

这种结构对定义概念模型中的实体之间的关系具有重要作用。

规范化的过程涉及将概念模型解构为基本结构的过程,其中各个实体的属性被抽象为子集。

利用此过程称为规范化,也就是将条件分解成较低的层次,以在实体之间建立一种标准的关系。

使用规范化的模型有许多优势,包括减少数据冗余、减少必要的输入及更新数据所需的多余步骤,简便化查询和保持数据准确性等等。

这些优势提供了处理庞大数据集资源的有效方法,确保数据可靠性和一致性以及减少维护成本和提高数据库效能。

有两类方法可以使用来实施关系模式规范化,简称两种规范。

第一种是第一范式,也就是1NF,它要求所有实体的属性均为原子的,也就是不可分解的。

此外,每个实体的属性不能有重复的值。

此外,实体之间必须存在关联关系。

第二种规范是第二范式,
必须要求具有唯一决定性的属性。

该范式要求在引用某些属性的情况下,数据库能够唯一决定实体的标识符,从而排除了任何重复记录。

最后,规范化有一定程度上降低了实现数据库系统效率和功能的难度。

只要运用规范化的原则,就可以使设计的关系模式更能够满足业务系统的需要,而不会有可能出现的错误。

关系模式规范化

关系模式规范化

关系模式规范化关系模式规范化是对数据库表的列进行规范化的重要技术。

它不仅能够提高数据库的可读性和安全性,还能够减少数据库查询时间,提高系统运行效率。

本文将详细介绍关系模式规范化的概念、原理和步骤,帮助读者更好地理解和应用这一重要技术。

关系模型规范化是一种将数据库表中的列规范化的过程,主要是为了降低表中冗余列的数量,以节省存储空间和减少数据冗余,并且符合一些基本的数据库设计的基本要求。

关系模式规范化由三个步骤构成:分解,标准化和继承。

首先,我们需要做的是分解数据库表,这就是所谓的“分解”。

将一个表中的列分解成多个表,每个表具有一组相关的列。

例如,我们可以将一个含有客户名字、地址和电话号码的表分解为两个表,一个表包含客户名字和地址,另一个表包含客户名字和电话号码。

而且,他们之间有一个“客户ID”的关联,以此实现表间的关联。

接下来,要对列进行标准化处理,这一步叫做“标准化”。

主要是为了消除表中多余的重复列,使每一列保持一致性。

比如,在一个表中,客户地址可以分为多个列,比如国家、省份、城市等,但这种方法会带来重复冗余,应当将这些地址信息合并成一列,以减少列的数量。

最后,要对列进行继承,这一步叫做“继承”。

即从一个表中继承数据,在另一个表中使用。

例如,如果一张表涉及客户的基本信息,另一张表涉及客户的订单信息,那么就可以在客户订单信息表中继承客户的基本信息,即客户的ID,而无需重复输入基本信息。

以上就是关系模式规范化的基本原理和步骤,它旨在通过规范化表的列,减少数据冗余,提高数据库的可读性和安全性,同时节省存储空间和查询时间。

如果读者们可以掌握关系模式规范化的知识点,就可以更好地实现数据库表列的规范化,从而提高数据库系统的安全性和性能。

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

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

第6章关系数据库规范化理论一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。

关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。

然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。

为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论——规范化理论。

6.1 关系规范化的作用规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。

如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题:➢数据冗余度大➢插入异常➢删除异常所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。

数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。

插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。

删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。

(以P98工资表为例)解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。

(讲例子解)当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。

那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。

下面,将加以讨论:6.2 函数依赖6.2.1属性间关系实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。

数据库建模一章中讨论的是前一类,在这里我们将学习第二类。

和第一类一样,实体内部各属性间的联系也分为1:1、1:n和m:n三类:例:职工(职工号,姓名,身份证号码,职称,部门)1、一对一关系(1:1)设X、Y是关系R的两个属性(集)。

如果对于X中的任一具体值,Y中至多有一个值与之对应,反之,对于Y中的任一具体值,X中也至多有一个值与之对应,则称X、Y两属性间是一对一关系。

关系模式规范化设计理论

关系模式规范化设计理论

4.4.3 无损连接的测试(9)
⑵ 反复检查F中的函数依赖,修改表格元素: ① 根据AC,对以上表4.17(a)进行处理,由 于第1,2,5行在A分量(列)上的值为a1(相等),在 C分量(列)上的值不相等,所以将属性C列的 第1,2,5行上b13, b23, b53改为同一个符号b13,结 果见表4.17(b)
4.4.3 无损连接的测试(2)
表4.15 关系r及其投影
AB C
a1 b1 c1 a2 b1 c2 a7 b3 c3 a8 b4 c4 a9 b5 c5
AB
a1 b1 a2 b1 a7 b3 a8 b4 a9 b5
BC
b1 c1 b1 c2 b3 c3 b4 c4 b5 c5
关系r
关系r1
关系r2
4.4.3 无损连接的测试(5)
计算方法和步骤: ⑴构造一张k行n列的表格,每列对应一个属性
Aj(j=1, 2, …, n),每行对应一个模式Ri(Ui) 的属 性集合(i=1, 2, …, k)。如果Aj在Ui中,那么在表 格的第i行第j列处境上符号aj,否则填上符号bij, ⑵ 反复检查F的每一个函数依赖,并修改表格中的 元素,直到表格不能修改为止。其方法如下:
4.4.3 无损连接的测试(14)
定理4.13 如果R(U)的分解为={Rl(U1), R2(U2)}, 其 中 U=U1U2,F 为 R(U) 所 满 足 的函数依赖集合,则分解是无损连接的充 分 必 要 条 件 为 ( U1U2)(U1U2) 或 者 (U1U2)(U2U1)成立。 此定理表明,当模式R分解成两个关系模 式Rl(U1)和R2(U2)时,如果其公共属性能函 数决定U1或U2中的其它属性,这样的分解 就是无损连接的。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章关系模式的规范化理论关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。

规范化设计理论对关系数据库结构的设计起着重要的作用。

关系模型有严格的数学理论基础,因此人们就以关系模型为作为讨论对象,形成了数据库逻辑设计的一个有力工具――关系数据库的规范化理论。

本章内容(1)关系模式的冗余和异常问题。

(2)FD的定义、逻辑蕴涵、闭包、推理规则、与关键码的联系;平凡的FD;属性集的闭包;推理规则的正确性和完备性;FD集的等价;最小依赖集。

(3)无损分解的定义、性质、测试;保持依赖集的分解。

(4)关系模式的范式:1NF,2NF,3NF,BCNF。

分解成2NF、3NF模式集的算法。

(5)MVD、4NF、5NF的定义。

一,关系模式设计中的问题1.什么是好的数据库构建好的,合适的数据库模式,是数据库设计的基本问题a) 体现客观世界的信息b) 无过度的冗余c) 无插入异常d) 无删除异常e) 无更新复杂如书上的S_C_G关系。

假设需要设计一个学生学习情况数据库StuDB。

下面我们以模式S_C_G(Sno,Sname,Dname,Age,Cno,Cname,Score,Pre_cno)为例来说明该模式存在的问题。

下表是其一个实例。

3冗余度大:每选一门课,他本人信息和有关课程信息都要重复一次。

4插入异常:插入一门课,若没学生选修,则不能把该课程插入表中。

5删除异常:如S11号学生的删除,有一门只有他选,会造成课程的丢失。

6更新复杂:更新一个人的信息,则要同时更新很多条记录。

还有更新选修课时也存在这样的情况。

2.异常的原因:数据信赖的约束3.解决方法:数据库设计的规范化:分解,每个相对的独立,依赖关系比较单纯,如分解为3NF 我们采用分解的方法,将上述S_C_G分解成以下三个模式:S(Sno,Sname,age,Dname)C(Cno,Cname,Pre_cno)S_C(Sno,Cno,Score)4.规范化设计理论包括三个内容:i> 数据信赖---- 核心,研究数据之间的联系ii> 范式---- 关系模式的标准iii> 模式设计方法---- 自动化设计的基础二,函数依赖(Functional Dependency,FD)1. 函数依赖的定义:(还有非函数的依赖?,什么是函数?给出一个值能唯一确定另外一个值?映射:一对一,多对一,一对多?)定义:函数依赖是指一个或一组属性可以(唯一)决定其它属性的值。

数学的语言:设有关系模式R(U),其中U={A1,A2,…,A n}是关系的属性全集,X、Y是U的属性子集,设t和u是关系R上的任意两个元组,如果t和u在X的投影t[X]=u[X]推出t[Y]=u[Y],即:t[X]=u[X] => t[Y]=u[Y], 则称X 函数决定Y ,或Y 函数依赖于X 。

记为X →Y 。

在上述的关系模式S (Sno ,Sname ,age ,Dname )中,存在以下函数依赖:Sno →age Sno →Dname ...(Sno,Cno )→Score...2. 几种类型的函数依赖定义6.2(非平凡函数依赖、平凡函数依赖):一个函数依赖X →Y 如果满足Y ⊈X ,则称此函数依赖为非平凡函数依赖,否则称之为平凡函数依赖。

例如X →Φ, X →X , XZ →X 等都是平凡函数依赖。

定义6.3(完全函数依赖、部分函数依赖):设X 、Y 是关系R 的不同属性集,若X →Y (Y 函数依赖于X ),且不存在X’ ⊂X ,使X’→Y ,则称Y 完全函数依赖于X ,记为Y X f−→−;(即不存在真子集仍然是函数依赖关系的函数依赖是完全函数依赖)。

否则则称Y 部分函数依赖于X ,记为Y X p−→− 。

例如,在上例关系S 中, Dname f−→−Sno 是完全函数依赖; Dname p−→−S name)(S no, 、Dname p −→−age)(Sno, 是部分函数依赖。

在属性Y 与X 之间,除了完全函数依赖和部分函数依赖关系等直接函数依赖,还存在间接函数依赖关系。

如果在关系S 中增加系的电话号码Dtel ,从而有Sno →Dname, Dname →Dtel ,于是Sno →Dtel 。

在这个函数依赖中,Dtel 并不直接依赖于Sno,是通过中间属性Dname间接依赖于Sno。

这就是传递函数依赖。

定义6.4(传递函数依赖):设X、Y、Z是关系模式R (U)中的不同的属性集,如果X→Y,Y→X,Y→Z,则称Z传递依赖于X。

否则,称为非传递函数依赖。

举例说明:定义6.5 关键字(Key,候选键):在关系模式R(U)中,若K⊆U,且满足U−,K f−→则称K为R的关键字。

一个包含了关键字的属性集合也能够函数决定(但不是完全函数决定,而是部分决定)属性全集,我们把这种包含了关键字的属性集合称为超关键字(Super Key)。

例如,在上例的S(Sno,Sname,Dname,Age)、C(Cno,Cname,Pre_cno)、S_C(Sno,Cno,Score)三个关系模式中,存在以下关键字:SnameSnoSno f−→−Dname(Age,),,CnoCnameCno f−→e−,)(con_Pr,)(,−scoreSno f−→Cno所以,Sno、Cno和(Sno,Cno)分别是关系模式S、C和S_C的关键字。

SnoSnameSname−(AgeSno p−→Dname,,),,()SnameDnameSnoSno p−→(Age−Dname),,,,()所以,(Sno,Sname)和(Sno,Dname)都不是关键字,而是超关键字。

3 函数依赖的公理系统(1) 函数依赖的逻辑蕴涵例如在上述的传递函数依赖中,由X→Y,Y→Z,推导出X→Z,这可以表示为:{X→Y,Y→Z}⊨X→Z 其中: ⊨表示逻辑蕴涵。

一般地,函数依赖的逻辑蕴涵定义如下:定义6.6(逻辑蕴涵):设F 是由关系模式R(U)满足的一个函数依赖集,X →Y 是R 的一个函数依赖,且不包含在F ,如果满足F 中所有函数依赖的任一具体关系r ,也满足X →Y ,则称函数依赖集F 逻辑地蕴涵函数依赖X →Y ,或称X →Y 可从F 推出。

可表示为: F ⊨X →Y例:Sno →Dname, Dname →Dtel, 则: Sno →Dtel F X →Y函数依赖集F 的闭包F+定义6.7:函数依赖集F 所逻辑蕴涵的函数依赖的全体称为为F 的闭包(Closure ),记为F +,即F +={X →Y |F ⊨X →Y }例如,有关系R (X ,Y ,Z ),它的函数依赖集F ={X →Y ,Y →Z },则其闭包F +为:⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→=+YZYZ XYZ XYZ XYZ XZ XYZ XY XYZX Z YZ YZ XYZ YZ XZ YZ XY YZ X Y YZ XZ XYZ XZ XZ XZ XY XZ X YZ XY XYZ XY XZ XY XY XY X YZ Y Z XYZ Z XZ Z XY Z X Z Y Y XYZ Y XZ Y XY Y X Z Z Y Y X XYZ X XZ X XY X X Z Y XYZ XZ XY X F φφφφφφφφφ(2) Armstrong 公理系统 1)独立推理规则即下面给出的Armstrong 公理的三条推理规则是彼此独立的。

A1:自反律(Reflexivity)如果Y ⊆X ,则X →Y 成立,这是一个平凡函数依赖。

根据A1可以推出X →Ф、U →X 等平凡函数依赖(因为Ф⊆X ⊆U )、XY →X 。

A2:增广律(Augmentation)如果X→Y,且Z⊆W,则XW→YZ成立。

根据A2可以推出XW→Y、XZ→YZ或XW→YW、X→XY、XY→X等。

A3:传递律(Transitivity)如果X→Y且Y→Z,则X→Z成立其他推理规则推论1:合并规则(The Union Rule){X→Y,X→Z}⊨X→YZ推论2:分解规则(The Decomposition Rule)如果X→Y,Z ⊆Y,则X→Z成立; (X→YZ),X→Y,X→Z推论3:伪传递规则(The Pseudo Transitivity Rule){X→Y,WY→Z}⊨XW→Z证:(1)X→Y⊨X→XY(A2增广律)X→Z⊨XY→YZ(A2增广律)由上可得X→YZ(A3传递律)(2)Z⊆Y⊨Y→Z(A1自反律)X→Y(给定条件)由上可得X→Z(A3传递律)(3)X→Y⊨WX→WY(A2增广律)WY→Z(给定条件)由上可得XW→Z(A3传递律)例6.2:设有关系模式R(A,B,C,D,E)及其上的函数依赖集F={AB→CD,A→B,D→E},求证F必蕴涵A→E。

证明:∵A→B (给定条件)∴A→AB (A2增广律)∵AB→CD (给定条件)∴A→CD (A3传递律)∴A→C,A→D (分解规则)∵D→E (给定条件)∴A→E (A3传递律)证毕。

一个重要定理定理6.1:若Ai(i=1,2,…,n)是关系模式R的属性,则X→(A1,A2,…,An)成立的充分必要条件是X→Ai均成立证明由分解和合并规则容易得到。

推论6.1 X是候选键的充分必要条件是X→每个属性Ai。

例:1. 现有如下关系模式:R(A#,B#,C,D,E) ,R上存在的FD有A#B#→E,B#→C,C→D ,求R的一个候选键。

解:A#B#→E, 得A#B#→A#B#E又B#→C, 得A#B#→A#B#CE又C→D, 得A#B#→A#B#CDE因此A#B#是候选键。

也可以这样做:先由B#→C 出发,得B#→B#CD, 还少一个A#, 再加一个A#即可,得A#B#→A#B#CDE2. 设有关系模式R (A,B,C,D),F是R上成立的FD集,F = {D→A,D→B},试写出关系模式R的候选键,并说明理由。

方法一因为:D→A,D→B (已知)得D→ABD→D,得D→ABD, 但D!→C而CD→C(A1自反律),我们有,CD→ABCD, 即CD→U因此,CD为候选键。

也可以这样做:方法二D→A,D→B (已知)D→D,但D!→C而CD→C(A1自反律),我们有,CD→A, CD→B, CD→C, CD→D, 由合并规则知:CD→ABCD因此,CD为候选键。

3. 关系模式R(A,B,C,D)的函数依赖集为F={AC→B},求R的候选键解:因为AC→B所以AC→ACB所以ACD→ABCD所以R的候选码是ACD4. 有关系模式R(A,B,C,D,E,F)其函数依赖集为F={E→D,C→B,CE→F,B→A},判断CE为候选键。

相关文档
最新文档