1、A. 1NF B. 2NF C. 3NF D. 4NF 由2NF的定义可知本题答案为B。4、若关系R的候选码都是由单属性构成的,则R的最高范式必定是_A. 1NF B. 2NF C. 3NF D. 无法确定候选码由单属性构成,一定不会存在非主属性对候选码的部分函数依赖。5在关系模式R(A,B,C,D)中,有函数依赖集F=BC,CD,DA,则R能达到_A. 1NF B. 2NF C. 3NF D. 以上三者都不行该关系模式的候选码是B,因为BC,C B,CD,所以存在非主属性D对候选码的传递函数依赖,R不是3NF。又因为不存在非主属性对候选码的部分函数依赖,所以R是2NF。6设有关系W(工号,姓
2、名,工种,定额),将其规范化到第三范式正确的答案是_A. W1(工号,姓名) W2(工种,定额)B. W1(工号,工种,定额) W2(工号,姓名)C. W1(工号,姓名,工种) W2(工种,定额) D. 以上都不对该关系的函数依赖集为工号姓名,工号工种,工种定额,侯选码为“工号”经分析可知:“定额”经“工种”传递函数依赖于“工号”,这个传递依赖应消除。选项A中的两个关系没有公众属性,不正确;选项B中未消除传递依赖。本题答案为C。7有关系模式学生(学号,课程号,名次),若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是_B_A.(学号,课程号)和(课程号,名次)
3、都可以作为候选码B.只有(学号,课程号)能作为候选码C.关系模式属于第三范式 D.关系模式属于BCNF(学号,课程号)(名次),(课程号,名次)(学号),所以(学号,课程号)和(课程号,名次)都可以作为候选码,选项A正确;该关系所有的属性都是主属性,所以属于第三范式,选项C正确;同时该关系上的两个函数依赖的左部都包含了该关系的候选码,所以也属于BCNF,选项D正确。8关系模式STJ(S#,T,J#)中,存在函数依赖:(S#,J#)T,(S#,T)J#,TJ#,则_A.关系STJ满足1NF,但不满足2NF B.关系STJ满足2NF,但不满足3NFC.关系STJ满足3NF,但不满足BCNF D.关
4、系STJ满足BCNF,但不满足4NF该关系模式的候选码是(S#,J#)和 (S#,T),所有的属性都是主属性,所有该关系模式至少是3NF,又因为TJ#的左部未包含该关系的任一候选码,所以它不是BCNF。 9能够消除多值依赖引起的冗余的是_A. 2NF B. 3NF C. 4NF D. BCNF关系模式达到4NF时,可删除由多值依赖引起的冗余。10当B属于函数依赖于A属性时,属性B与A 的联系是_。 A. 1对多 B. 多对1 C. 多对多 D. 以上都不是 11在关系模式中,如果属性A和B存在1对1的联系,则说_。A. AB B. BA C. A B D. 以上都不是 12关系模式R中的属性全
5、部是主属性,则R的最高范式必定是_。A. 2NF B. 3NF C. BCNF D. 以上都不是 举例:学生成绩登记表学号姓名性别专业年级课程成绩课号课名学时学分教师工资号成绩S1S2张三李四男女CS9899C1C2C3C4C5DBDSOSMAPH6080120903465赵钱孙李周M1M9M4M7M270857586解答 关系模式R(U,F) 函数依赖关系F为: 学号(姓名,性别,专业,年级) 课号(课名,学分,学时,工资号) (学号,课号)成绩 师号教师 属性集U为: (学号,姓名,性别,专业,年级,课程成绩)1NF 消去可划分的属性: 学生(学号,姓名,性别,专业,年级,课号,课名,学分
6、,学时,教师,工资号,成绩) 关键字(学号,课号) 1NF 消去部分函数依赖 存在的部分依赖: (学号,课号) p (姓名,性别,专业,年级) (学号,课号) p (课名,学分,学时,工资号,教师) 消去部分依赖 (学号)(姓名,性别,专业,年级) (课号)(课名,学分,学时,工资号,教师) (学号,课号)成绩 投影成三个子关系模式 学生(学号,姓名,性别,专业,年级) 课程(课号,课名,学分,学时,工资号,教师) 成绩(学号,课号,成绩) 2NF 消去传递函数依赖 存在的传递依赖 课号工资号 工资号教师 课号 t 教师 消去传递依赖 (课号)(课名,学分,学时,工资号) (工资号教师) 投影
7、成两个子关系模式 课程(课号,课名,学分,学时,工资号) 教师(工资号,教师) 3NF 最后投影结果 学生(学号,姓名,性别,专业,年级) 课程(课号,课名,学分,学时,师号) 教师(师号,教师) 成绩(学号,课号,成绩)- 1、下表给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则改造成为尽可能好的并能作为关数据库中关系的形式,同时说明进行这种改造的理由。解:因为关系模式至少是1NF关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为1NF的关系如下所示。 2、设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),
8、任课教师(TN),教师所在的系(D)。这些数据有下列语义: 学号和课程号分别与其代表的学生和课程一一对应。 一个学生所修的每门课程都有一个成绩。 每门课程只有一位任课教师,但每位教师可以有多门课程。 教师中没有重名,每个教师只属于一个系。 试根据上述语义确定函数依赖集。 如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。 分解为具有依赖保持和无损连接的3NF。 解: (1)F=(S#,C#)G,C#TN,TND (2)关系模式为1NF,因为该关系模式的候选码为(S#,C#),则非主属性有G,TN和D。 又F中有C#TN,存在非主属性TN对候选码
9、(S#,C#)的部分依赖,即: 若新增设一门课程而暂时还没有学生选修时,则因缺少码S#值而不能进行插入操作。若某个教师调离学校要删除有关信息时,会将不该删除的课程(C#)信息删除。 (3)Fm=(S#,C#)G,C#TN,TND =R1,R2,R3 其中: R1=(S#,C#,G) R2=(C#,TN) R3=(TN,D)- 3、下表给出的关系R为第几范式?是否存在操作异常?若存在,则将其分解为高一级范式。分解完成的高级范式中是否可以避免分解前关系中存在的操作异常? 它为1NF。因为该关系的候选码为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选码的子集“工程号”,即
10、: 它不是2NF。 它存在操作异常,如果工程项目确定后,若暂时未用到材料,则该工程的数据因缺少码的一部分(材料号)而不能进入到数据库中,出现插入异常。若某工程下马,则删去该工程的操作也可能丢失材料方面的信息。 将其中的部分函数依赖分解为一个独立的关系,则产生如下所示的两个2NF关系模式: 分解后,新工程确定后,尽管还未用到材料,该工程数据可在关系R2中插入。某工程数据删除时,仅对关系R2操作,也不会丢失材料方面的信息。- 4、设有如下所示的关系R。 (1)它为第几范式?为什么? (2)是否存在删除操作异常?若存在,则说明是在什么情况下发生? (3)将它分解为高一级范式,分解后的关系如何解决分解前可能存在的删除操作的异常问题。(1)它是2NF。 R的候选码为课程名,而“课程名教师名”,“教师名课程名”不成立,“教师名教师地址”,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。 又不存在非主属性对候选码的部分函数依赖,R是2NF。 (2)存在。当删除某门课程时会删除不该删除的教师的有关信息。 (3)分解为高一级范式如下所示。分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。-
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1