文档详情

【2017年整理】数据库规范化理论习题.doc

发布:2017-07-12约7.3千字共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,如果存在XW(X包含于W)有X→A成立, 那么称W→A是局部依赖,否则称W→A为完全依赖。 完全函数依赖:见上。传递函数依赖:在关系模式中,如果Y→X,X→A,且XY(X不决定Y), AX(A不属于X),那么称Y→A是传递依赖。 :::)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是第四范式的模式。::最小依赖集:如果函数集合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。decomposition),简称为无损分解,否则就称为有损分解(lossy decomposition)。 2. 现要建立关于系、学生、班级、学会等信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。 描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区; 描述班级的属性有:班号、专业名、系名、人数、入校年份; 描述系的属性有:系名、系号、系办公室地点、人数; 描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 ⑴ 请写出关系模式。 ⑵ 写出每个关系模式的最小函数依赖集,指出是否存在传递依赖,在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分依赖。 ⑶ 指出各个关系模式的候选关键字、外部关键字,有没有全关键字。 解:各关系模式如下:  学生(学号,姓名,出生年月,系名,班级号,宿舍区)   班级(班级号,专业名,系名,人数,入校年份)   系(系名,系号,系办公地点,人数)   社团(社团名,成立年份,地点,人数 ????? 加入社团(社团名,学号,学生参加社团的年份) 学生(学号,姓名,出生年月,系名,班级号,宿舍区) ●“学生”关系的最小函数依赖集为: Fmin={学号→姓名,学号→班级号,学号→出生年月,学号→系名,系名→宿舍区} ●以上关系模式中存在传递函数依赖,如:学号→系名,系名→宿舍区 ●候选键是学号,外部键是班级号,系名。 : 在关系模式中,如果Y→X,X→A,且XY(X不决定Y), A不属于X,那么称Y→A是传递依赖。 班级(班级号,专业名,系名,人数,入校年份) ●“班级”关系的最小函数依赖集为: Fmin={(系名,专业名)→班级号,班级号
显示全部
相似文档