第六章关系数据理论

第六章关系数据理论
第六章关系数据理论

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

第六章关系数据理论 (我们数据库老师给的资料,蛮有用的,分享下) 一、求最小依赖集 例:设有依赖集: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为候选码。

相关文档
最新文档