当前位置:文档之家› 数据库5版第七章规范化理论例题解答

数据库5版第七章规范化理论例题解答

数据库5版第七章规范化理论例题解答
数据库5版第七章规范化理论例题解答

关系数据库规范化理论例题解答

?

(??∈?)

例:证明定理 Armstrong公理是正确的,即如果F成立,则由F根据Armstrong公理所推导的函数依赖总是成立的。

设有R(U,F),X、Y、Z均是U的子集,F是R的函数依赖集,推理规则如下:

A1:自反律(reflexivity)

如果Y ?X ?U,则X→Y为F所蕴涵。

A2:增广律(augmentation)

如果X→Y为F所蕴涵,且Z?U,则XZ→YZ为F的所蕴涵。(XZ代表X∪Z)

A3:传递律(transitivity)

如果X→Y和Y→Z为F所蕴涵,则X→Z为F的蕴涵。

证:设t1,t2是关系R中的任意两个元组。

A1:如果t1[X]=t2[X],则因Y X,有t1[Y]=t2[Y],故X→Y成立。

A2:如果t1[XZ]=t2[XZ],则有t1[X]=t2[X],t1[Z]=t2[Z]。已知X→Y成立,因此可得t1[Y]=t2[Y],由上可知t1[YZ]=t2[YZ],故XZ→YZ成立。

A3:如果t1[X]=t2[X],则t1[Y]=t2[Y];如果t1[Y]=t2[Y],则t1[Z]=t2[Z]由上可得,如果t1[X]=t2[X],则t1[Z]=t2[Z],故X→Z成立。

例:证明定理根据三条推理规则得到下面三条推理规则是正确的。

(1) 合并规则

由X→Y,X→Z,有X→YZ。

(2) 伪传递规则

由X→Y,WY→Z,有XW→Z。

(3) 分解规则

如果X→Y,且Z ? Y,则X→Z成立。

证: (1) 如果X→Y,则X→XY (A2)

如果X→Z,则XY→YZ (A2)

由上可得X→YZ (A3)

(2) 如果X→Y,则WX→WY (A2)

WY→Z (已知条件)故得WX→Z (A3)

(3) 如果Z?Y,则Y→Z (A1)

X→Y (已知条件)故得X→Z (A3)

例:证明定理 X→Y能由Armstrong公理推导出的充要条件是Y?X + F

证:设Y={A1,A2,…,Ak},先证充分性:

假定Y ?X +

F,则根据X

+

F的定义,X→Ai(i=1,2,…,k)可由Armstrong公理导出,根据

合并规则则有X→Y。

再证必要性:设X→Y可由Armstrong公理导出,根据分解规则X→Ai(i=1,2,…,k)成

立,根据X +

F的定义可得Y?X

+

F。

例.证明(1)由{X→YZ,Z→CW}推出X→CWYZ (2)由{X→Y}推出WX→Y

解:(1) X→YZ 已知

X→Y ,X→ Z,分解

Z→CW 已知

X→CW 传递

X→CWYZ 合并

(2) X→Y 已知

WX→WY 增广

WX→Y 分解

例:设V、W、Z是U的子集,A、B是U的属性,令X=VZ,Y=WZ,试证由{V→W,W→V,X →A } 可推出Y→A

证:已知X=VZ, X→A ,则 VZ→A

已知W→V,增广,则WZ → VZ ,传递WZ →A

已知Y= WZ,则Y→A

例:设F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},求BD+F

解:令X(0)=BD,考察X(0)的所有子集{BD},{B},{D},是否作为决定因素出现在F中。只有D→EG,将EG纳入X(1),得:

X(1)=BD∪EG=BDEG

考察X(1)的所有子集作为决定因素出现在F中,有D→EF,BE→C,得:

X(2)=BDEG∪EGC=BCDEG

继续找决定因素为X(2)子集的依赖:D→EG,C→A,BE→C,BC→D,CG→BD,CE→AG,得: X(3)=BCDEG∪ABCDEG=ABCDEG

因X(3)=U,结束。BD+F=ABCDEG

例:求证F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG}中的BD是一个候选码。

解: BD+F=ABCDEG, 则BD→ABCDEG,即BD→u

考察BD的子集,求得B+F=B,D+F=DEG

因此BD是关系模式的候选码。

例:设关系模式R(A,B,C,D,E)的函数依赖集F={AB→CE,E→AB,C→D},试问R最高属于第几范式。

解:先求决定因素的闭包

AB+F=ABCED

E+F=EABCD

C+F=CD

再求AB子集A,B的闭包 A+F=A,B+F=B 。因此,AB和E可作为候选码,

主属性为A,B,E,非主属性为C,D,不存在非主属性对候选码的部分函数依赖,因此R∈2NF。存在D对AB码的传递函数依赖,R 3NF。

例:设有关系模式R(A,B,C,D,E,H)其两个函数依赖集分别是

F={AB→E,AC→H,AD→B,B→C,C→D}

G={AD→BEH,B→C,C→D}

判定F是否等价G。

解:先求X→Y∈F关于G的属性闭包X+G,并判Y?X+G。

AB+G=ABCDEH, 则E∈AB+G

AC+G=ACDBEH, 则H∈AC+G

AD+G=ADBEHC, 则B∈AD+G

B+G=BCD, 则C∈B+G

C+G=CD, 则D∈C+G

再求X→Y∈G,关于F的属性闭包X+F,并判Y?X+F。

AD+F=ADBCHE, 则BCH? AD+F

B+F=BCD, 则C∈B+F

C+F=CD, 则D∈C+F

因此,F与G等价。

例:设F={AB→E,AC→H,AD→BH,B→C,C→D},试证AC→H是冗余的。解:令G={AB→E,AD→BH,B→C,C→D}

AC+G=ACDBH,包含H,AC→H是冗余的

例:设F={AB→C,B→D,C→E,EC→B,AC→B},求F的极小函数依赖集Fc 。

解:(1) F1={AB→C,B→D,C→E,EC→B,AC→B}

(2) AB+F1-{AB→C}=ABD, C {A,B,D},保留AB→C

B+F1-{B→D}=B, D? {B},保留B→D

C+F1-{C→E}=C, E? {C},保留C→E

EC+F1-{EC→B}=EC, BC?{E,C},保留EC→B

AC+F1-{AC→B}=ACEBD,B∈{A,B,C,D,E},取掉AC→B

则F2={AB→C,B→D,C→E,EC→B}

(3) ({AB}-{A})+F2=B+F2=BD, C?{B,D} ,保留AB中的A

({AB}-{B})+F2=A+F2=A, C?{A},保留AB中的B

({EC}-{E})+F2=C+F2=CEB, B∈{C,E,B} 取掉EC中的E

则F3={AB→C,B→D,C→E,C→B}

因此Fc = F3={AB→C,B→D,C→E,C→B}。

