第六章 关系数据库设计理论

第六章  关系数据库设计理论
第六章  关系数据库设计理论

第六章关系数据库设计理论

一、填空题

1、()和()是对关系模式进行分解的两个基本原则。

2、通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫( )。

3、如何一个关系模式R(),则这个关系属于1NF。

4、要使关系模式属于2NF,就要消除()。

5、要使关系模式属于3NF,即就要消除()又要消除()。

6、若关系模式R属于1NF,且(),则R关系模式属于BCNF。

7、BCNF在函数依赖范围内已实现了模式的彻底分解,消除了()和()。

二、单选题

1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。则以下不正确的函数依赖是()

A. Sno→Sdept

B. Sno→Mname

C. Sname→Sdept

D.Sno,Cname→Grade

2、下面关于函数依赖的描述,错误的是()。

A.在函数依赖A→B中,A称为决定因素。

B.在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也随之确定。

C.函数依赖具有传递性。

D.在关系R中,如果属性A依赖于属性B,这种依赖记为:A→B。

A. F1→F2

B. F1 F2→F5

C. F3 F4→F5

D. F2 F3→F4

4、关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为主码,则下面的说法正确的是()。

A. {A1}或者{A2}有可能单独成为R的主码

B.{A1,A2,A3}必然也是R的主码

C. R中绝不可能出现在A1,A2上取值完全相同的元组

D. R的所有元组中,A1或者A2的值都是不能重复的

5、下面关于主码的说法错误的是()。

A. 一个关系的主码是唯一的;

B. 一个关系的主码指定值之后,对应的元组也就确定了

C. 关系R的主码的任何真子集都不可能是关系R的主码

D. 在保存学生学籍信息的关系中,学生姓名对应的属性不适合单独作为主码

A. {F1}

B. {F3}

C. {F1,F2}

D. {F4}

7、下面()依赖是平凡依赖。

A. Sno Cname Grade→Cname Grade

B. Sno Cname →Cname Grade

C. Sno Cname →Sname Grade

D. 以上答案都不是

8、已知关系R包含属性A,B,C,D, E,F。假设该关系有如下函数依赖A →C,B C →D E, D →A,

F →B,则{ A,B}的封闭集是().

A. {A,B,C,D,E,F}

B. {A, B,C, D,E}

C. {A ,B,C}

D. {A ,B}

9、已知关系R包含属性A,B,C,D, E,F。假设该关系有如下函数依赖A B →C,B C →A D, D

→E, C F →B,则则{ A,B}的封闭集是().

A. {A,B,C,D,E,F}

B. {A, BC, D,E}

C. {A ,B,C}

D. {A ,B}

10、现在只知道关系包含的属性和关系的主码,则一定是第二范式的关系是()

A. R1{A1,A2,A3} KEY{A1,A2}

B. R2{A1,A2,A3} KEY{A1}

C. R3{A1,A2,A3} KEY{A2,A3}

D. R4{A1,A2,A3} KEY{A1,A3}

11、在关系模式R中,若每个属性都是不可再分的最小数据单位,则R属于()

A. 1NF

B.2NF

C.3NF

D.BCNF

12、如果一个关系模式R中的所有非主属性都完全函数依赖于主码,则称关系R属于()

A. 2NF

B. 3NF

C.4NF

D.BCNF

13、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1 x2→x3,x2→x4,

则该关系属于()。

A. 1NF

B. 2NF

C. 3NF

D.4NF

14、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,

则该关系属于()。

A. 2NF

B. 3NF

C. 4NF

D. BCNF

15、若关系模式R(U,F)属于3NF,则()

A. 一定属于BCNF

B. 消除了插入和删除异常

C. 仍然存在插入和删除异常

D. 属于BCNF且消除了插入和删除异常

三、多选题

1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。则以下不正确的函数依赖是()

A. Sno→Sdept

B. Sno→Mname

C. Sname→Sdept

D.Sname,Cname→Grade

2、已知函数依赖A1 A2→B1,B2,则下列依赖一定正确的是()

A. A1 A2→B1

B. A1 A2 →B2

