个人收集整理勿做商业用途1/8数据库系统概论第六章1、关系规范化中的删除操作异常是指①______,插入操作异常是指②______A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答:删除操作异常是指执行删除操作时将不应该删除的数据删除的情形;插入异常是指执行插入操作时应该插入的数据无法插入的情形。本题答案为:①A②D。2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是__A____A.关系规范化理论B.关系运算理论C系代数理论D.数理逻辑答:关系规范化理论是关系数据库中进行关系模式设计的理论依据。本题答案为A。3根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理B.部门成员C.部门名D.部门号答:部门关系中的“部门成员”不是唯一的,不满足1NF。本题答案为B。3消除了部分函数依赖的1NF的关系模式必定是_______A.1NFB.2NFC.3NFD.4NF答:由2NF的定义可知本题答案为B。4、若关系R的候选码都是由单属性构成的,则R的最高范式必定是______A.1NFB.2NFC.3NFD.无法确定答:候选码由单属性构成,一定不会存在非主属性对候选码的部分函数依赖。本题答案为B。5在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到_______A.1NFB.2NFC.3NFD.以上三者都不行答:该关系模式的候选码是B,因为B→C,CB,C→D,所以存在非主属性D对候选码的传递函数依赖,R不是3NF。又因为不存在非主属性对候选码的部分函数依赖,所以R是2NF。本题答案为B。6设有关系W(工号,姓名,工种,定额),将其规范化到第三范式正确的答案是______A.W1(工号,姓名)W2(工种,定额)B.W1(工号,工种,定额)W2(工号,姓名)C.W1(工号,姓名,工种)W2(工种,定额)D.以上都不对答:该关系的函数依赖集为{工号→姓名,工号→工种,工种→定额},侯选码为“工号”经分析可知:“定额”经“工种”传递函数依赖于“工号”,这个传递依赖应消除。选项A中的两个关系没有公众属性,不正确;选项B中未消除传递依赖。本题答案为C。7有关系模式学生(学号,课程号,名次),若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是__B____A.(学号,课程号)和(课程号,名次)都可以作为候选码B.只有(学号,课程号)能作为候选码C.关系模式属于第三范式D.关系模式属于BCNF答:(学号,课程号)→(名次),(课程号,名次)→(学号),所以(学号,课程号)和(课程号,名次)都可以作为候选码,选项A正确;该关系所有的属性都是主属性,所以属于第三范式,选项C正确;同时该关系上的两个函数依赖的左部都包含了该关系的候选码,所以也属于BCNF,选项D正确。个人收集整理勿做商业用途2/88关系模式STJ(S#,T,J#)中,存在函数依赖:(S#,J#)→T,(S#,T)→J#,T→J#,则_______A.关系STJ满足1NF,但不满足2NFB.关系STJ满足2NF,但不满足3NFC.关系STJ满足3NF,但不满足BCNFD.关系STJ满足BCNF,但不满足4NF答:该关系模式的候选码是(S#,J#)和(S#,T),所有的属性都是主属性,所有该关系模式至少是3NF,又因为T→J#的左部未包含该关系的任一候选码,所以它不是BCNF。本题答案为C。9能够消除多值依赖引起的冗余的是_______A.2NFB.3NFC.4NFD.BCNF答:关系模式达到4NF时,可删除由多值依赖引起的冗余。本题答案为C。10当B属于函数依赖于A属性时,属性B与A的联系是____。A.1对多B.多对1C.多对多D.以上都不是11在关系模式中,如果属性A和B存在1对1的联系,则说___。A.A→BB.B→AC.A→BD.以上都不是12关系模式R中的属性全部是主属性,则R的最高范式必定是____。A.2NFB.3NFC.BCNFD.以上都不是举例:学生成绩登记表学号姓名性别专业年级课程成绩课号课名学时学分教师工资号成绩S1S2张三李四男女CSCS9899C1C2C3C4C5C1DBDSOSMAPHDB6060801209060334653赵钱孙李周赵M1M9M4M7M2M1907085907586解答•关系模式R(U,F)•函数依赖关系F为:–学号→(姓名,性别,专业,年级)–课号→(课名,学分,学时,工资号)–(学号,课号)→成绩–师号→教师•属性集U为:–(学号,姓名,性别,专业,年级,课程成绩)1NF•消去可划分的属性:课程成绩–学生(学号,姓名,性别,专业,年级,课号,课名,学分,学时,教师,工资号,成绩)–关键字(学号,课号)–1NF•消去部分函数依赖–存在的部分依赖:•(学号,课号)p→(姓名,性别,专业,年级)•(学号,课号)p→(课名,学分,学时,工资号,教师)个人收集整理勿做商业用途3/8–消去部分依赖•(学号)→(姓名,性别,专业,年级)•(课号)→(课名,学分,学时,工资号,教师)•(学号,课号)→成绩–投影成三个子关系模式•学生(学号,姓名,性别,专业,年级)•课程(课号,课名,学分,学时,工资号,教师)•成绩(学号,课号,成绩)–2NF•消去传递函数依赖–存在的传递依赖•课号→工资号•工资号→教师•课号t→教师–消去传递依赖•(课号)→(课名,学分,学时,工资号)•(工资号→教师)–投影成两个子关系模式•课程(课号,课名,学分,学时,工资号)•教师(工资号,教师)–3NF•最后投影结果–学生(学号,姓名,性别,专业,年级)–课程(课号,课名,学分,学时,师号)–教师(师号,教师)–成绩(学号,课号,成绩)----------------------------------------------------------------------------------------------------------------------•1、下表给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则改造成为尽可能好的并能作为关数据库中关系的形式,同时说明进行这种改造的理由。解:因为关系模式至少是1NF关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为1NF的关系如下所示。个人收集整理勿做商业用途4/8----------------------------------------------------------------------------------------------------------------------2、设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:–学号和课程号分别与其代表的学生和课程一一对应。–一个学生所修的每门课程都有一个成绩。–每门课程只有一位任课教师,但每位教师可以有多门课程。–教师中没有重名,每个教师只属于一个系。•试根据上述语义确定函数依赖集。•如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。•分解为具有依赖保持和无损连接的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)∵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。个人收集整理勿做商业用途5/8•它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少码的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。•将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个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/8----------------------------------------------------------------------------------------------------------------------•6、下面给出的关系SC为第几范式?是否存在插入删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题?•其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。•解:SC为1NF。•它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少码的一部分,SNO不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不该删除的课程信息删除掉。•SC关系中存在插入和删除操作异常的原因在于,该关系的候选码为(SNO,CNO),其中仅有