应当指出,给定F后,Fc不一定是唯一的,检查顺序不一样,可能导致不同的极小函数依赖集。例如,对F={A→B,B→A,B→C,A→C,C→A},按从前到后顺序,可以求出:

Fc={A→B,B→C,C→A}

若从第三个开始,可以求出:

Fc={A→B,B→A,A→C,C→A}

它们都是F的极小函数依赖集。

例: 有关系模式R(A,B,C,D,E) F={A→C,B→C,C→D,DE→C,CE→A}, ρ={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)}, 试判别ρ是否为无损分解。解:(1) 构造初始矩阵如图

(2) 检查F的函数依赖,并修改M

对于A→C,A列上行1,行2,行5的值相等(为a1),将行1,行2,行5对应C列上的交叉点的值b13,b23,b53改为b13(b13的行号最小)

对于B→C,B列上,行2,行3的值相等,修改C列上的行2,行3的值为b13

对于C→D,将 D列上行1,行2,行3,行5的值改为a4

对于DE→C,D、E列上,行3,行4,行5的值同为a4,a5将C列对应行的值改为a3

对于CE→A,C、E列上,行3,行4,行5的值同为a3,a5,将A列对应行的值改为a1

检查一遍后,M矩阵的行3变为a1,a2,a3,a4,a5算法终止,ρ是无损分解。

例5-9: 设有关系模式R(A,B,C),F={A→B,C→B},

ρ1={R1(A,B),R2(B,C)}, ρ2={R1(A,C),R2(B,C)},求ρ1, ρ2是否无损分解解: 对于ρ1有,U1=AB,U2=BC,U1∩U2=B,U2-U1=C,U1-U2=A

对于B→A, B+F=B, 所以B→A?F+

对于B→C, B+F=B,所以B→C?F+

因此ρ1不是无损分解。

对于ρ2有,U1∩U2=C,U1-U2=A,U2-U1=B

对于C→B,C+F=CB,所以C→B∈F+

因此ρ2是无损分解。

例: R(A,B,C),F={A→B,B→C},若U1={A,B},U2={A,C},U3={B,C},

求ΠU1(F),ΠU2(F), ΠU3(F)。

解:根据定义ΠU(F)={X→Y|X→Y∈F+∧XY?Ui},则:

ΠU1(F)={A→B}, ΠU2(F)={A→C}, ΠU3(F)={B→C}。

例: R(A,B,C),F={A→B,C→B},ρ={R1(A,B),R2(A,C)},求ΠU1(F),ΠU2(F)

解:ΠU1(F)={A→B},ΠU2(F)=φ

例: 设有R(A,B,C,D),F={A→B,B→C,C→D,D→A},试判断分解ρ

={R1(A,B),R2(B,C),R3(C,D)}是否保持依赖。

解:ΠU1(F)={A→B,B→A },ΠU2(F)={B→C,C→B },ΠU3(F)]={C→D,D→C },令

G=Πu1(F)∪Πu2(F)∪Πu3(F)={A→B, B→A ,B→C, C→B ,C→D,D→C },

显然F中的前三个函数依赖都包含在G中,现在只须判断D→A是否属于G+。

求D+G=DCBA A∈D+G

所以D→A∈G+,ρ可以保持依赖。

例: 设有关系模式R(C,T,H,R,S,G), 最小函数依赖集Fc={C→T,HR→C,T→R,CS→G,HS →R},将R分解成3NF且保持依赖。

解 : 按算法得:

ρ={R1(C,T),R2(H,R,C),R3(T,R),R4(C,S,G),R5(H,S,R)}