C. A1→B1 B2

D. A2→B1 B2

3、已知关系Movie中有函数依赖title year→length color,则下面正确的分解结果().

A. title →length color

B. year→length color

C. title year→length

D. title year→ color

4、下面哪几个依赖是平凡依赖()。

A. Sno Cname Grade→Cname Grade

B. Sno Cname →Cname Grade

C. Sno Cname →Sname Grade

D. Sno Sname →Sname

5、已知关系R包含属性A,B,C,D, E,F。假设该关系有如下函数依赖A B →C,B C →A D, D

→E, C F →B,则下列依赖蕴涵于给定的这些函数依赖的有().

A.A B →C

B. A B →D

C. A B →E

D. A B →F

6、若关系R属于第一范式,且每个属性都不传递依赖于主码,则R属于()

A. 第二范式

B. 第三范式

C. BC范式

D. 第四范式

7、关系模式R(Sname, Tname, Cname, Grade),四个属性分别为学生姓名、教师姓名、课程

名和成绩。每个学生可选几门课程;每个教师只教一门课,但一门课可有几个教师教;

当学生选定某门课后,其上课教师就固定了。通过上面的描述,可以指定这个关系的主码为{ Sname, Cname },那么,这个关系属于().

A. 第二范式

B. 第三范式

C. BC范式

D. 第四范式

8、一个关系模式R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,

则该关系属于()。

A. 1NF

B. 2NF

C. 3NF

D.4NF

9、关系模式规范化中常规流程正确的是()

A. 消除非主属性对主码部分依赖在消除非主属性对主码的传递依赖之前

B. 消除非主属性对主码传递依赖在消除非主属性对主码的部分依赖之前

C. 消除非主属性对主码传递依赖在消除主属性对主码的部分依赖和传递依赖之前

D. 消除主属性对主码部分和传递依赖在消除非主属性对主码的传递依赖之前

四、判断题

1、函数依赖具有传递性( )。

2、R的主码的真子集有可能函数决定R的所有其他属性()

3、对于函数依赖A1A2….An→B1B2..Bm,如果B中至少有一个属性不在A中,则称该依赖为完全非平凡的()

4、函数依赖A1A2→A1B1等价于A1A2→B1()

5、如果一个关系没有属性能由所有其他属性函数决定,则该关系根本不存在非平凡的函数依赖( )

6、对于给定的函数依赖集S,属性集A函数决定的属性的集合就是属性集A在依赖集S下的封闭集()

7、主码属性的封闭集是属性的全集()

8、当存在非主属性对主码完全依赖时,就会产生数据冗余和更新异常()

9、在零件信息关系(Part)中有3个属性:零件编号(Pid),零件名称(pName)和零件价格(pPrice)。其中任何零件不重名。已知的函数依赖有pID→ pName, pName→pPric,则pID依赖于pPric()

10、如果一个关系模式R的所有属性都是不可分的基本数据项,则这个关系属于第一范式()

11、当把一个不满足第二范式条件的关系模式分解为多个满足第二范式的关系时,就可以达到完全消除数据冗余和更新异常的目的()

12、属于2NF必属于1NF()

13、3NF比BCNF的限制更严格()

14、如果一个关系数据库中的所有关系模式都满足第三范式,那么在函数依赖范畴内,它以实现了模式的彻底分解,消除数据冗余和更新异常。()

15、采用规范的方法,使分解后的模式属于第二或第三范式,只能保证无损连接不能保证保持依赖()

16、如果一个关系数据库中的所有关系模式都满足BC范式,那么在函数依赖范畴内,它以实现了模式的彻底分解,达到了最高的规范化程度,消除数据冗余和更新异常。()17、如果A→→B,则A→B()

五、简答题

1、什么是函数依赖

2、什么是属性的封闭集

3、什么是第二范式

4、从函数依赖的角度给出关系主码的定义

5、什么是无损连接

6、什么是保持依赖

7、什么是平凡依赖

8、什么是完全依赖

9、写出3个关系模式分别满足:

(1) 是1NF,不是2NF

(2) 是2NF,不是3NF

