11.候选码中的属性称为 。
A.非主属性 B.主属性 C.复合属性 D.关键属性 答案:B
12.关系模式中各级模式之间的关系为 。 A.3NF?2NF?1NF B.3NF?1NF?2NF C.1NF?2NF?3NF D.2NF?lNF?3NF 答案:A
13.关系模式中,满足2NF的模式, 。 A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF 答案:B
14.关系模式R中的属性全部是主属性,则R的最高范式必定是 。 A.2NF B.3Nf C BCNF D.4NF
答案:B
15.消除了部分函数依赖的1NF的关系模式,必定是 。 A.1NF B.2NF C.3NF D.4NF 答案:B
16.关系模式的候选码可以有 ① ,主码有 ② 。 A.0个 B.1个 C.1个或多个 D.多个 答案:①C ②B
17.候选码中的属性可以有 。
A.0个 B.1个 C.1个或多个 D.多个 答案:C
18.关系模式的分解 。 A.惟一 B.不惟一 答案:B
19.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式? 。 部门(部门号,部门名,部门成员,部门总经理) A.部门总经理 B.部门成员 C.部门名 D.部门号 答案:B
二、填空题
1.关系规范化的目的是 。
答案:控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性
2.在关系A(S,SN,D)和B(D,CN,NM中,A的主键是S,B的主键是D,则D在S中称为 。
答案:外部键 3.对于非规范化的模式,经过 ① 转变为1NF,将1NF经过 ② 转变为2NF,将2NF经过 ③ 转变为3NF。 答案:①使属性域变为简单域
②消除非主属性对主码的部分依赖
③消除非主属性对主码的传递依赖
4.在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于 。 答案:1NF
5.1NF,2NF,3NF之间,相互是一种 关系。 答案:3NF?2NF?1NF
6.若关系为1NF,且它的每一非主属性都 候选码,则该关系为2NF。 答案:不部分函数依赖于
9.设有如图4.7所示的关系R,R的候选码为 ① ;R中的函数依赖有 ② ;R属于 ③ 范式。
答案:①A和DE ②A→DE,DE→A ③BCNF
三.应用题
1.分析关系模式:STUDENT(学号,姓名,出生日期,系名,班号,宿舍区),指出其候选码,最小依赖集和存在的传递函数依赖。 解:经分析有:
候选码:学号(每个学生只有惟一的学号)
最小依赖集:{学号→姓名,学号→出生日期,学号→班号,系名→宿舍区,班号→系名}
存在传递函数依赖:
传递
学号→系名→宿舍区,∴有学号————→宿舍区;
传递
班号→系名→宿舍区,∴有班号————→宿舍区;
传递
学号→班号→系名,∴有学号————→系名;
2.指出下列关系模式是第几范式?并说明理由。 (1).R(X,Y,Z) F={XY→Z} (2).R(x,Y,z) F={Y→z,XZ→Y} (3).R(X,Y,Z) F={Y→Z,Y→X,X→YZ} (4).R(x,Y,z) F={X→Y,X→Z} (5).R(x,Y,Z) F={XY→Z} (6).R(W,X,Y,Z) F={X→Z,WX→Y} 解:
(1).R是BCNF。
R候选码为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选码XY。 (2).R是3NF。
R候选码为XY和XZ,R中所有属性都是主属性,不存在非主属性对的候选码的传递依赖。
(3).R是BCNF。
R候选码为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部都包含了任一候选码,∴R是BCNF。 (4).R是BCNF。
R的候选码为X,而且F中每一个函数依赖的左部都包含了候选码X。 (5).R是BCNF。
R的候选码为XY,而且F中函数依赖的左部包含了候选码XY。 (6).R是1NF。
R的候选码为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候选码的部分函数依赖。
3.设有关系模式R(U,F),其中:
U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D} 求出R的所有候选码。
解:根据候选码的定义:如果函数依赖X→U在R上成立,且不存在任何X’? X,使得X→U也成立,则称X是R的一个候选码。由此可知,候选码只可能由A,C,E组成,但有E→A,所以组成候选码的属性可能是CE。
+
计算可知:(CE)=ABCDEP,即CE→U
而:C+=CP,E+=ABE ∴R只有一个候选码CE。
4.设有关系模式R(C,T,S,N,G),其上的函数依赖集: F={C→T,CS→G,S→N} 求出R的所有候选码。
解:根据候选码的定义,R的候选码只可能由F中各个函数依赖的左边属性组成,即C,S,所以组成候选码的属性可能是CS。 计算可知:(CS)+=CGNST,即CS→U
++
而:C=CT,S=NS
∴R只有一个候选码CS。
5.设有关系模式R(A,B,C,D,E),其上的函数依赖集: F={A→BC,CD→E,B→D,E→A}
+
(1).计算B。
(2).求出R的所有候选码。 解:
+
(1).令X={B},X(0)=B,X(1)=BD,X(2)=BD,故B=BD。 (2).根据候选码定义,R的候选码只可能由F中各个函数依赖的左边属性组成,即A,B,C,D,E,由于A→BC(A→B,A→C),B→D,E→A,故: ·可除去A,B,C,D,∴组成候选码的属性可能是E。
十
计算可知:E=ABCDEE,即E→U,∴E是一个候选码。 ·可除去A,B,E,∴组成候选码的属性可能是CD。
计算可知:(CD)+=ABCDE,即CD→U,但C+=C,D+=D,∴CD是一个候选码。 ·可除去B,C,D,E,∴组成候选码的属性可能是A。 计算可知:A+=ABCDE,即A→U,∴A是一个候选码。 ·可除去A,D,E,∴组成候选码的属性可能是BC。
计算可知:(BC)+=ABCDE,即CD→U,但B+=BD,C+=C,∴BC是一个候选码。
R的所有候选码是A,BC,CD,E。
6.设有关系模式R(U,F),其中:
U={A,B,C,D,E},F={A→D,E→D,D→B,BC→D,DC→A} (1).求出R的候选码。 解:
(1).(CE)+=ABCDE,则CE→U,而C+=C,E+=DE=BDE,根据候选码定义,CE是R的候选码。
7.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→HG,ABC→PG},计算属性集D关于F的闭包D+。 解:令X={D},X(0)=D。
在F中找出左边是D子集的函数依赖,其结果是:D→HG,∴X(1)=X(0)HG=DGH, 显然有X(1)≠X(0)。
在F中找出左边是DGH子集的函数依赖,未找到,则X(2)=DGH。由于X(2)=X(1),
则:D+=DOH
8.已知关系模式R的全部属性集U={A,B,C,D,E,G}及函数依赖集: F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG} 求属性集闭包(BD)+。 解:令X={BD},X(0)=BD,X(1)=BDEG,X(2)=BCDEG,X(3)=ABCDEG,故(BD)+=ABCDEG。
+++++
9.设有函数依赖集F={D→G,C→A,CD→E,A→B),计算闭包D,C,A,(CD),(AD),
++
(AC),(ACD)。 解:
+
令X={D},X(0)=D,X(1)=DG,X(2)=DG,故D=DG。
+
令X={C},X(0)=C,X(1)=AC,X(2)=ABC,X(3)=ABC,故C=ABC。 令X={A},X(0)=A,X(1)=AB,X(2)=AB,故A+=AB。
令X={CD},X(0)=CD,X(1)=CDG,X(2)=ACDG,X(3)=ACDEG,X(4)=ABCDEG,
+
故(CD)=ABCDEG。
+
令X={AD},X(0)=AD,X(1)=ABD,X(2)=ABDG,X(3)=ABDG,故(AD)=ABDG。 令X={AC},X(0)=AC,X(1)=ABC,X(2)=ABC,故(AC)+=ABC。
令X={ACD},X(0)=ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+=ABCDEG。
10.设有函数依赖集F={AB→CE,A→C,GP→B,EP→A,CDE→P,HB→P,D→H,ABC→PG,求与F等价的最小函数依赖集。
解:(1).将F中依赖右部属性单一化: AB→C HB→P AB→E D→H F1= A→C D→G GP→B ABC→P EP→A ABC→G CDE→P
(2).对于AB→C,由于有A→C,则为多余的: AB→E HB→P A→C D→H F2= GP→B D→G EP→A ABC→P CDE→P ABC→G
(3).通过分析没有多余的依赖,则: AB→E HB→P A→C D→H F3= GP→B D→G EP→A ABC→P CDE→P ABC→G
11.设有关系模式R(U,F),其中:
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E} 求F的最小依赖集。 解:
(1).将F中依赖右部属性单一化:
F1={E→G,G→E,F→E,F→G,H→E,H→G,FH→E} (2).对于FH→E,由于有F→E,则为多余的,则: F2={E→G,G→E,F→E,F→G,H→E,H→G}
(3).由于E→G,所以在F2中的F→E和F→G以及H→E和H→G之一是多余的,则: F3={E→G,G→E,F→G,H→G} 或F3={E→G,G→E,F→G,H→E} 或F3={E→G,G→E,F→E,H→E}
或F3={E→G,G→E,F→E,H→G}
12.设有关系模式R(A,B,C,D),其上的函数依赖集: F={A→C,C→A,B→AC,D→AC}
+
(1).计算(AD)。
(2).求F的最小等价依赖集Fm。 (3).求R的码。 解:
+
(1).令X={AD},X(0)=AD,X(1)=ACD,X(2)=ACD,故(AD)=ACD。
(2).将F中的函数依赖右部属性单一化: A→C C→A F1= B→A B→C D→A D→C
在Fl中去掉多余的函数依赖:
∵B→A,A→C ∴B→C是多余的。 又∵D→A,A→C ∴D→C是多余的。
A→C C→A F2=
B→A D→A
函数依赖集的最小集不是惟一的,本题中还可以有其他答案。
∵F2中所有依赖的左部却是单属性,∴不存在依赖左部有多余的属性 ∴ A→C C→A F=
B→A D→A
(3). ∵BD在F中所有函数依赖的右部均未出现
∴候选码中一定包含BD,而(BD)+=ABCD,因此,BD是R惟一的候选码。
13.己知关系模式R(CITY,ST,ZIP)和函数依赖集: F={(CITY,ST)→ZIP,ZIP→CITY} 试找出R的两个候选码。
解:设U=(CITY,ST,ZIP),F中函数依赖的左边是CITY,ST,ZIP: · 由于ZIP→CITY,去掉CITY,故(ST,ZIP)可能是候选码。 (ST,ZIP)+={ST,ZIP,CITY},∴(ST,ZIP)→U。
又ST+=ST,ZIP+={ZIP,CITY},故(ST,ZIP)是一个候选码。
·由于(CITY,ST)→ZIP,去掉ZIP,故(CITY,ST)可能是候选码。 (CITY,ST)+={CITY,ST,ZIP},∴(CITY,ST)→U。 又CITY+=CITY,ST+=ST,故(CITY,ST)是一个候选码。
因此,R的两个候选码是(ST,ZIP)和(CITY,ST)。
14.设有关系模式R(A,B,C,D,E),R的函数依赖集: F={A→D,E→D,D→B,BC→D,CD→A} (1).求R的候选码。 解:
(1).设U=(A,B,C,D,E),由于(CE)+=ABCDE,C+=C,E+=BDE