资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,6关系数据理论习题,1,、下表给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则改造成为尽可能好的并能作为关数据库中关系的形式,同时说明进行这种改造的理由。,解:因为关系模式至少是,1NF,关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为,1NF,的关系如下所示。,2,、设有一教学管理数据库,其属性为:学号(,S#,),课程号(,C#,),成绩(,G,),任课教师(,TN,),教师所在的系(,D,)。这些数据有下列语义:,学号和课程号分别与其代表的学生和课程一一对应。,一个学生所修的每门课程都有一个成绩。,每门课程只有一位任课教师,但每位教师可以有多门课程。,教师中没有重名,每个教师只属于一个系。,试根据上述语义确定函数依赖集。,如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。,分解为具有依赖保持和无损连接的,3NF,。,3,、下表给出的关系,R,为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?,解:它为,1NF,。因为该关系的候选码为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选码的子集“工程号”,即:,它不是,2NF,。,它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少码的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。,将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个,2NF,关系模式:,分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系,R2,中插入。某工程数据删除时,仅对关系,R2,操作,也不会丢失材料方面的信息。,4,、设有如下所示的关系,R,。,(1),它为第几范式?为什么?,(2),是否存在删除操作异常?若存在,则说明是在什么情况下发生?,(3),将它分解为高一级范式,分解后的关系如何解决分解前可能存在的删除操作的异常问题。,解:(,1,)它是,2NF,。,R,的候选码为课程名,而“课程名教师名”,“教师名课程名”不成立,“教师名教师地址”,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此,R,不是,3NF,。,又不存在非主属性对候选码的部分函数依赖,,R,是,2NF,。,(2),存在。当删除某门课程时会删除不该删除的教师的有关信息,(,例如教师地址,),。,(3),分解为高一级范式如下所示。,分解后,若删除课程数据时,仅对关系,R1,操作,教师地址信息在关系,R2,中仍然保留,不会丢失教师方面的信息。,5,、设有如下所示的关系,R,。,试问,R,是否属于,3NF,?为什么?若不是,它属于第几范式?并如何规范化为,3NF,?,解:,R,不属于,3NF,,它是,2NF,。,R,的候选码为职工号和职工名,而:职工号单位号,单位号职工号不成立,单位号单位名。,,即存在非主属性单位名对候选码职工号的传递函数依赖。规范化后的关系子模式为如下所示的关系,R1,与,R2,。,6,、下面给出的关系,SC,为第几范式?是否存在插入删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?,其中:,SNO,为学号,,CNO,为课程号,,CTITLE,为课程名,,INAME,为教师名,,ILOCA,为教师地址,,GRADE,为成绩。,解:,SC,为,1NF,。,它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少码的一部分,,SNO,不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不该删除的课程信息删除掉。,SC,关系中存在插入和删除操作异常的原因在于,该关系的候选码为(,SNO,,,CNO,),其中仅有非主属性,GRADE,完全函数依赖于(,SNC,,,CNO,),其他非主属性,CTITLE,,,INAME,,,ILOCA,都只函数依赖于,CNO,,即它们与(,SNO,,,CNO,)为部分函数依赖关系。分解后的关系模式如下所示。,分解后的两个关系模式都为,2NF,,并解决了先前的插入、删除异常。当增设一门新课程时,可将数据插入到,CI,表中;当所有学生退选某门课程时,只需删除,SG,表中的有关记录,而该课程的有关信息仍保留在,CI,表中。,分解,2NF,后的,CI,关系仍存在插入、删除操作异常。若有一个新教师报到,需将其有关数据插入到,CI,中去,但该教师暂时还未承担任何教学工作,则因缺少码,CNO,值而不能进行插入操作;当取消某门课程而删除,CI,表中的一条记录,会将不该删除的教师的有关信息删除。,CI,表中出现操作异常的原因是该关系中存在非主属性对候选码的传递函数依赖:,将,CI,进一步分解为如下所示的,Course,和,Instructor,两个关系,可以解决上述操作异常。,7,、建立关于系学生班级社团等信息的一个关系数据库,一个系有若干个专业,每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一宿舍区,每个学生可以参加若干个社团,每个社团有若干个学生。,描述学生的属性有:学号、姓名、出生年月、系名、班级号、宿舍区。,描述班级的属性有:班级号、专业号、系名、人数、入学年份。,描述系的属性有:系名、系号、办公室地点、人数。,描述社团的属性有:社团名、成立年份、地点、人数、学生参加某社团的年份。,请给出关系模式,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。,指出各关系的候选码、外码,有没有全码存在?,(5),学生参加社团关系,学生,社团(学号,社团名,入团年份),候选码:(学号,社团名),外码:学号,社团名,最小依赖集,Fm=,(学号,社团名)入团年份,,,(学号,社团名)入团年份是完全函数依赖。,以上各关系无全码存在。,(4),社团关系,社团(社团名,成立年份,地点,人数),候选码:社团名,无外码,最小依赖集,Fm=,社团名成立年份,社团名地点,社团名人数,(3),系关系,系(系号,系名,办公室地点,人数),候选码:“系号”或“系名”,无外码,最小依赖集,Fm=,系号系名,系号办公室地点,系号人数,系名系号,8,、指出下列关系模式是第几范式?并说明理由。,R,(,X,,,Y,,,Z,),F=XYZ,R,(,X,,,Y,,,Z,),F=XYZ,,,XZY,R,(,X,,,Y,,,Z,),F=YZ,,,YX,,,XYZ,,,X Z,R,(,X,,,Y,,,Z,),F=XY,,,XZ,R,(,W,,,X,,,Y,,,Z,),F=XZ,,,WXY,解:,R,是,BCNF,。,R,候选码为,XY,,,F,中只有一个函数依赖,而该函数依赖的左部包含了,R,的候选码,XY,。,R,是,3NF,。,R,候选码为,XY,和,XZ,,,R,中所有属性都是主属性,不存在非主属性对候选码的传递依赖。,R,是,BCNF,。,R,候选码为,X,和,Y,,,XYZ,,,XY,,,XZ,,由于,F,中有,YZ,,,YX,,因此,Z,是直接函数依赖于,X,,而不是传递函数依赖于,X,。又,F,的每一函数依赖的左部都包含了任一候选码,,R,是,BCNF,。,R,是,BCNF,。,R,的候选码为,X,,而且,F,中每一个函数依赖的左部都包含了候选码,X,。,R,是,1NF,。,R,的候选码为,WX,,则,Y,,,Z,为非主属性,又由于,XZ,,因此,F,中存在非主属性对候选码的部分函数依赖。,9.,设有关系模式,R,(职工名,项目名,工资,部门名,部门经理)如果规定,每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。(,1,)试写出关系模式,R,的基本,FD,和关键码。(,2,)说明,R,不是,2NF,的理由,并把,R,分解成,2NF,模式集。(,3,)进而把,R,分解成,3NF,模式集,并说明理由。,10,设关系模式,R,(仓库编号,商品编号,库存量,商品名,规格)存储某商业集团的有关信息。如果规定:(,1,)集团中有若干仓库,每个仓库中可放若干种商品;(,2,)每一个商品编号表示一种商品:一种商品(由于生产厂家不同)可以有多个商品编号,但其规格只有一个。(,3,)每个仓库每存有一个编号的商品,有一个库存量。试回答下列问题:(,1,)据上述规定,写出模式,R,的基本,FD,;(,2,)说明,R,不是,2NF,的理由,并把,R,分解成,2NF,模式集;(,3,)进而再分解成,3NF,模式集。,11,设某汽车运输公司数据库中有一个关系模式:,R,(汽车牌照,司机编号,行驶公里,班组编号,班组长)如果规定:(,1,)每个汽车牌照对应一辆汽车。,行驶公里,为某司机驾驶某辆汽车行驶的总公里数。(,2,)每个司机属于一个班组;每个班组有一个班组长。试回答下列问题:(,1,)根据上述规定,写出模式,R,的基本,FD,;(,2,)说明,R,不是,2NF,的理由,并把,R,分解成,2NF,模式集;(,3,)进而再分解成,3NF,模式集。,
展开阅读全文