(3) 是3NF,不是BCNF

六、综合题

1、假设关系模式为R(A,B,C,D),函数依赖为A→B, B→C和B→D

(1)求蕴含于给定函数的所有非平凡函数依赖

(2)求R的主码

(3)求R的所有超主码(不包含主码)

2、假设关系模式为R(A,B,C,D),函数依赖为AB→C, C→D和D→A

(1)找出所有违背BCNF的函数依赖。提示应该考虑不在给定的依赖集但蕴含于其中的依赖;

(2)关系模式R分解成属于BCNF的关系模式集合。

3、假设把关系R(A,B,C,D)分解成S(A,B,C)和另一些关系,如果R的函数依赖为AB→DE, C→E,D→C和E→A,请给出S中成立的函数依赖。

4、假设关系R用于描述人们的姓名、身份证号和出生日期,还包括子女的姓名身份证号和出生日期,以及他或她拥有的汽车的序号和型号。具体地说,该关系的元组形式如下:(n,s,b,cn,cs,cb,as,am)

(1)关系R中存在的函数依赖和多值依赖;

(2)把关系模式分解成属于4NF的关系模式。

数据库第六章关系数据理论习题讲解

第六章关系数据理论 (我们数据库老师给的资料,蛮有用的,分享下) 一、求最小依赖集 例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。 解: 1、将依赖右边属性单一化,结果为: F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE→G } 2、在F1中去掉依赖左部多余的属性。对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD)+=ABCEDG,故A是多余的。删除依赖左部多余的依赖后:F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G } 3、在F2中去掉多余的依赖。对于CG→B,由于(CG)+=ABCEDG,故CG→B是多余的。删除依赖左部多余的依赖后: F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G } CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。 二、求闭包 例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。 解:令X={AE},X(0)=AE; 计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A→D,E→C。于是X(1)=AE∪DC=ACDE; 因为X(0)≠ X(1),且X(1)≠U,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD→I。于是X(2)=ACDE∪I=ACDEI。 虽然X(2)≠X(1),但在F中未用过的函数依赖的左边属性已没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。 三、求候选键 例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。解:首先求属性的闭包: (A)+=AB,(B)+ =B,(C)+ =CD,(D)+ =D (AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD (ABD)+ =ABD,(BCD)+ =BCD, 因(AC)+=ABCD=U,且(A)+=AB,(C)+ =CD,由闭包的定义,AC→A,AC→B,AC →B,AC→D,由合并规则得AC→ABCD=U; 由候选码的定义可得AC为候选码。

数据库第六章习题综合要点

第六章结构化程序设计 一、选择题 1、WAIT命令用于让用户输入一个。 A)数字 B)字符 C)字符串 D)以上都是 2、在交互式输入命令中,可以接受逻辑型数据的命令包括______。 A)INPUT和ACCEPT B)WAIT和INPUT C)INPUT和@…GET D)INPUT和@…SAY 3、执行命令 ACCEPT″请输入数据:″TO XYZ 时,可以通过键盘输入的内容包括______。 A)字符串 B)数值和字符串 C)数值,字符串和逻辑值 D)数值,字符串,逻辑值和表达式 4、执行命令INPUT″请输入数据:″TO AAA时,如果要通过键盘输入字符串,应当使用的定 界符包括______。 A)单引号 B)单引号或双引号 C)单引号、双引号或方括弧 D)单引号、双引号、方括弧或圆点 5、在VFP中,可以通过键盘接受数值的命令有_______。 A)ACCEPT B)ACCEPT和WAIT C)INPUT和ACCEPT D)INPUT和 @ 5,10 SAY...GET.. 6、比较WAIT、ACCEPT和INPUT三条命令,需要以回车键表示输入结束的命令是_____。 A)WAIT、ACCEPT、INPUT B)WAIT、ACCEPT C)ACCEPT、INPUT D)INPUT、WAIT 7、以下关于ACCEPT命令的说明,正确的是______。 A)将输入作为字符接收 B)将输入作为数值接收 C)将输入作为逻辑型数据接收 D)将输入作为备注型接收 8、结构化程序设计所规定的三种基本控制结构是_______。 A)输入,处理,输出 B)树型,网型,环型 C)顺序,选择,循环 D)主程序,子程序,函数 9、能将高级语言编写的源程序转换成目标程序的是_______。 A)编程程序 B)编译程序 C)解释程序 D)链接程序 10、VFP中的DO CASE-ENDCASE语句属于_______。 A)顺序结构 B)选择结构 C)循环结构 D)模块结构 11、当前数据库中有五个字段:学号(C,4)、姓名(C,6)、政治(N,3.0)、英语(N,3.0)、数 学(N,3.0),记录指针指向一个非空的记录。要使用SCATTER TO X命令把当前记录的字段值存到数组X中,数组X ______。 A)不必事先定义 B)必须用DIMENSION X 事先定义 C)必须用DIMENSION X(5)事先定义 D)必须用DIMENSION X(1),X(2),X(3),X(4),X(5)事先定义 12、要判断数值型变量Y是否能够被7整除,错误的条件表达式为______。 A)MOD(Y,7)=0 B)INT(Y/7)=Y/7 C)0=MOD(Y,7) D)INT(Y/7)=MOD(Y, 7) 13、在VFP中,命令文件的扩展名是______。