例: 设有关系模式S(S#,SN,SA,SS,SD,DN,C#,G),其函数依赖集F={S#→SN,S#→SA,S#→SS,S#→SD,SD→DN,(S#,C#)→G},求S一个满足3NF且保持依赖且无损的分解。

解:求极小函数依赖集Fc,知Fc =F 。S的码为(S#,C#)

τ={S1(S#,SN,SA,SS,SD),S2(SD,DN),S3(S#,C#,G)}

例5-13:设有关系模式R(S#,C#,G,TN,D), 属性含义, S#:学号;C#:课程号;G:成绩;TN:任课教师;D:教师所在系。给定函数依赖集F={(S#,C#)}→G, C#→TN, TN→D},求分解R为BCNF的无损分解。

解:初试化ρ={R}, R的码为(S#,C#),

对TN→D,TN不包含码,分解R为ρ={ R1(TN, D),R2(S#, C#, G, TN), }

F1={ TN→D}, 码是 TN, F2={(S#,C#)}→G, C#→TN},码是(S#,C#)

对于R2中C#→TN,C#不包含码,分解R2,ρ={ R1(TN, D),R2(C#, TN), R3(S#, C#, G) , },F2={ C#→TN},码是C#,F3={(S#,C#)}→G },码是(S#,C#)

R1,R2,R3都属于BCNF,分解完成。

注意,分解结果不是唯一的,这与选择分解次序有关。上例中先分解出{C#,TN},则ρ={R1(S#, C#, G,D), R2(C#, TN)}。因为R1(S#, C#, G,D)中有C#→D(从F+范围考虑),所以继续分解R1 ,得最终结果ρ={R1(S#, C#, G), R2(C#, TN), R3(C#, D)},算法虽然保证分解是无损的,但不能保证一定是保持依赖的,如先分解出{C#, T#},就无法保持TN→D的函

数依赖性。

例:给定关系模式R(C#(课程号),T(任课教师),H(上课时间),R(教室),S#(学号),G(成绩)),语义说明:每门课由一名教师任教,但一名教师可以教多门课;每个学生选修每门课有一个成绩;在给定时间内,学生只在一个教室上课。求:

(1)判断R属于第几范式?

(2)试将R分解为满足3NF且保持依赖和无损的关系模式。

(3)试将R分解为BCNF的无损分解。

解:根据语义假设,写出函数依赖集 F={C#→T,HR→C#,HT→R,C#S#→G,HS#→R}

HS#+F=HS#RC#GT,H+F=H, S#+F=S#,因此HS#为关系模式的码。

(1)模式的主属性是H,S#;非主属性是C#,T,R,G,不存在非主属性对码的部分依赖,但存在非主属性C#、T 对码的传递依赖,因此,模式属于2NF。

(2)求F的极小函数依赖集等于F。

ρ={R1(C#,T),R2(H,R,C#),R3(H,T,R),R4(C#,S#,G),R5(H,S#,R)}

(3)初始化ρ={R(C#,T,H,R,S#,G)},首先选S#C#→G,从R中分出,得ρ={R1(C#,S#,G),R2(C#,T,H,R,S#)}

F2={C#→T,HR→C#,HT→R,HS#→R}

将C#→T,从R2中分出

ρ={R1(C#,S#,G),R2(C#,T),R3(C#,H,R,S#)}

F3={HR→C#,HT→R,HS#→R}

将HR→C#从R3中分出

ρ={R1(C#,S#,G),R2(C#,T),R3(H,R,C#),R4(H,R,S#)}

F4={HS#→R},HS#为码

所以,这时R1,R2,R3,R4都是BCNF。分解完成。

7.设U={A,B,C},F={A→B,B→C} ,求A+,BC+

8.设R(A,B,C,D,E,G),F={AB→C,BC→D,BE→C,CD→B,CE→AG,CG→BD,C→A,D →EG},求F的极小函数依赖集F′。

9.试判断F={A→BC,A→D,CD→E,}与G={A→BCE,A→ABD,CD→E}是否等价?10.试问下列关系模式最高属于第几范式,并解释其原因。

(1)R(A,B,C,D),F={B→D,AB→C}

(2)R(A,B,C,D,E),F={AB→CE,E→AB,C→D}

(3)R(A,B,C,D,),F={B→D,D→B,AB→C}

(4)R(A,B,C),F={A→B,B→A,A→C}

(5)R(A,B,C),F={A→B,B→A,C→A}

(6)R(A,B,C,D),F={A→C,D→B}

(7)R(A,B,C,D),F={A→C,CD→B}

11.设R(A,B,C,D,E),F={A→BC,CD→E,B→D,E→A},R的两个分解:ρ1={R1(A,B,C),R2(A,D,E)}

ρ2={R1(A,B,C),R2(C,D,E)

判断ρ1,ρ2是否无损分解。

12.设R(A,B,C,D,E,G),F={E→D,C→B,CE→G,B→A}

(1)判断R属于第几范式?

(2)试将R分解为满足3NF且保持依赖和无损的关系模式。

(3)试将R分解为BCNF的无损分解。

规范化-数据库设计原则

规范化-数据库设计原则 关系数据库设计的核心问题是关系模型的设计。本文将结合具体的实例,介绍数据库设计规范化的流程。摘要 关系型数据库是当前广泛使用的数据库类型,关系数据库设计是对数据进行组织化和结构化的过程,核心问题是关系模型的设计。对于数据库规模较小的情况,我们可以比较轻松的处理数据库中的表结构。然而,随着项目规模的不断增长,相应的数据库也变得更加复杂,关系模型表结构更为庞杂,这时我们往往会发现我们写出来的SQL语句的是很笨拙并且效率低下的。更糟糕的是,由于表结构定义的不合理,会导致在更新数据时造成数据的不完整。因此,就有必要学习和掌握数据库的规范化流程,以指导我们更好的设计数据库的表结构,减少冗余的数据,借此可以提高数据库的存储效率,数据完整性和可扩展性。本文将结合具体的实例,介绍数据库规范化的流程。 序言 本文的目的就是通过详细的实例来阐述规范化的数据库设计原则。在DB2中,简洁、结构明晰的表结构对数据库的设计是相当重要的。规范化的表结构设计,在以后的数据维护中,不会发生插入(insert)、删除(delete)和更新(update)时的异常。反之,数据库表结构设计不合理,不仅会给数据库的使用和维护带来各种各样的问题,而且可能存储了大量不需要的冗余信息,浪费系统资源。 要设计规范化的数据库,就要求我们根据数据库设计范式――也就是数据库设计的规范原则来做。但是一些相关材料上提到的范式设计,往往是给出一大堆的公式,这给设计者的理解和运用造成了一定的困难。因此,本文将结合具体形象的例子,尽可能通俗化地描述三个范式,以及如何在实际工程中加以优化使用。规范化 在设计和操作维护数据库时,关键的步骤就是要确保数据正确地分布到数据库的表中。使用正确的数据结构,不仅便于对数据库进行相应的存取操作,而且可以极大地简化使用程序的其他内容(查询、窗体、报表、代码等)。正确进行表设计的正式名称就是"数据库规范化"。后面我们将通过实例来说明具体的规范化的工程。关于什么是范式的定义,请参考附录文章1. 数据冗余 数据应该尽可能少地冗余,这意味着重复数据应该减少到最少。比如说,一个部门雇员的电话不应该被存储在不同的表中,因为这里的电话号码是雇员的一个属性。如果存在过多的冗余数据,这就意味着要占用了更多的物理空间,同时也对数据的维护和一致性检查带来了问题,当这个员工的电话号码变化时,冗余数据会导致对多个表的更新动作,如果有一个表不幸被忽略了,那么就可能导致数据的不一致性。 规范化实例 为了说明方便,我们在本文中将使用一个SAMPLE数据表,来一步一步分析规范化的过程。 首先,我们先来生成一个的最初始的表。 CREATE TABLE "SAMPLE" ( "PRJNUM" INTEGER NOT NULL, "PRJNAME" VARCHAR(200), "EMYNUM" INTEGER NOT NULL, "EMYNAME" VARCHAR(200), "SALCATEGORY" CHAR(1), "SALPACKAGE" INTEGER)

第7章关系数据库规范化理论复习题

第7章关系规范化理论 一、单项选择题 1.关系规范化中的删除操作异常是指①,插入操作异常是指②。 A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入 答案:①A ②D 2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是。 A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑 答案:A 3.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是。 A.互不相关的 B.不可分解的 C.长度可变的 D.互相关联的 答案:B 4.关系数据库规范化是为解决关系数据库中问题而引入的。 A.插入、删除和数据冗余 B.提高查询速度 C.减少数据操作的复杂性 D.保证数据的安全性和完整性 答案:A 5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及的缺陷。 A.数据的不一致性 B.结构不合理 C.冗余度大 D.数据丢失 答案:C 6.当关系模式R(A,B)已属于3NF,下列说法中是正确的。 A.它一定消除了插入和删除异常 B.仍存在一定的插入和删除异常 C.一定属于BCNF D.A和C都是 答案:B 7. 关系模式1NF是指_________。 A. 不存在传递依赖现象 B. 不存在部分依赖现象

C.不存在非主属性 D. 不存在组合属性 答案:D 8. 关系模式中2NF是指_______。 A.满足1NF且不存在非主属性对关键字的传递依赖现象 B.满足1NF且不存在非主属性对关键字部分依赖现象 C.满足1NF且不存在非主属性 D.满足1NF且不存在组合属性 答案:B 9. 关系模式中3NF是指___________。 A.满足2NF且不存在非主属性对关键字的传递依赖现象 B.满足2NF且不存在非主属性对关键字部分依赖现象 C.满足2NF且不存在非主属性 D.满足2NF且不存在组合属性 答案:A 10.关系模型中的关系模式至少是。 A.1NF B.2NF C.3NF D.BCNF 答案:A 11.关系模式中,满足2NF的模式,。 A.可能是1NF B.必定是1NF C.必定是3NF D.必定是BCNF 答案:B 12.X→Y为平凡函数依赖是指__________。 A.X

数据库原理练习题

1.第1题 每个属性,都有一个取值范围,这叫属性()。 A.域 B.值 C.主属性 D.关键字 答案:A 标准答案:A 2.第2题 关系模式的规范化过程主要是为克服数据库逻辑结构中存在的插入异常、删除异常以及( ) A.数据不一致性 B.结构不合理 C.数据冗余度大 D.数据丢失 答案:C 标准答案:C 3.第3题 数据的物理独立性是( )实现的. A.外模式/模式映像 B.外模式/内模式映像 C.模式/内模式映像 D.内模式/外模式映像 答案:C 标准答案:C 4.第4题 实体-联系模型是( ). A.概念模型 B.逻辑模型 C.现实世界 D.物理模型 答案:A 标准答案:A 5.第5题 常用的用户标识方法是( ). A.用户密码 B.用户名和口令字 C.用户权限 D.用户名 答案:B 标准答案:B 6.第6题 关于数据处理和数据管理,下列叙述正确的是( )

A.数据处理经历了人工系统、文件系统、数据库系统三个阶段 B.数据处理是数据管理的中心问题 C.数据管理的主要工作是对数据进行收集、分类整理、组织、存储、维护、检索等操作 D.数据管理技术优劣不影响数据处理的效率 答案:C 标准答案:C 7.第7题 下列四项中,不属于数据库特点的是( ) A.数据共享 B.数据完整性 C.数据冗余很高 D.数据独立性高 答案:C 标准答案:C 8.第8题 SQL语言通常称为( ) A.结构化查询语言 B.结构化控制语言 C.结构化定义语言 D.结构化操纵语言 答案:A 9.第16题 以下数据库的数据模型中,现今使用的主要的数据模型是( ). A.层次模型 B.网状模型 C.关系模型 D.面向对象模型 答案:C 标准答案:C 10.第17题 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F () A.是无损联接,也是保持FD的分解

关系数据库规范化理论常见试题及答案

关系数据库规范化理论常见试题及答案 1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么? 答:关系规范化中的操作异常有插入异常、更新异常和删除异常,这些异常是由于关系中存在不好的函数依赖关系引起的。消除不良函数依赖的办法是进行模式分解,即将一个关系模式分解为多个关系模式。 2.第一范式、第二范式和第三范式的关系的定义是什么? 答:不包含非原子项属性的关系就是第一范式的关系;对于第一范式的关系,如果此关系中的每个非主属性都完全函数依赖于主键,则此关系属于第二范式;对于第二范式的关系,如果所有的非主属性都不传递依赖于主键,则此关系就是第三范式的。 3.什么是部分依赖?什么是传递依赖?请举例说明。 答:部分依赖关系是指某个属性只由构成主键的部分列决定,而和另一些列无关。例如对关系:学生选课(学号,姓名,课程号,成绩),此关系的主键是(学号,课程号),而“姓名”列只由“学号”决定,与“课程号”无关,这就是部分依赖关系。 传递依赖指的是某个非主键属性是由另一个非主键属性决定的,而这个非主键属性再由主键决定。例如对关系:学生(学号、姓名、所在系,系主任),此关系的主键为(学号),而“系主任”由“所在系”决定,“所在系”又由“学号”决定,因此“系主任” 对“学号”是传递依赖关系。 4.第三范式的表是否一定不包含部分依赖关系? 答:是的。 5.对于主键只由一个属性组成的关系,如果它是第一范式关系,则它是否一定也是第二范式关系?答:是的。因为如果一个关系的主键只由一个属性组成,则此关系中一定不会存在部分依赖关系。 6.设有关系模式:学生修课管理(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一名学生可以选修多门课程,一门课程可以被多名学生选修。一名学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。 答:候选键为:(学号,课程号),它也是此关系模式的主键。由于存在函数依赖:学号→姓名,课程号→课程名 因此,存在非主属性对主键的部分函数依赖关系,因此它不是第二范式的表。分解如下:学生表(学号,姓名,所在系,性别),主键为“学号”,已属于第三范式。 课程表(课程号,课程名,学分),主键为“课程号”,已属于第三范式。 选课表(学号,课程号,成绩),主键为(学号,课程号),已属于第三范式 7.设有关系模式:学生表(学号,姓名,所在系,班号,班主任,系主任),其语义为:一名学生只在一个系的一个班学习,一个系只有一名系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选键,判断此关系模式是第几范式的;若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。

数据库规范化理论习题

规范化理论习题1. 解释下列名词: 函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF、最小函数依赖集、无损分解 函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。 部分函数依赖:即局部依赖,对于一个函数依赖W→A,如果存在X W(X包含于W)有X→A成立,那么称W→A是局部依赖,否则称W→A为完全依赖。 完全函数依赖:见上。 传递函数依赖:在关系模式中,如果Y→X,X→A,且X Y(X不决定Y), A X(A不属于X),那么称Y→A是传递依赖。 候 选关键字:设K 为关主关键字:若关系模式R有多个候选码,则选定其中一个作为主关键字 (Primary Key),有时也称作为主码。 全关键字:若关系模式R整个属性组都是码,称为全关键字(All Key)或全码。 1NF:第一范式。如果关系模式R的所有属性的值域中每一个值都是不可再分解的值, 则称R是属于第一范式模式。如果某个数据库模式都是第一范式的,则称该数据库存模式属于第一范式的数据库模式。第一范式的模式要求属性值不可

再分裂成更小部分,即属性项不能是属性组合和组属性组成。 2NF:第二范式。如果关系模式R为第一范式,并且R中每一个非主属性完全函数依赖于R的某个候选键,则称是第二范式模式;如果某个数据库模式中每个关系模式都是第二范式的,则称该数据库模式属于第二范式的数据库模式。 (注:如果A是关系模式R的候选键的一个属性,则称A是R的主属性,否则称A是R 的非主属性。) 。 3NF:第三范式。如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R是第三范式的模式。如果某个数据库模式中的每个关系模式都是第三范式,则称为3NF的数据库模式。 BCNF:BC范式。如果关系模式R是第一范式,且每个属性都不传递依赖于R 的候选键,那么称R是BCNF的模式。 多值依赖:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,并且Z=U-X-Y, 用x,y,z分别代表属性集X,Y,Z的值,只要r是R的关系,r中存在元组(x,y1,z1)和(x,y2,z2)时,就也存在元组(x,y1,z2)和(x,y2,z1),那么称多值依赖(MultiValued Dependency MVD) X→→Y在关系模式R中成立。 4NF:第四范式。设R是一个关系模式,D是R上的多值依赖集合。如果D中成立非平凡多值依赖X→→Y时, X必是R的超键,那么称R是第四范式的模式。 连接依赖:关系模式R(U)中,U是全体属性集,X,Y,…,Z是U的子集,当且仅当R是由其在X,Y,…,Z上投影的自然连接组成时,称R满足对X,Y,…,Z的连接依赖。记为JD(X,Y,…,Z)。 5NF:关于模式R中,当且仅当R中每个连接依赖均为R的候选码所蕴涵时,称R属于5NF。

数据库原理例题及解答

一、实验目的: 1、了解SQL语言的特点和基本概念。 2、能够针对某种具体的DBMS(本实验采用Access2003),熟练地运用单表查询、连接查询、嵌套查询、集合 查询等各种SQL查询语句对数据库中的表进行操作。 3、对相同的查询要求,能够采用多种查询方法实现,并能分析各种方法的优劣,从中选择合适的方法。 二、实验过程: 1、Print the names of professors who work in departments that have fewer than 50 PhD students. 解:(1)分析:本题是查询在博士生人数少于50个人的系工作的教师名字。查询教授名字可以通过prof 表,而所查询的教授名字是有限制条件的, 他所工作的系名要属于特定的集合(所有系名的一个子集),显然这个子集可以通过查询 dept表获得,所以带有谓词in的嵌套子查询可以实现题目要求。 (2)语句实现: ' SELECT Prof.字段1 FROM Prof WHERE Prof.字段2 IN (SELECT Dept.字段1 FROM Dept WHERE Dept.字段2 < 50); ****************************************************; (3)查询结果: | 2、Print the name(s) of student(s) with the lowest gpa 解:(1)分析:本题是查询成绩点最低的学生的名字。最低的成绩点可以在student表中通过函数min(gpa)获得,而所查询学生的名字的限制为成绩点等于min(gpa), 因此可用如下嵌套子查询实现。 (2)语句实现: > SELECT Student.字段2

数据库练习题

一、选择题 1设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:C 课程,P 教师, S 学生,G 成绩,T 时间,R 教室,根据语义有如下数据依赖集: D={C->P ,( S,C )->G , ( T , R)->C , (T , P)-> R,( T,S )->R} 关系模式W的一个关键字是( ) A (S ,C ) B ( T, R) C) (T ,P ) D) (T ,S ) 2 设有关系模式W(C,P,S,G,T,R),其中中各属性的 含义是:C课程,P教师,S学生。G成绩,T时间,R教室,根据主义有如下依据赖集:K={C→P,(S,C)→G,(T,R )→C,(T,P)→R,(T,S)→R} 关系模式W的规范化程序最高达到() A 1NF B 2NF C 3NF D BCNF 3规范化理论中分解()主要消除其中多余的数据相关性。A关系运算 B 内模式 C外模式 D 视图 4现有职工关系W(工号,姓名,工程,定额),其中每一个工号(职工可能有同名), 每个职工有一个工程,每个工程有一个定额,则关系W已达到() A 1NF B2NF C3NF D4NF 5现有职工关系W(工号,姓名,工程,定额),其中每一

个职工有一个工号(职工可能有同名),每个职工有一个工程,每个工程有一个定额,则关系W已达到() A1NF B2NF C3NF D4NF 6规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是() A、互不相关的 B、不可分解的 C、长度可变的 D、互相关联的 7、在一个关系R中,若每个数据项都是不可再分割的,那 么关系R 一定属于() A、1NF B、2NF C、3NF D、BCNF 8、根所关系数据库规范化理论,关系数据库的关系要满足 1NF,下面“部门”关系中,因()属性而使它不满足1NF。 A、部门号 B、部门名 C、部门成员 D、 部门总经理 9、设有关系模式R(S,D,M)。其函数依赖集F={S->D, D->M},则关系R的规范化程序至多达到() A、1NF B、2NF C、3NF D、BCNF 10、下列关于函数依赖的叙述中,()是不正确的 A、由X->Y,X->Z,有X->YZ B\由XY->Z,有 X->Z,Y->Z C、由X->Y,WY->Z,有xw->z D、由X->Y,Y->Z,有

数据库设计规范化的五个要求

数据库设计规范化的五个要求 通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。 要求一:表中应该避免可为空的列。 虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。 所以,虽然在数据库表设计的时候,允许表中具有空字段,但是,我们应该尽量避免。若确实需要的话,我们可以通过一些折中的方式,来处理这些空字段,让其对数据库性能的影响降低到最少。 一是通过设置默认值的形式,来避免空字段的产生。如在一个人事管理系统中,有时候身份证号码字段可能允许为空。因为不是每个人都可以记住自己的身份证号码。而在员工报到的时候,可能身份证没有带在身边。所以,身份证号码字段往往不能及时提供。为此,身份证号码字段可以允许为空,以满足这些特殊情况的需要。但是,在数据库设计的时候,则可以做一些处理。如当用户没有输入内容的时候,则把这个字段的默认值设置为 或者为 。以避免空字段的产生。 二是若一张表中,允许为空的列比较多,接近表全部列数的三分之一。而且,这

些列在大部分情况下,都是可有可无的。若数据库管理员遇到这种情况,笔者建议另外建立一张副表,以保存这些列。然后通过关键字把主表跟这张副表关联起来。将数据存储在两个独立的表中使得主表的设计更为简单,同时也能够满足存储空值信息的需要。 要求二:表不应该有重复的值或者列。 如现在有一个进销存管理系统,这个系统中有一张产品基本信息表中。这个产品开发有时候可以是一个人完成,而有时候又需要多个人合作才能够完成。所以,在产品基本信息表产品开发者这个字段中,有时候可能需要填入多个开发者的名字。 如进销存管理中,还需要对客户的联系人进行管理。有时候,企业可能只知道客户一个采购员的姓名。但是在必要的情况下,企业需要对客户的采购代表、仓库人员、财务人员共同进行管理。因为在订单上,可能需要填入采购代表的名字 可是在出货单上,则需要填入仓库管理人员的名字等等。 为了解决这个问题,有多种实现方式。但是,若设计不合理的话在,则会导致重复的值或者列。如我们也可以这么设计,把客户信息、联系人都放入同一张表中。为了解决多个联系人的问题,可以设置第一联系人、第一联系人电话、第二联系人、第二联系人电话等等。若还有第三联系人、第四联系人等等,则往往还需要加入更多的字段。 可是这么设计的话,会产生一系列的问题。如客户的采购员流动性比较大,在一年内换了六个采购员。此时,在系统中该如何管理呢 难道就建立六个联系人字段 这不但会导致空字段的增加,还需要频繁的更改数据库表结构。明显,这么做是不合理

数据库原理及应用 练习题及参考答案

数据库原理与应用练习题及参考答案 一、选择题 1.一下关于关系的说法正确的是( A ) A.一个关系就是一张二维表 B.在关系所对应的二维表中,行对应属性,列对应元组。 C.关系中各属性不允许有相同的域。 D.关系的各属性名必须与对应的域同名。 2.关系数据表的关键字可由( D )属性组成。 A.一个 B.两个 C.多个 D.一个或多个 3.进行自然连接运算的两个关系( A ) A.至少存在一个相同的属性名 B.可不存在任何相同的属性名 C.不可存在个相同的属性名 D.所有属性名必须完全相同 4.概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的( B )。 A.数据模型 B.概念模型 C.层次模型 D.关系模型 5.Access 2010 数据库具有很多特点,下列叙述中,正确的是( B )。 A. Access 2010数据表可以保存多种数据类型,但是不包括多媒体数 B. Access 2010可以通过编写应用程序来操作数据库中的数据 C. Access 不能支持 Internet/Intranet 应用 D. Access 2010 使用切换面板窗体管理数据库对象 6.数据表的基本对象是( A ) A.表 B.查询 C.报表 D.窗体 7.利用Access 2010 创建数据库文件,其扩展名是( B ) A.mdb B.accdb C.xlsx D. acc 8.启动Access 2010 后,最先显示的是什么界面( C ) A.数据库工作界面 B.“打开”窗口 C. Backstage D导航窗格 9.在 Access 数据库对象中,不包括的是( B ) A.表 B.向导 C.窗体 D.模块 10.表的组成内容包括( C ) A.查询和字段 B.报表和字段 C.字段和记录 D.记录和窗体 11.在 Access 2010 数据库的表设计视图中,不能进行的操作是( A ) A.修改字段类型 B.设置索引 C.增加字段 D.删除记录

数据库规范化练习答案

规范化习题 1、涉及到学生、教师和课程关系模式STC(SNO,SN,SA,TN,CN,G),其中6个属性分别为学生 的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设教师无重名,且每个教师只教一门课程,但一门课程可有几个教师同时开设。某个学生选定某门课后,其上课教师就固定了。要求: (1)写出键码和函数依赖 (2)分解关系模式使之属于BC范式 候选码:(SNO,CN)和(SNO,TN) SNO->SN, SNO->SA , TN->CN, (SNO,CN)->TN, (SNO,CN)->G, (SNO,TN)->G STC(SNO, TN,G) S(SNO,SN,SA) T(TN,CN) 2、有关系模式:Student(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个 学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任。指出此关系模式的候选码。判断此关系模式是第几范式,若不是三范式,将其规范为三范式。 函数依赖有:学号→姓名学号→所在系,学号→班号,班号→班主任,所在系→系主任 候选码:学号是2NF不是3NF Student(学号,姓名,所在系,班号) Student1(班号,班主任) Student2(所在系,系主任) 3、假设某商业集团数据库中有关系模式如下: R(商店编号,商品编号,商品库存数量,部门编号,负责人) 如果规定: 每个商店的每中商品只在该商店的一个部门中销售。 每个商店的每个部门只有一位负责人。 每个商店的每种商品只有一个库存数量。 试回答下列问题: (1)根据上述规定,写出关系模式R的基本函数依赖。 (2)找出关系模式R的候选码。 (3)试问关系模式R最高已经达到第几范式,为什么? (4)如果关系模式不属于3NF,试将R分解成3NF。 函数依赖:(商店编号,商品编号)→部门编号,(商店编号,部门编号)→负责人 (商店编号,商品编号)→商品库存数量 候选码:(商店编号,商品编号) 不是3NF: R1(商店编号,商品编号,商品库存数量,部门编号) R2(商店编号,部门编号,负责人) 4、假设我们有关系模式:管理(仓库号,设备号,职工号),它所包含的语义是:一个仓 库可以有多个职工;一名职工仅在一个仓库工作;在每个仓库一种设备仅由一名职工保管,但每名职工可以保管多种设备。请根据语义写出函数依赖,求出候选码。判断此关系模式是否属于3NF,是否属于BC范式。 5、假设你有一个名为TRANSACTION的关系模式如下,用來记载读者买书的交易:

数据库原理及应用(第2版)习题参考答案..

第1章数据概述 一.选择题 1.下列关于数据库管理系统的说法,错误的是C A.数据库管理系统与操作系统有关,操作系统的类型决定了能够运行的数据库管理系统的类型 B.数据库管理系统对数据库文件的访问必须经过操作系统实现才能实现 C.数据库应用程序可以不经过数据库管理系统而直接读取数据库文件 D.数据库管理系统对用户隐藏了数据库文件的存放位置和文件名 2.下列关于用文件管理数据的说法,错误的是D A.用文件管理数据,难以提供应用程序对数据的独立性 B.当存储数据的文件名发生变化时,必须修改访问数据文件的应用程序 C.用文件存储数据的方式难以实现数据访问的安全控制 D.将相关的数据存储在一个文件中,有利于用户对数据进行分类,因此也可以加快用户操作数据的效率 3.下列说法中,不属于数据库管理系统特征的是C A.提供了应用程序和数据的独立性 B.所有的数据作为一个整体考虑,因此是相互关联的数据的集合 C.用户访问数据时,需要知道存储数据的文件的物理信息 D.能够保证数据库数据的可靠性,即使在存储数据的硬盘出现故障时,也能防止数据丢失 5.在数据库系统中,数据库管理系统和操作系统之间的关系是D A.相互调用 B.数据库管理系统调用操作系统 C.操作系统调用数据库管理系统 D.并发运行 6.数据库系统的物理独立性是指D A.不会因为数据的变化而影响应用程序 B.不会因为数据存储结构的变化而影响应用程序 C.不会因为数据存储策略的变化而影响数据的存储结构 D.不会因为数据逻辑结构的变化而影响应用程序 7.数据库管理系统是数据库系统的核心,它负责有效地组织、存储和管理数据,它位于用户和操作系统之间,属于A A.系统软件B.工具软件 C.应用软件D.数据软件 8.数据库系统是由若干部分组成的。下列不属于数据库系统组成部分的是B A.数据库B.操作系统 C.应用程序D.数据库管理系统 9.下列关于客户/服务器结构和文件服务器结构的描述,错误的是D A.客户/服务器结构将数据库存储在服务器端,文件服务器结构将数据存储在客户端 B.客户/服务器结构返回给客户端的是处理后的结果数据,文件服务器结构返回给客户端的是包含客户所需数据的文件 C.客户/服务器结构比文件服务器结构的网络开销小 D.客户/服务器结构可以提供数据共享功能,而用文件服务器结构存储的数据不能共享

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

第5章关系数据库规范化理论 1. 理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传 递依赖、超键、候选键、主键、外键、全键、1NF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF。 2. 设关系模式R有n个属性,在模式R上可能成立的函数依赖有多少个?其中 平凡的函数依赖有多少个?非平凡函数依赖有多少个? 3. 设有关系模式R(ABCD),F是R上成立的函数依赖之集,F={AB→CD,A→D}。 (1) 说明R不是2NF模式的理由。 (2) 将R分解成2NF模式集。 4. 设有关系模式R(ABC),F是R上成立的函数依赖之集,F={C→B,B→A}。 (1) 说明R不是3NF模式的理由。 (2) 将R分解成3NF模式集。 5. 设有关系模式: R(职工名,项目名,工资,部门名,部门经理)。 如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一名经理。 (1) 写出关系模式R的函数依赖集合与关键码。 (2) 说明R不是2NF模式的理由,并把R分解成2NF模式集。 (3) 进而把R分解为3NF模式集,并说明理由。 6.现在要建立关于系、学生、班级、学会诸信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。 描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份; 描述系的属性有:系名、系号、系办地点、人数;

描述学会的属性有:学会名、成立年份、地点、人数、学生参加某回有一个入会年份。 1)请写出关系模式。 2)写出每个关系模式的最小函数依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分函数依赖。 3)指出各个关系模式的侯选关键字、外部关键字,以及有没有全关键字. 7.设关系模式R(A,B,C,D,E,F),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}. 1)求出R的侯选码。 2)求出F的最小函数依赖集。 3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。 8.设关系模式R〈A,B,C,D,E,F〉,函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D}。 1)证明AB、AC、AD均是候选关键字。 2)证明主属性C部分依赖于关键字AB,传递依赖于AD。同时证明主属性D 部分依赖于关键字AC,传递依赖于关键字AB。 9.设关系模式R〈A,B,C,D,E,F〉,函数依赖集F={AB→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。 10.判断下面的关系模式是不是BCNF,为什么? 1)任何一个二元关系。 2)关系模式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号)→成绩}。 3)关系模式R(A,B,C,D,E,F),函数依赖集F={A→B,C→F,E→A,CE→A},将R分解为p={ABE,CDEF}。判断p是否是无损连接。 11.设关系模式R{B,O,I,S,Q,D},函数依赖集F={S→D,I→S,IS→Q,B →Q}。 1)找出R的主码。 2)把R分解为BCNF,且具有无损连接性。

数据库原理与应用考试试题及答案

1.消除了非主属性对码的部分函数依赖的1NF的关系模式,必定是()。 A.1NF B.2NF C.3NF D.BCNF 2 .下列关于数据库恢复说法不正确的是() A.事物故障恢复采用日志文件 B.系统故障恢复采用日志文件 C.介质故障恢复采用日志文件 D.以上故障恢复均不采用日志文件 3.下面()不是常用的数据模型? A.关系模型 B.线性模型 C.层次模型 D.网状模型 4 .在数据库设计中,将E-R图转换成关系数据模型的过程属于()A.需求分析阶段B.概念设计阶段 C.逻辑设计阶段 D.物理设计阶段 5 .DBMS中实现事务持久性的子系统是() A.安全性管理子系统 B.完整性管理子系统 C.并发控制子系统 D.恢复管理子系统 6.数据库与文件系统的根本区别在于() A.提高了系统效率 B.方便了用户使用 C.数据的结构化 D.节省了存储空间 7.SQL语言是()的语言,容易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 8.为了防止一个用户的工作不适当地影响另一个用户,应该采取()。 A.完整性控制 B.访问控制

C.安全性控制 D.并发控制 9.DBMS普遍采用()方法来保证调度的正确性。 A.索引 B.授权 C.封锁 D.日志 10.事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放,这是()。 A.一级封锁协议 B.二级封锁协议 C.三级封锁协议 D.零级封锁协议 11.下面的选项不是关系数据库基本特征的是()。 A.不同的列应有不同的数据类型 B.不同的列应有不同的列名 C.与行的次序无关 D.与列的次序无关 12.关系模型中实现实体间N:M联系是通过增加一个()。 A.关系实现 B.属性实现 C.关系或一个属性实现 D.关系和一个属性实现 13.关系代数运算是以()为基础的运算。 A.关系运算 B.谓词演算 C.集合运算 D.代数运算 14.数据库设计可划分为七个阶段,每个阶段都有自己的设计内容,“为哪些关系,在哪些属性上、键什么样的索引”这一设计内容应该属于()设计阶段。 A.概念设计 B.逻辑设计 C.物理设计 D.全局设计 15.SQL语言中的COMMIT语句的主要作用是()。 A.结束程序 B.返回系统 C.提交事务 D.存储数据 16.一个事务的执行,要么全部完成,要么全部不做,一个事务中对数据库的所有操作都是一个不可分割的操作序列的属性是()。 A.原子性 B.一致性 C.独立性 D.持久性 17.关系的主属性不能取空值,属于()

关系数据库规范化理论

第四章关系数据库规范化理论 一个关系数据库模式由一组关系模式组成,一个关系模式由一组属性名组成。关系数据库设计,就是如何把已给定的相互关联的一组属性名分组,并把每一组属性名组成关系的问题。然而,属性的分组不是唯一的,不同的分组对应着不同的数据库应用系统,它们的效率往往相差很远。 为了使数据库设计合理可靠,简单实用,长期以来,形成了关系数据库设计的理论——规范化理论。 4.1 关系规范化的作用 规范化,就是用形式更为简洁,结构更加规范的关系模式取代原有关系模式的过程。 如果将两个或两个以上实体的数据存放在一个表里,就会出现下列三个问题:?数据冗余度大 ?插入异常 ?删除异常 所谓数据冗余,就是相同数据在数据库中多次重复存放的现象。数据冗余不仅会浪费存储空间,而且可能造成数据的不一致性。 插入异常是指,当在不规范的数据表中插入数据时,由于实体完整性约束要求主码不能为空的限制,而使有用数据无法插入的情况。 删除异常是指,当不规范的数据表中某条需要删除的元组中包含有一部分有用数据时,就会出现删除困难。 (以P98工资表为例) 解决上述三个问题的方法,就是将不规范的关系分解成为多个关系,使得每个关系中只包含一个实体的数据。 (讲例子解) 当然,改进后的关系模式也存在另一问题,当查询职工工资时需要将两个关系连接后方能查询,而关系连接的代价也是很大的。 那么,什么样的关系需要分解?分解关系模式的理论依据又是什么?分解完后能否完全消除上述三个问题?回答这些问题需要理论指导。下面,将加以讨论: 4.2 函数依赖 4.2.1属性间关系 实体间的联系有两类:一类是实体与实体之间联系;另一类是实体内部各属性间的联系。

数据库原理试题及答案

全国2001年10月自学考试数据库原理试题及答案2 作者:ryan 点击:时间:2003-10-11 上午 23:05:00 来源: 第一部分选择题 (共30分) 一、单项选择题 (本大题共15小题,每小题2分,共30分) 在每小题列出的四个选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选或未选均无分。 1. 单个用户使用的数据视图的描述称为【】 A. 外模式 B. 概念模式 C. 内模式 D. 存储模式 2. 子模式DDL用来描述【】 A. 数据库的总体逻辑结构 B. 数据库的局部逻辑结构 C. 数据库的物理存储结构 D. 数据库的概念结构 3. 在DBS中,DBMS和OS之间的关系是【】 A. 相互调用 B. DBMS调用OS C. OS调用DBMS D. 并发运行 4. 五种基本关系代数运算是【】 A. ∪,-,×,π和σ B. ∪,-,∞,π和σ C. ∪,∩,×,π和σ D. ∪,∩,∞,π和σ 5. 当关系R和S自然联接时,能够把R和S原该舍弃的元组放到结果关系中的操作是【】 A. 左外联接 B. 右外联接 C. 外部并 D. 外联接 6. 下列聚合函数中不忽略空值 (null) 的是【】 A. SUM (列名) B. MAX (列名) C. COUNT ( * )

D. AVG (列名) 7. 设关系模式R (A,B,C),F是R上成立的FD集,F = {B→C},则分解ρ = {AB,BC}相对于F 【】 A. 是无损联接,也是保持FD的分解 B. 是无损联接,但不保持FD的分解 C. 不是无损联接,但保持FD的分解 D. 既不是无损联接,也不保持FD 的分解 8. 关系模式R分解成ρ = {R1,…,Rk},F是R上的一个FD集,那么R中满足F的每一个关系r,与其投影联接表达式mρ(r) 间的关系满足【】 A. rí mρ(r) B. mρ(r) í r C. r = mρ(r) D. r≠mρ(r) 9. 在数据库设计中,将ER图转换成关系数据模型的过程属于【】 A. 需求分析阶段 B. 逻辑设计阶段 C. 概念设计阶段 D. 物理设计阶段 10. SQL中,下列涉及空值的操作,不正确的是【】 A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) 11. 如果事务T获得了数据项Q上的排它锁,则T对Q 【】 A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写 12. DBMS中实现事务持久性的子系统是【】 A. 安全性管理子系统 B. 完整性管理子系统 C. 并发控制子系统 D. 恢复管理子系统 13. SQL的全局约束是指基于元组的检查子句和【】 A. 非空值约束 B. 域约束子句 C. 断言

数据库原理复习题

数据库原理复习题 一、单项选择题 1、()的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作 A、关系模型 B、层次模型 C、网状模型 D、以上都是 2、SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。 A、完整性 B、可靠性 C、安全性 D、一致性 3、一个关系只有一个() A、候选码 B、主码 C、超码 D、外码 4、关系模式中,满足2NF的模式()。 A、可能是1NF B、必定是BCNF C、必定是3NF D、必定是1NF 5、如果事务T获得了数据项Q上的排它锁,则T对Q ()。 A、只能读不能写 B、只能写不能读 C、既可读又可写 D、不能读不能写 6、在ER模型中,如果有3个不同的实体型,3个M:N联系,根据ER模型转换为关系模型的规则,转换为关系的数目是()。 A、4 B、5 C、6 D、7 7、“年龄在15至30岁之间”这种约束属于DBMS的( )功能。 A、恢复 B、并发控制 C、完整性 D、安全性 8、解决事务并发操作带来的数据不一致性问题普遍采用()技术。 A、封锁 B、恢复 C、存储 D、协商 9、关系数据库中的关系必须满足:其中的每一属性都是( )。 A、互不相关 B、不可再分 C、长度可变 D、互相关联 10、在两个实体类型间有一个M:N联系时,这个结构转换成的关系有( )个。 A、1 B、2 C、3 D、4 11、描述数据库全体数据的全局逻辑结构和特性的是()。 A、存储模式 B、外模式 C、内模式 D、模式 12、若R为n元关系,S为m元关系,则R×S为()元关系。 A、m B、 n C、 m+n D、 m×n

数据库原理-期末考试试题及答案

数据库原理-期末考试试题及答案 (本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,错选、 多选或未选均无分。 1. 要保证数据库的数据独立性,需要修改的是() A.三层模式之间的两种映射B.模式与内模式 C.模式与外模式D.三层模式 2. 下列四项中说法不正确的是() A.数据库减少了数据冗余B.数据库中的数据可以共享 C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性 3. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员, 从职员到部门的联系类型是() A.多对多B.一对一 C.多对一D.一对多 4.将E-R模型转换成关系模型,属于数据库的() A.需求分析B.概念设计 C.逻辑设计D.物理设计 5.五种基本关系代数运算是() A.∪,—,×,π和σB .∪,—,,π和σ C.∪,∩,×,π和σD .∪,∩,,π和σ 6.下列聚合函数中不忽略空值 (NULL) 的是()。 A.SUM (列名) B.MAX (列名) C.COUNT ( * ) D.AVG (列名) 7. SQL中,下列涉及空值的操作,不正确的是()。 A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D. NOT (AGE IS NULL) 8. 已知成绩关系如表1所示。 执行SQL语句: SELECT COUNT(DISTINCT学号) FROM成绩 WHERE分数>60 查询结果中包含的元组数目是() 表1 成绩关系

A. 1 B. 2 C. 3 D. 4 9. 在视图上不能完成的操作是( ) A. 更新视图 B. 查询 C. 在视图上定义新的基本表 D. 在视图上定义新视 图 10. 关系数据模型的三个组成部分中,不包括( ) A. 完整性约束 B. 数据结构 C. 恢复 D. 数据操作 11. 假定学生关系是S (S #,SNAME ,SEX ,AGE ),课程关系是C (C #,CNAME ,TEACHER ), 学生选课关系是SC (S #,C #,GRADE )。 要查找选修“COMPUTER ”课程的“女”学生姓名,将涉及到关系( ) A .S B .S C ,C C .S ,SC D .S ,SC ,C 12. 关系规范化中的删除操作异常是指( ) A .不该删除的数据被删除 B .不该插入的数据被插入 C .应该删除的数据未被删除 D .应该插入的数据未被插入 13. 从E-R 模型关系向关系模型转换时,一个m:n 联系转换为关系模式时,该关系模式的码 是( ) A .M 端实体的码 B .N 端实体的码 C .M 端实体码与N 端实体码组合 D .重新选取其他属性 14.已知关系R={A ,B ,C ,D ,E ,F},F={A →C ,BC →DE ,D →E ,CF →B}。则(AB)F + 的闭包 是( ) A .ABCDEF B .ABCDE C .ABC D .AB 15.设有关系R (A ,B ,C )和S (C ,D )。与SQL 语句select A,B,D from R,S where R.C=S.C 等价的关系代数表达式是( ) A .σR.C=S.C (πA,B,D (R×S)) B .πA,B,D (σR,C= S.C (R×S)) C .σR.C=S.C ((πA,B (R))×(π D (S))) D .σR,C=S.C (πD ((πA,B (R))×S)) 二、多项选择题 (本大题共5小题,每小题2分,共10分) 在每小题列出的四个备选项中有多个是符合题目要 求的,多选、少选、错选、不选均无分。

相关主题
文本预览
相关文档 最新文档