数据库系统概论第六章规范化习题

发布时间 : 星期一 文章数据库系统概论第六章规范化习题更新完毕开始阅读

数据库系统概论第六章

1、 关系规范化中的删除操作异常是指① ______ ,插入操作异常是指② ______

A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D. 应该插入的数据未被插入

答:删除操作异常是指执行删除操作时将不应该删除的数据删除的情形;插入异常是指

执行插入操作时应该插入的数据无法插入的情形。本题答案为:①A ②D。

2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是__ A____ A.关系规范化理论 B.关系运算理论 C系代数理论 D.数理逻辑

答:关系规范化理论是关系数据库中进行关系模式设计的理论依据。本题答案为A。 3根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。下面“部门”关系中,因哪个属性而使它不满足第一范式?

部门(部门号,部门名,部门成员,部门总经理)

A.部门总经理 B.部门成员 C.部门名 D.部门号

答:部门关系中的“部门成员”不是唯一的,不满足1NF。本题答案为B。 3消除了部分函数依赖的1NF的关系模式必定是_______ A. 1NF B. 2NF C. 3NF D. 4NF 答:由2NF的定义可知本题答案为B。

4、若关系R的候选码都是由单属性构成的,则R的最高范式必定是______

A. 1NF B. 2NF C. 3NF D. 无法确定

答:候选码由单属性构成,一定不会存在非主属性对候选码的部分函数依赖。本题答

案为B。

5在关系模式R(A,B,C,D)中,有函数依赖集F={B→C,C→D,D→A},则R能达到_______ A. 1NF B. 2NF C. 3NF D. 以上三者都不行

答:该关系模式的候选码是B,因为B→C,C B,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正确。

8关系模式STJ(S#,T,J#)中,存在函数依赖:(S#,J#)→T,(S#,T)→J#,T→J#,则_______

A.关系STJ满足1NF,但不满足2NF B.关系STJ满足2NF,但不满足3NF C.关系STJ满足3NF,但不满足BCNF D.关系STJ满足BCNF,但不满足4NF 答:该关系模式的候选码是(S#,J#)和 (S#,T),所有的属性都是主属性,所有该关系模式至少是3NF,又因为T→J#的左部未包含该关系的任一候选码,所以它不是BCNF。本题答案为C。

9能够消除多值依赖引起的冗余的是_______ A. 2NF B. 3NF C. 4NF D. BCNF

答:关系模式达到4NF时,可删除由多值依赖引起的冗余。本题答案为C。

10当B属于函数依赖于A属性时,属性B与A 的联系是____。

A. 1对多 B. 多对1 C. 多对多 D. 以上都不是

11在关系模式中,如果属性A和B存在1对1的联系,则说___。

A. A→B B. B→A C. A → B D. 以上都不是

12关系模式R中的属性全部是主属性,则R的最高范式必定是____。

A. 2NF B. 3NF C. BCNF D. 以上都不是 举例:学生成绩登记表

课程成绩 学号 姓名 性别 专业 年级 S1 张三 男 S2 李四 女 CS CS 98 99 课号 课名 学时 学分 教师 工资号 成绩 C1 C2 C3 C4 C5 C1 DB DS OS MA PH DB 60 60 80 120 90 60 3 3 4 6 5 3 赵 钱 孙 李 周 赵 M1 M9 M4 M7 M2 M1 90 70 85 90 75 86 解答

? 关系模式R(U,F) ? 函数依赖关系F为:

– 学号→(姓名,性别,专业,年级) – 课号→(课名,学分,学时,工资号) – (学号,课号)→成绩 – 师号→教师

? 属性集U为:

– (学号,姓名,性别,专业,年级,课程成绩)?1NF

? 消去可划分的属性:课程成绩

– 学生(学号,姓名,性别,专业,年级,课号,课名,学分,学时,教师,工资号,成绩) – 关键字(学号,课号) – ?1NF

? 消去部分函数依赖

– 存在的部分依赖:

? (学号,课号) p→ (姓名,性别,专业,年级)

? (学号,课号) p→ (课名,学分,学时,工资号,教师)

– 消去部分依赖

? (学号)→(姓名,性别,专业,年级)

? (课号)→(课名,学分,学时,工资号,教师) ? (学号,课号)→成绩

– 投影成三个子关系模式

? 学生(学号,姓名,性别,专业,年级)

? 课程(课号,课名,学分,学时,工资号,教师) ? 成绩(学号,课号,成绩)

– ?2NF

? 消去传递函数依赖

– 存在的传递依赖

? 课号→工资号 ? 工资号→教师 ? 课号 t→ 教师

– 消去传递依赖

? (课号)→(课名,学分,学时,工资号) ? (工资号→教师)

– 投影成两个子关系模式

? 课程(课号,课名,学分,学时,工资号) ? 教师(工资号,教师)

– ?3NF

? 最后投影结果

– 学生(学号,姓名,性别,专业,年级) – 课程(课号,课名,学分,学时,师号) – 教师(师号,教师)

– 成绩(学号,课号,成绩)

---------------------------------------------------------------------------------------------------------------------- ? 1、下表给出一数据集,请判断它是否可直接作为关系数据库中的关系,若不行,则

改造成为尽可能好的并能作为关数据库中关系的形式,同时说明进行这种改造的理由。

解:因为关系模式至少是1NF关系,即不包含重复组并且不存在嵌套结构,给出的数据集显然不可直接作为关系数据库中的关系,改造为1NF的关系如下所示。

----------------------------------------------------------------------------------------------------------------------

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。因为该关系的候选码为(工程号,材料号),而非主属性“开工日期”和“完工日期”部分函数依赖于候选码的子集“工程号”,即: P?

P(工程号,材料号)???完工日期?

? ∴它不是2NF。

(工程号,材料号)???开工日期

联系合同范文客服:xxxxx#qq.com(#替换为@)