数据库规范化理论习题

数据库规范化理论习题
数据库规范化理论习题

规范化理论习题

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 (U ,F )中的属性或属性集合。若

F U ,则K 称为R 的一个候选码(Candidate Key ),也称作为候选关键字或码。

主关键字:若关系模式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 。

最小函数依赖集:如果函数集合F满足以下三个条件:(1)F中每个函数依赖的右部都是单属性;(2)F中的任一函数依赖X→A,其F-{X→A}与F是不等价的;(3)F中的任一函数依赖X→A,Z为X的子集,(F-{X→A})∪{Z→A}与F不等价。则称F为最小函数依赖集合,记为Fmin。

无损分解:设R是一个关系模式,F是R上的一个依赖集,R分解为关系模式的集合ρ={R1(U1),R2(U2), …,Rn(Un)}。如果对于R中满足F的每一个关系r,都有

r=∏R1(r) ??∏R2(r) ??…??∏Rn(r)

则称分解相对于F是无损连接分解(lossingless join decomposition),简称为无损分解,否则就称为有损分解(lossy decomposition)。

2. 现要建立关于系、学生、班级、学会等信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。

描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区;

描述班级的属性有:班号、专业名、系名、人数、入校年份;

描述系的属性有:系名、系号、系办公室地点、人数;

描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。

⑴请写出关系模式。

⑵写出每个关系模式的最小函数依赖集,指出是否存在传递依赖,在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分依赖。

⑶指出各个关系模式的候选关键字、外部关键字,有没有全关键字。

解:各关系模式如下:

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

班级(班级号,专业名,系名,人数,入校年份)

系(系名,系号,系办公地点,人数)

社团(社团名,成立年份,地点,人数)

加入社团(社团名,学号,学生参加社团的年份)

学生(学号,姓名,出生年月,系名,班级号,宿舍区)

●“学生”关系的最小函数依赖集为:

Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区}

●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区

●候选键是学号,外部键是班级号,系名。

注意: 在关系模式中,如果Y→X,X→A,且X Y(X不决定Y),A不属于X,那么称Y→A是传递依赖。

班级(班级号,专业名,系名,人数,入校年份)

●“班级”关系的最小函数依赖集为:

Fmin={(系名,专业名)→班级号,班级号→人数,班级号→入校年份,班级号→系名,班级号→专业名}

(假设没有相同的系,不同系中专业名可以相同)

●以上关系模式中不存在传递函数依赖。

●“(系名,专业名)→班级号”是完全函数依赖。

●候选键是(系名,专业名),班级号,外部键是系名。

系(系名,系号,系办公地点,人数)

●“系”关系的最小函数依赖集为:Fmin={系号→系名,系名→系办公地点,系名→人数,

系名→系号}

●以上关系模式中不存在传递函数依赖

●候选键是系名,系号

社团(社团名,成立年份,地点,人数)

●“社团”关系的最小函数依赖集为:Fmin={社团名→成立年份,社团名→地点,社团名→人数}

●以上关系模式中不存在传递函数依赖。

●候选键是社团名

加入社团(社团名,学号,学生参加社团的年份)

●“加入社团”关系的最小函数依赖集为:Fmin={(社团名,学号)→学生参加社团的年份}

●“(社团名,学号)→学生参加社团的年份”是完全函数依赖。

●以上关系模式中不存在传递函数依赖。

●候选键是(社团名,学号)。

3. 设关系模式R(A,B,C,D),函数依赖集F={A→C,C→A,B→AC,D→AC,BD→A}。

1)求出R的候选码;

2)求出F的最小函数依赖集;

3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

解:(1)根据函数依赖可得:

属性B、D、BD为L类(仅出现在F的函数依赖左部)。且在函数依赖的左部和右部均未出现的属性为0。

根据定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X 必为R 的任一候选码的成员。

因此属性B、D必为候选码的成员。且它们的闭包为:

B F+=ABC,D F+=ACD,BD F+=ABCD

再根据推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X +包含了R的全部属性,则X必为R的唯一候选码。

F

故BD是R的唯一候选码。所以R的候选码为BD。

(2)将F中所有函数依赖的依赖因素写成单属性集形式:

