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

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

规范化理论习题

1.解释下列名词:

函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选关键字、主关键字、全关键字、INF、2NF、3NF、BCNF、多值依赖、4NF、连接依赖、5NF、最小函数依赖集、

无损分解

函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集,r是R 的任一具体关系,如果对r的任意两个元组tl,t2,由tl[X]=t2[X]导致tl[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)中的属性或属性集合。若K-^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,yl,zl)和(x,y2,z2)时,就也存在元纟Il(x,yl,z2)和(x,y2,zl),那么称多值依赖(MultiValued Dependency MVD) X->->Y在关系模式R中成立。

4NF:第卩4范式。设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属

于5NFo

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

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

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

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

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

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

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

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

(1)请写出关系模式。

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

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

解:各关系模式如下:

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

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

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

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

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

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

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

Fmin={学号—姓名,学号—班级号,学号一>出生年月,学号一>系名,系名一>宿舍区}•以上关系模式中存在传递函数依赖,如:学号—系名,系名—宿舍区

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

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

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

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

Fmin=«系名,专业名班级号,班级号一>人数,班级号->入校年份,班级号—系名,班级号一> 专业名}

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

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

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

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

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

相关文档
最新文档