第六章关系数据库理论

第六章关系数据理论 1、理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码、1NF、2NF、3NF、BCNF。 答:函数依赖:设R (U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R (U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作X→Y。 完全函数依赖、部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X,都有X′→Y,则称Y对X完全函数依赖;若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖。 传递依赖:在关系R (U)中,如果X→Y(Y?X),Y→X,Y→Z,则称Z对X传递函数依赖。 候选码、主码:设K为R(U,F)中的属性或属性组合,若K→U则K为R的候选码。若候选码多于一个,则选定其中的一个为主码。 外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码也称外码。 全码:整个属性组是码,称为全码(All-key)。 1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF 2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的关键字,则R∈2NF。 3NF:关系模式R 中若不存在这样的关键字X、属性组Y及非主属性Z(Z?Y),使得X→Y,Y→X,Y→Z 成立,则称R∈3NF。 BCNF:设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y?X,则X必含有候选关键字,那么R∈BCNF。 2、建立一个关于系、学生、班级、学会等诸信息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份; 描述系的属性有:系名、系号、系办公室地点、人数; 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有没有全码存在? 答:1、关系模式: (1)学生:Student ( sno, sname, sbirth, deptname, clsno, sdorm ) 其中:sno_学号,sname_姓名,sbirth_出生年月,deptname_系名,clsno_班级号,sdorm_宿舍区,(2)班级:Class ( clsno, spec, deptname, clsnum, clsdate ) 其中:clsno_班级号,spec_专业名,deptname_系名,clsnum_班级人数,clsdate_入校年份,(3)系:Dept ( deptno, deptname, deptaddr, deptnum ) 其中:deptno_系号,deptname_系名,deptaddr_系办公地点,deptnum_系人数,

第六章 关系数据库设计理论

第六章关系数据库设计理论 一、填空题 1、()和()是对关系模式进行分解的两个基本原则。 2、通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫( )。 3、如何一个关系模式R(),则这个关系属于1NF。 4、要使关系模式属于2NF,就要消除()。 5、要使关系模式属于3NF,即就要消除()又要消除()。 6、若关系模式R属于1NF,且(),则R关系模式属于BCNF。 7、BCNF在函数依赖范围内已实现了模式的彻底分解,消除了()和()。 二、单选题 1、现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。这些属性之间存在如下联系:一个学号只对应一个学生;通过学生只对应一个系;一个系只对应一个系主任;一个学生的一门课程只对应一个成绩;学生名可以重复;系名不可重复;课程名吧重复。则以下不正确的函数依赖是() A. Sno→Sdept B. Sno→Mname C. Sname→Sdept D.Sno,Cname→Grade 2、下面关于函数依赖的描述,错误的是()。 A.在函数依赖A→B中,A称为决定因素。 B.在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也随之确定。 C.函数依赖具有传递性。 D.在关系R中,如果属性A依赖于属性B,这种依赖记为:A→B。 A. F1→F2 B. F1 F2→F5 C. F3 F4→F5 D. F2 F3→F4 4、关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为主码,则下面的说法正确的是()。 A. {A1}或者{A2}有可能单独成为R的主码 B.{A1,A2,A3}必然也是R的主码 C. R中绝不可能出现在A1,A2上取值完全相同的元组 D. R的所有元组中,A1或者A2的值都是不能重复的 5、下面关于主码的说法错误的是()。 A. 一个关系的主码是唯一的; B. 一个关系的主码指定值之后,对应的元组也就确定了 C. 关系R的主码的任何真子集都不可能是关系R的主码 D. 在保存学生学籍信息的关系中,学生姓名对应的属性不适合单独作为主码

第6章关系数据库理论 1 . 理解并给出下列术语的定

第6章关系数据库理论 1 .理解并给出下列术语的定义: 函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码. 1 NF 、2NF 、3NF 、BcNF 、多值依赖、4NF 。 答: 定义1:设R(U)是属性集U上的关系模式。X,Y是属性集U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等, 则称X函数确定Y或Y函数依赖于X,记作X→Y。(即只要X上的属性值相等,Y上的值 一定相等。) 术语和记号: X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖。若不特别声明,总是讨论非 平凡的函数依赖。 X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖。 若X→Y,则X叫做决定因素(Determ。inant)。 若X→Y,Y→X,则记作X←→Y 若Y不函数依赖于X,则记作X Y。 定义2:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖 若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖 定义3:若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式(1NF)。 定义4:若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则关系模式R∈2NF 。 (即1NF消除了非主属性对码的部分函数依赖则成为2NF)。 定义5:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z不是Y的 子集)使得X→Y,Y X,Y→Z成立,则称R∈3NF。 定义6:关系模式R∈1NF 。若X.Y 且Y 不是X 的子集时,X 必含有码,则 R∈BCNF。 定义7:关系模式R∈1NF,如果对于R的每个非平凡多值依赖X..Y(Y不是X的子集,Z=U-X-Y不为空),X都含有码,则称R∈4NF。 2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。 班级:班号、专业名、系名、人数、入校年份。 系:系名、系号、系办公地点、人数。 学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会 有一个入会年份。

数据库第六章关系数据理论习题讲解

第六章关系数据理论 (我们数据库老师给的资料,蛮有用的,分享下) 一、求最小依赖集 例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。 解: 1、将依赖右边属性单一化,结果为: F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE→G } 2、在F1中去掉依赖左部多余的属性。对于CE→A,由于C→A成立,故E就是多余的;对于ACD →B,由于(CD)+=ABCEDG,故A就是多余的。删除依赖左部多余的依赖后: F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G } 3、在F2中去掉多余的依赖。对于CG→B,由于(CG)+=ABCEDG,故CG→B就是多余的。删除依赖左部多余的依赖后: F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G } CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。 二、求闭包 例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。解:令X={AE},X(0)=AE; 计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边就是AE子集的函数依赖,其结果就是:A→D,E→C。于就是X(1)=AE∪DC=ACDE; 因为X(0)≠X(1),且X(1)≠U,所以在F中找出左边就是ACDE子集的函数依赖,其结果就是:CD→I。于就是X(2)=ACDE∪I=ACDEI。 虽然X(2)≠X(1),但在F中未用过的函数依赖的左边属性已没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。 三、求候选键 例1:关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。 解:首先求属性的闭包: (A)+=AB, (B)+ =B, (C)+ =CD, (D)+ =D (AB)+ =AB,(AC)+=ABCD=U,(AD)+ =ABD,(BC)+ =BCD,(BD)+ =BD,(CD)+ =CD (ABD)+ =ABD,(BCD)+ =BCD, 因(AC)+=ABCD=U,且(A)+=AB,(C)+ =CD,由闭包的定义,AC→A,AC→B,AC→B,AC→D,由合并规则得AC→ABCD=U; 由候选码的定义可得AC为候选码。

相关文档
最新文档