F={A→C,C→A,B→A,B→C,D→A,D→C,BD→A}

F中的B→C可以从B→A和A→C推导出来,B→C是冗余的,删掉B→C可得:

F={A→C,C→A,B→A,D→A,D→C,BD→A}

F中的D→C可以从D→A 和A→C推导出来,D→C是冗余的,删掉D→C可得:F={A→C,C→A,B→A,D→A,BD→A}

F中的BD→A可以从B→A 和D→A推导出来,是冗余的,删掉BD→A可得:

F={A→C,C→A,B→A,D→A }

所以F的最小函数依赖集Fmin={A→C,C→A,B→A,D→A }。

(3) 由于R中的所有属性均在Fmin中都出现,对F按具有相同左部的原则分为:R1=AC,

R2=BA,R3=DA。其中,U1={A,C},U2={B,A},U3={D,A},F1= F1=∏U1={A →C},F2=∏U2={B→A},F3=∏U3={D→A}。所以ρ={R1(AC),R2(BA),R3(DA) }。

4.设关系模式R(A,B,C,D,E,F),函数依赖集F={A B→E,BC→D,BE→C,CD→B,CE→AF,CF→BD,C→A,D→EF},求F的最小函数依赖集。

解:①利用分解规则,将所有的函数依赖变成右边都是单个属性的函数依赖,得F为:

F ={A B→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

②去掉F中多余的函数依赖

A.设AB→E为冗余的函数依赖,则从F中去掉AB→E,得:

F1={ BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

计算(AB)F1+:

设X(0)=AB

计算X(1):扫描F1中各个函数依赖,找到左部为AB或AB子集的函数依赖,因为找不到这样的函数依赖。故有X(1)=X(0)=AB,算法终止。

(AB)F1+= AB不包含E,故AB→E不是冗余的函数依赖,不能从F中去掉。即:

F1={ A B→E,BC→D,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F} B.设BC→D为冗余的函数依赖,则从F1中去掉BC→D,得:

F2={A B→E,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

计算(BC)F2+:

设X(0)=BC

计算X(1):扫描F2中的各个函数依赖,找到左部为BC或BC子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=BCA=ABC。

计算X(2):扫描F2中的各个函数依赖,找到左部为ABC或ABC子集的函数依赖,得到一个A B→E函数依赖。故有X(2)=X(1)∪E=ABCE。

计算X(3):扫描F2中的各个函数依赖,找到左部为ABCE或ABCE子集的函数依赖,得到三个BE→C,CE→A和CE→F 函数依赖。故有X(3)=X(2)∪CAF=ABCEF。

计算X(4):扫描F2中的各个函数依赖,找到左部为ABCEF或ABCEF子集的函数依赖,得到二个CF→B和CF→D 函数依赖。故有X(3)=X(2)∪BD=ABCDEF。因为X(3)=U,算法终止。

(BC)F2+=ABCDEF包含D,故BC→D是冗余的函数依赖,从F1中去掉。即:

F2={A B→E,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

C.设BE→C为冗余的函数依赖,从F2中去掉BE→C,得:

F3={A B→E,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

计算(BE)F3+:

设X(0)=BE

计算X(1):扫描F3中的各个函数依赖,找到左部为BE或BE子集的函数依赖,因为找不到这样的函数依赖。故有X(1)=X(0)=BE,算法终止。

(BE)F3+= BE不包含C,故BE→C不是冗余的函数依赖,不能从F2中去掉。即:

F3={A B→E,BE→C,CD→B,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

D.设CD→B为冗余的函数依赖,从F3中去掉CD→B,得:

F4={A B→E,BE→C,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

计算(CD)F4+:

设X(0)=CD

计算X(1):扫描F4中的各个函数依赖,找到左部为CD或CD子集的函数依赖,得到三个C→A,D→E和D→F函数依赖。。故有X(1)=X(0) ∪AEF =ACDEF。

计算X(2):扫描F4中的各个函数依赖,找到左部为ACDEF或ACDEF子集的函数依赖,得到四个CE→A,CE→F,CF→B,CF→D 函数依赖。故有X(2)=X(1)∪ABDF=ABCDEF。因为X(2)=U,算法终止。

(CD)F4+=ABCDEF包含B,故CD→B是冗余的函数依赖,从F3中去掉。即:

F4={A B→E,BE→C,CE→A,CE→F,CF→B,CF→D,C→A,D→E,D→F}

E.设CE→A为冗余的函数依赖,从F4中去掉CE→A,得:

F5={A B→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

计算(CE)F5+:

设X(0)=CE

计算X(1):扫描F5中的各个函数依赖,找到左部为CE或CE子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=ACE。

计算X(2):扫描F5中的各个函数依赖,找到左部为ACE或ACE子集的函数依赖,得到一个CE→F函数依赖。故有X(2)=X(1)∪F=ACEF。

计算X(3):扫描F5中的各个函数依赖,找到左部为ACEF或ACEF子集的函数依赖,得到二个CF→B和CF→D 函数依赖。故有X(3)=X(2)∪BD=ABCDEF。因为X(3)=U,算法终止。

(CE)F5+=ABCDEF包含A,故CE→A是冗余的函数依赖,从F4中去掉。即:

F5={A B→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

F.设CE→F为冗余的函数依赖,从F5中去掉CE→F,得:

F6={A B→E,BE→C,CF→B,CF→D,C→A,D→E,D→F}

计算(CE)F6+:

设X(0)=CE

计算X(1):扫描F6中的各个函数依赖,找到左部为CE或CE子集的函数依赖,得到一个C→A函数依赖。故有X(1)=X(0)∪A=ACE。

计算X(2):扫描F6中的各个函数依赖,找到左部为ACE或ACE子集的函数依赖,因为找不到这样的函数依赖。故有X(2)=X(1)=ACE,算法终止。

(CE)F6+=ACE不包含F,故CE→F不是冗余的函数依赖,不能从F5中去掉。即:

F6={A B→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

G.设CF→B为冗余的函数依赖,从F6中去掉CF→B,得:

F7={A B→E,BE→C,CE→F,CF→D,C→A,D→E,D→F}

计算(CF)F7+:

设X(0)=CF

计算X(1):扫描F7中的各个函数依赖,找到左部为CF或CF子集的函数依赖,得到二个CF→D和C→A函数依赖。故有X(1)=X(0)∪AD=ACDF。

计算X(2):扫描F7中的各个函数依赖,找到左部为ACDF或ACDF子集的函数依赖,得到二个D→E和D→F函数依赖。故有X(2)=X(1)∪EF=ACDEF。

计算X(3):扫描F7中的各个函数依赖,找到左部为ACDEF或ACDEF子集的函数依赖,得到一个CE→F函数依赖。故有X(3)=X(2)∪F=ACDEF= X(2),算法终止。

(CF)F7+=ACDEF不包含B,故CF→B不是冗余的函数依赖,不能从F6中去掉。即:

F7={A B→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

H.设CF→D为冗余的函数依赖,从F7中去掉CF→D,得:

F8={A B→E,BE→C,CE→F,CF→B,C→A,D→E,D→F}

计算(CF)F8+:

设X(0)=CF

计算X(1):扫描F8中的各个函数依赖,找到左部为CF或CF子集的函数依赖,得到二个CF→B和C→A函数依赖。故有X(1)=X(0)∪AB=ABCF。

计算X(2):扫描F8中的各个函数依赖,找到左部为ABCF或ABCF子集的函数依赖,

得到一个A B→E函数依赖。故有X(2)=X(1)∪E=ABCEF。

计算X(3):扫描F8中的各个函数依赖,找到左部为ABCEF或ABCEF子集的函数依赖,得到二个BE→C和CE→F函数依赖。故有X(3)=X(2)∪CF= ABCEF = X(2),算法终止。

(CF)F7+= ABCEF不包含D,故CF→D不是冗余的函数依赖,不能从F7中去掉。即:F8={A B→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

③去掉F8中各函数依赖左边多余的属性(只检查左部不是单个属性的函数依赖)

由于F8中各函数依赖左边无多余的属性,故:

Fmin={AB→E,BE→C,CE→F,CF→B,CF→D,C→A,D→E,D→F}

5. 判断下面的关系模式是不是BCNF,为什么?

⑴任何一个二元关系。

⑵关系模式选课(学号,课程号,成绩),函数依赖集F={(学号,课程号) →成绩}。

⑶关系模式R(A,B,C,D,E,F),函数依赖集F={A→BC,BC→A,BCD→EF,E →C}。

解:(1) 是BCNF。二元关系中或为全关键字,或为一个单属性候选关键字。

(2) 是BCNF。关系模式中只有一个候选关键字。

(3) 不是BCNF。因为模式中存在候选关键字为AD、BCD和BE,显然C对AD 是部分依赖。

∵U1∩U2=E U1-U2=AB

U1∩U2→U1-U2={E→AB}={E→A,E→B}

U1∩U2→U1-U2∈F+

∴该分解具备无损连接。

6. 设关系模式R(B,O,I,S,Q,D),函数依赖集F={S→D,I→S,IS→Q,B→Q}。

⑴求出R的主码。

⑵把R分解为BCNF,且具有无损连接性。

解:(1) R的主关键字为IBO。

(2) Fmin={S→D,I→S,I→Q,B→Q}

令ρ=BOISQD

①由于R的关键字为IBO,选择S→D分解

得出:ρ={S1,S2}

其中:S1=SD,F1={S→D}

S2=BOISQ,F2={I→S,I→Q,B→Q}。

显然,S2不服从BCNF,需继续分解。

②对S2分解。S2的关键字为IBO,选择I→S分解。

得出:ρ={S1,S3,S4}。

其中:S3=IS,F3={I→S}

S4=BOIQ,F4={I→Q,B→Q}。

显然,S4不服从BCNF,还需继续分解。

③对S4分解。S4的关键字为IBO,选择I→Q分解。

得出:ρ={S1,S3,S5,S6}

其中S5=IQ,F5={I→Q}

S6=BIO F6=Φ

④最后的分解为:ρ={SD,IS,IQ,BIO}

7. 设有关系模式R(A,B,C),函数依赖集F={AB→C,C→→A},R属于第几范式?为什么?

解:BCNF。由于A多值依赖于动而C不是码.故不服从4N F。但在函数依赖式中C 依赖于码AB.故该模式服从BCNF。

8. 设有关系模式R(A,B,C,D),函数依赖集F={A→B,B→A,AC→D,BC→D,AD →C,BD→C,A→→CD,B→→CD}。

⑴求R的主码。

⑵R是否为4NF?为什么?

⑶R是否为BCNF?为什么?

⑷R是否为3NF,为什么?

解:l)候选码为AC,BC.AD,BD、可选其中之一为主码。

2)不服从4NF。在多值依赖中泱定因素中不包含码。

3)不服从BCNF。在函数依赖中决定因素中不包含码。

4)服从3NF。该模式中不存在非主属性。

9. 设关系模式R(U,F)的属性集U={A,B,C},函数依赖集F={A→B,B→C},试求属性闭包A+。

解:设X(0)=A;

计算X(1):扫描F中的各个函数依赖,找到左部为A的函数依赖,得到一个:A→B。

故有X(1)=A∪B,即X(1)=AB。

计算X(2):扫描F中的各个函数依赖,找到左部为AB或A、B的函数依赖,得到一个:B→C。故有X(2)= AB∪C,即X(2)=ABC=U。算法终止。

故A+=ABC。

第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. 关系模型:用二维表来表示实体集,用外键来表示实体间的联系,这样的数据模型,叫做关系数据模型。 关系模型包含内涵和外延两个方面: 外延:就是关系或实例、或当前值。它与时间有关,随时间的变化而变化。(主要是由于元组的插入、删除、修改等操作引起的) 内涵:内涵是与时间独立的,它包括关系属性、以及域的一些定义和说明。还有数据的各种完整性约束。 数据的完整性约束分为静态约束和动态约束。 静态约束包括数据之间的联系(称为数据依赖),主键的设计和各种限制。 动态约束主要定义如插入、删除和修改等操作的影响。 通常我们称内涵为关系模式。 2. 关系模式:是对一个关系的描述,二维表的表头那一行称为关系模式,又称为表的框架或记录类型。 关系模式的定义包括:模式名、属性名、值域名和模式的主键。关系模式仅仅是对数据特征的描述。 关系模式的一般形式为R ( U , D , DOM , F ) R 是关系名。 U 是全部属性的集合。 D 是属性域的集合。 DOM 是U 和D 之间的映射关系,关系运算的安全限制。 F 是属性间的各种约束关系,也称为数据依赖。

关系模式可以表示为: 关系模式(属性名1,属性名2 ,……,属性名n ) 示例:学生(学号,姓名,年龄,性别,籍贯)。 当且仅当U 上的一个关系r 满足 F 时,r 就称为关系模式R(U,F)上的一个关系,R是关系的型,r 是关系的值,每个值称为R 的一个关系。 关系数据库模式: 一个数据库是由多个关系构成的。 一个关系数据库对应多个不同的关系模式,关系数据库模式是一个数据库中所有的关系模式的集合。它规定了数据库的全局逻辑结构。 关系数据库模式可以表示为: S = { Ri < Ui , Di , DOM , Fi > | i = 1,2,…, n } 3. 关系子模式 关系子模式是用户所用到的那部分数据的描述。 外模式是关系子模式的集合。 4. 存储模式 存储模式及内模式。 关系数据库理论的主要内容: (1)数据依赖。数据依赖起着核心的作用。 (2)范式。 (3)模式的设计方法。 如何设计一个合理的数据库模式: (1)与实际问题相结合。 泛关系模式:把现实问题的所有属性组成一个关系模式 泛关系:泛关系模式的实例称为泛关系。 泛关系模式中存在的问题: a 数据冗余 b 更新异常, c 插入异常 d 删除异常。

数据库原理习题(含答案)

第一章绪论 Ⅰ、学习要点 1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念; 2、数据独立性的概念、分类及实现途径; 3、数据模型的概念、分类、要素及作用; 4、数据库三级模式体系结构的含义及作用; 5、关系数据模型的三要素内容。 Ⅱ、习题 一、选择题: 1、使用二维表格结构表达数据和数据间联系的数据模型是() A、层次模型 B、网状模型 C、关系模型 D、实体—联系模型 2、DB、DBS、DBMS间的关系是() A、DB包括DBMS和DBS B、DBMS包括DB和DBS C、DBS包括DB和DBMS D、DBS与DB和DBMS无关 3、在数据库中存储的是() A、数据 B、数据模型 C、数据及数据之间的联系 D、信息 4、数据库系统中,用()描述全部数据的整体逻辑结构。 A、外模式 B、模式 C、内模式 D、数据模式 5、数据库中,导致数据不一致的根本原因是() A、数据量太大 B、数据安全性不高 C、数据冗余 D、数据完整性约束不强 6、划分层次型、网状型和关系型数据库的原则是() A、记录的长度 B、文件的大小 C、联系的复杂程度 D、数据及联系的表示方式 7、数据库三级模式体系结构的划分,主要有利于保持数据库的() A、数据安全性 B、数据独立性 C、结构规范化 D、操作可行性 8、数据库系统中,用()描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。 A、外模式 B、模式 C、内模式 D、数据模式 9、数据库系统中,用()描述全部数据的物理存储视图。 A、外模式 B、模式 C、内模式 D、数据模式 10、数据库系统中用于定义和描述数据库逻辑结构的语言是() A、DML B、DDL C、DCL D、SQL 11、数据库系统支持的数据共享指的是()

数据库原理练习题

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. 解释下列名词: 函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、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.第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.层次模型

数据库范式习题答案

Normalization Questions and Answers Database Systems,CSCI4380-01 Sibel Adal? October28,2002 Question1Suppose you are given a relation R=(A,B,C,D,E)with the following functional dependencies:{CE→D,D→B,C→A}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The only key is{C,E} b.The relation is in1NF c.Decompose into R1=(A,C)and R2=(B,C,D,E).R1is in BCNF,R2is in2NF.Decompose R2 into,R21=(C,D,E)and R22=(B,D).Both relations are in BCNF. Question2Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:{BC→ADE,D→B}. a.Find all candidate keys. b.Identify the best normal form that R satis?es(1NF,2NF,3NF,or BCNF). c.If the relation is not in BCNF,decompose it until it becomes BCNF.At each step,identify a new relation,decompose and re-compute the keys and the normal forms they satisfy. Answer. a.The keys are{B,C}and{C,D} b.The relation is in3NF c.It cannot be put into BCNF,even if I remove D and put into a relation of the form(B,C,D)(I need C for the functional dependency),the resulting relation would not be in BCNF. Question3Suppose you are given a relation R=(A,B,C,D,E)with the following functional de-pendencies:BD→E,A→C. a.Show that the decomposition into R1=(A,B,C)and R2=(D,E)is lossy.You can show using any method.My suggestion is to show how spurious tuples result from this decomposition with respect to the table below: A B C D E 12345 18344 1

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

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

第4章+关系数据库设计理论答案

第4章关系数据库设计理论 选择题答案: (1) A (2) B (3) B (4) A (5) D (6) B (7) C (8) B (9) B (10) C (11) D (12) A (13) D (14) D (15) B (16) B (17) D (20) C (21) C (23) A (26) B (27) B (28) B (29) B (30) B (31) D (33) B B D 一、选择题: 1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。 A. 关系规范化理论 B. 关系代数理论C.数理逻辑 D. 关系运算理论 2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是()。 A. 长度不变的 B. 不可分解的 C.互相关联的 D. 互不相关的 3. 已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C ,E→A },该关系模式的候选关键字是()。 A.AB B. BE C.CD D. DE 4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO, 则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。 A. 1NF B.2NF C. 3NF D. BCNF 5. 设有关系模式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) 6. 关系模式中,满足2NF的模式()。 A. 可能是1NF B. 必定是1NF C. 必定是3NF D. 必定是BCNF 7. 关系模式R中的属性全是主属性,则R的最高范式必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 8. 消除了部分函数依赖的1NF的关系模式,必定是()。 A. 1NF B. 2NF C. 3NF D. BCNF 9. 如果A->B ,那么属性A和属性B的联系是()。 A. 一对多 B. 多对一C.多对多 D. 以上都不是 10. 关系模式的候选关键字可以有1个或多个,而主关键字有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 11. 候选关键字的属性可以有()。 A. 多个 B. 0个 C. 1个 D. 1个或多个 12. 关系模式的任何属性()。 A. 不可再分 B. 可以再分 C. 命名在关系模式上可以不唯一 D. 以上都不是 13. 设有关系模式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分解为三个关系

数据库原理例题及解答

一、实验目的: 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 FROM Student

第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、试说明数据、数据库、数据库管理系统和数据库系统的概念以及它们之间的关系。 答:(1)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库(Database,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。(3)数据库系统(Database System,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 (4)数据库管理系统(Database Management System,简称DBMS ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据库的建立和维护功能、数据定义功能、数据组织存储和管理功能、数据操作功能、事务的管理和运行功能。 它们之间的联系:数据库系统包括数据库、数据库管理系统、应用系统、数据库管理员,所以数据库系统是个大的概念。数据库是长期存储在计算机内的有组织、可共享的大量的数据集合,数据库管理系统是由管理员操作管理数据库的查询、更新、删除等操作的,数据库应用系统是用来操作数据库的。 2、数据管理技术的发展主要经历了哪几个阶段? 答:两个阶段,文件管理和数据库管理。

3、比较用文件管理和用数据库管理数据的主要区别。 答:数据库系统与文件系统相比实际上是在应用程序和存储数据的数据库之间增加了一个系统软件,即数据库管理系统,使得以前在应用程序中由开发人员实现的很多繁琐的操作和功能,都可以由这个系统软件完成,这样应用程序不再需要关心数据的存储方式,而且数据的存储方式的变化也不再影响应用程序。而在文件系统中,应用程序和数据的存储是紧密相关的,数据的存储方式的任何变化都会影响到应用程序,因此不利于应用程序的维护。 4、数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么? 答:数据库系统由三个主要部分组成,即数据库、数据库管理系统和应用程序。数据库是数据的汇集,它以一定的组织形式存于存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序指以数据库数据为核心的应用程序。 第二章 1、解释数据模型的概念,为什么要将数据模型分成两个层次? 答:数据模型是对现实世界数据特征的抽象。数据模型一般要满足三个条件:第一是数据模型要能够比较真实地模拟现实世界;第二是数据模型要容易被

数据库范式练习题

1、请简述满足1NF、2NF和3NF的基本条件。并完成下题:某信息一览表 如下,其是否满足3NF,若不满足请将其化为符合3NF的关系。(本小题 第一范式的关系应满足的基本条件是元组中的每一个分量都必须是不可 分割的数据项。 第二范式,指的是这种关系不仅满足第一范式,而且所有非主属性完全 依赖于其主码。 第三范式,指的是这种关系不仅满足第二范式,而且它的任何一个非主属性都不传递依赖于任何主关键字。 考生情况(考生编号,姓名,性别,考生学校) 考场情况(考场号,考场地点) 考场分配(考生编号,考场号) 成绩(考生编号,考试成绩,学分) 2、某信息一览表如下,其是否满足3NF,若不满足请将其化为符合3NF的 配件关系:(配件编号,配件名称,型号规格) 供应商关系(供应商名称,供应商地址) 配件库存关系(配件编号,供应商名称,单价,库存量) 3、简述满足1NF、2NF和3NF的基本条件。并完成下题:已知教学关系, 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩),试问该关系的主键是什么,属于第几范式,为什么?如果它不属于3NF,请把它规范到3NF。 4、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF 。例1.仓库(仓库号,面积,电话号码,零件号,零件名称,规格,库存数量)例1答案: 仓库号+零件号;1NF; 仓库(仓库号,面积,电话号码) 零件(零件号,零件名称,规格) 保存(仓库号,零件号,库存数量)

例2. 报名(学员编号,学员姓名,培训编号,培训名称,培训费,报名日期),每项培训有多个学员报名,每位学员可参加多项培训。 例2答案: 学员编号+培训编号;1NF; 学员(学员编号,学员姓名) 培训(培训编号,培训名称,培训费) 报名(学员编号,培训编号,报名日期) 5、请确定下列关系的关键字、范式等级;若不属于3NF,则将其化为3NF,要求每个关系写一条记录。 (部门编号,部门名称,所在城市,员工编号,员工姓名,项目编号,项目名称,预算,职务,加入项目的日期) [注]职务指某员工在某项目中的职务。 部门(部门编号,部门名称,所在城市) 员工(员工编号,员工姓名,部门编号) 项目(项目编号,项目名称,预算) 工作(员工编号,项目编号,职务,加入项目的日期)

数据库原理练习题

一、选择题 1. 在数据管理技术的发展过程中,数据独立性最高的是()阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2. 数据库系统与文件系统的主要区别是()。 A、数据库系统复杂,而文件系统简单 B、文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解诀 C、文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D、文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 3. 在数据管理技术的发展过程中,经历了()阶段、文件系统阶段和数据库系统阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 4. 下列()不属于关系数据库产品。 A、Visual FoxPro B、SQL Server C、Oracle D、Frontpage 5. 数据库的英文是()。 A、Data B、DBMS C、SQL D、DB 6. 数据库管理系统的英文是()。 A、Data B、DBMS C、SQL D、DB 7. OODB是()的英文缩写。 A、数据仓库 B、数据结构 C、面向对象数据库 D、数据挖掘 8. DW是()的英文缩写。 A、数据仓库 B、数据结构 C、面向对象数据库 D、数据挖掘 9. OLAP是()的英文缩写。 A、数据仓库 B、联机分析处理 C、面向对象数据库 D、数据挖掘 10. Data Mining是()的英文缩写。 A、数据仓库 B、联机分析处理 C、面向对象数据库 D、数据挖掘 11. 文件倒排系统阶段是属于()阶段。 A、数据库系统 B、文件管理 C、人工管理 D、数据项管理 12. 英文缩写DBA代表()。 A、数据库管理员 B. 数据操纵语言 C. 数据库管理系统 D. 数据定义语言 13. 数据挖掘在人工智能领域习惯上又称为数据库中知识发现,简称为()。 A、DW B. DM C. KDD D. 都不正确 14. 下列哪种数据管理技术真正消除了程序与数据间的相互依赖关系()。 A. 自由管理 B. 文件管理 C. 数据库系统管理 D. 以上说法都不对 15. 数据库系统包括()。 A. DB、DBMS B. DB、DBA C. DB、DBMS、DBA、计算机硬件 D. DB、DBMS、DBA、OS、计算机硬件 16. 数据独立性是指()。 A. 数据独立于计算机 B. 数据独立于操作系统 C. 数据独立于数据管理系统 D. 数据独立于应用程序 17. 文件系统阶段是()。

数据库规范试习题与解答

数据库系统概论 第六章 1、关系规范化中的删除操作异常是指① ______ ,插入操作异常是指② ______ – A.不该删除的数据被删除 – B.不该插入的数据被插入 – C.应该删除的数据未被删除 – D. 应该插入的数据未被插入 答:删除操作异常是指执行删除操作时将不应该删除的数据删除的情形;插入异常是指执行插入操作时应该插入的数据无法插入的情形。本题答案为:①A ②D。 ---------------------------------------------------------------------------------------------------------------------- 2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是______ – A.关系规范化理论 – B.关系运算理论 –C系代数理论 – D.数理逻辑 答:关系规范化理论是关系数据库中进行关系模式设计的理论依据。本题答案为A。 2、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪 个属性而使它不满足第一范式? 部门(部门号,部门名,部门成员,部门总经理) – A.部门总经理 – B.部门成员 – C.部门名 – D.部门号 答:部门关系中的“部门成员”不是唯一的,不满足1NF。本题答案为B。 --------------------------------------------------------------------------------------------------------------------- 3、消除了部分函数依赖的1NF的关系模式必定是_______ A. 1NF B. 2NF C. 3NF D. 4NF 答:由2NF的定义可知本题答案为B。 ----------------------------------------------------------------------------------------------------------------- 4、若关系R的候选码都是由单属性构成的,则R的最高范式必定是______ – A. 1NF – B. 2NF – C. 3NF – D. 无法确定 答:候选码由单属性构成,一定不会存在非主属性对候选码的部分函数依赖。本题答案为B。 --------------------------------------------------------------------------------------------------------------------- 5、在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到_______ A. 1NF B. 2NF C. 3NF

关系数据库规范化理论

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

数据库原理复习题

1.关系R1,R2,R3各有10个元组,那么这三个关系的自然联结结果的 元组个数为() A.10 B.30 C.1000 D.不确定(与计算结果有关) 2.对数据库中数据的操作分为两大类:( ) A.插入和修改B.查询和修改 C.检索和修改D.查询和更新 3.根据加密密钥的使用和部署,数据库加密技术分为对称加密(DES) 和非对称加密(RSA),下列叙述正确的是:() A.在DES和RSA中所有密钥都必须保密 .在DES和RSA中所有密钥都不必保密 .在DES中加密和解密使用相同加密密钥,密钥必须保密 .RSA中使用两个加密密钥,公钥和私钥都要保密 4.约束“年龄限制在18—30岁之间”属于DBMS的哪种功能() A.安全性 B.完整性 C.并发控制 D.恢复 5.DB,DBMS和BDS三者之间的关系是() A.DB包括DBMS和DBS B.DBS包括DB和DBMS C.DBMS包括DBS和DB D.DBS与DB和DBMS无关 6.根据加密密钥的使用和部署,数据库加密技术分为对称加密(DES)和 非对称加密(RSA),下列叙述正确的是:() A.在DES和RSA中所有密钥都必须保密 B.在DES和RSA中所有密钥都不必保密 C.在DES中加密和解密使用相同加密密钥,密钥必须保密 D.RSA中使用两个加密密钥,公钥和私钥都要保密 7.下列四项中说法不正确的是() A.数据库减少了数据冗余 B.数据库中的数据可以共享 C.数据库避免了一切数据的重复 D.数据库具有较高的数据独立性8. 数据的独立性是指()。 A.数据之间相互独立 B.应用程序与DB的结构之间相互独立 C.数据的逻辑结构与物理结构相互独立 D.数据与磁盘之间相互独立 9.层次模型只能表示()联系 A.1:M B.M:N C.M:1 D.1:1 10对数据库中数据的操作分为两大类:( ) A.插入和修改B.查询和修改

相关文档
最新文档