欢迎来到天天文库
浏览记录
ID:40616656
大小:251.01 KB
页数:20页
时间:2019-08-05
《关系数据理论习题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、关系数据理论实例分析1、下表给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则改造成为尽可能好的并能作为关数据库中关系的形式,同时说明进行这种改造的理由。解:因为关系模式至少是1NF关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为1NF的关系如下所示。2、设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:学号和课程号分别与其代表的学生和课程一一对应。一个学生所修的每门课程都有一个成绩。每门课程只有一位任课教师,但每位教师可以有多
2、门课程。教师中没有重名,每个教师只属于一个系。试根据上述语义确定函数依赖集。如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。分解为具有依赖保持和无损连接的3NF。解:(1)F={(S#,C#)→G,C#→TN,TN→D}(2)关系模式为1NF,因为该关系模式的候选码为(S#,C#),则非主属性有G,TN和D。又∵F中有C#→TN,∴存在非主属性TN对候选码(S#,C#)的部分依赖,即:若新增设一门课程而暂时还没有学生选修时,则因缺少码S#值而不能进行插入操作。若某个教师调离学校要删除有关信息时,会将不该删除的课程(C#
3、)信息删除。(3)∵Fm={(S#,C#)→G,C#→TN,TN→D}∴ρ={R1,R2,R3}其中:R1=(S#,C#,G)R2=(C#,TN)R3=(TN,D)3、下表给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常?解:它为1NF。因为该关系的候选码为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选码的子集“工程号”,即:∴它不是2NF。它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少码的一部分(材料号)而不能进入到数据库中,出现
4、插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个2NF关系模式:分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系R2中插入。某工程数据删除时,仅对关系R2操作,也不会丢失材料方面的信息。4、设有如下所示的关系R。(1)它为第几范式?为什么?(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生?(3)将它分解为高一级范式,分解后的关系如何解决分解前可能存在的删除操作的异常问题。解:(1)它是2NF。∵R的候选码为课程名,而“课程名→教师名”,“教师名→课程名”不成立,“教师
5、名→教师地址”,∴,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。又∵不存在非主属性对候选码的部分函数依赖,∴R是2NF。(2)存在。当删除某门课程时会删除不该删除的教师的有关信息。(3)分解为高一级范式如下所示。分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。5、设有如下所示的关系R。试问R是否属于3NF?为什么?若不是,它属于第几范式?并如何规范化为3NF?解:R不属于3NF,它是2NF。∵R的候选码为职工号和职工名,而:职工号→单位号,单位号→职工号不成立,单位号→单位名。∴,即存在非主
6、属性单位名对候选码职工号的传递函数依赖。规范化后的关系子模式为如下所示的关系R1与R2。6、下面给出的关系SC为第几范式?是否存在插入删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。解:SC为1NF。它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少码的一部分,SNO不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不该删除的课程信息删除掉。SC关系中存
7、在插入和删除操作异常的原因在于,该关系的候选码为(SNO,CNO),其中仅有非主属性GRADE完全函数依赖于(SNC,CNO),其他非主属性CTITLE,INAME,ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关系模式如下所示。分解后的两个关系模式都为2NF,并解决了先前的插入、删除异常。当增设一门新课程时,可将数据插入到CI表中;当所有学生退选某门课程时,只需删除SG表中的有关记录,而该课程的有关信息仍保留在CI表中。分解2NF后的CI关系仍存在插入、删除操作异常。若有一个新教师报到,需将其有关
此文档下载收益归作者所有