云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库总复习题库及解析

数据库总复习题库及解析

  • 62 次阅读
  • 3 次下载
  • 2025/5/31 19:48:19

U={A,B,C,D},F={A→B,B→C,D→B},把R分解成BCNF模式集:

1. 如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。 2. ACD和BD是BCNF吗?如果不是,请进一步分解。

解:(1) ∏ACD(F)={A→C,D→C} ∏BD(F)={D→B} (2)BD是BCNF。

ACD不是BCNF。模式ACD的候选关键字是AD(注意ACD是关系模式是A→C,D→C)。考虑A→C,这个函数依赖不满足BCNF条件(A不是模式ACD的候选关键字),将ACD分解为AC和AD,此时AC和AD均为BCNF。

6. 指出下列关系模式是第几范式? (1)R(X,Y,Z) F={XY→Z}

答:R是BCNF。R的候选关键字是XY。

7. 关系模式R(S#,C#,TNAME),其属性为学生学号、选修课程的课程号、任课教师姓名。

如果规定,每个学生可选修多门;每门课只有一个教师任教。 (1) 写出R的基本FD和关键码; (2) 说明为什么R不是2NF模式? (3) 举例说明R的数据冗余问题; (4) 试把R分解成2NF模式集。 解:(1)基本的FD有两个:(S#,C#)→TNAME,C#→TNAME。所以R的关键码为(S#,C#)。

(2)根据上述两个FD,可知(S#,C#)→TNAME是一个局部依赖,因此R不是2NF。 (3)由于每门课可以有多个学生选修,因此会产生数据冗余。譬如一个门有50个学生选修,在关系中就要有50个元组,但每门课只有一个教师,因此其教师姓名就要重复50次。这就是数据冗余,随之将会产生各种操作异常。 (4)R1(S#,C#) R2(C#,TNAME)

8. 设关系模式R(S#,TNAME,TADDR),其属性分别表示学生学号、指导教师姓名、指导教师地址。 如果规定,每个学生只有一个指导教师;每个教师只有一个联系地址;教师不允许同名同姓。 (1) 写出R的基本FD和关键码;

(2) 说明为什么R不是3NF模式? (3) 举例说明R的数据冗余问题; (4) 试把R分解成3NF模式集。 解:(1)基本的FD有两个:S#→TNAME,TNAME→TADDR。R的关键码为S#。 (2)根据上述两个FD,可知S#→TADDR是一个传递依赖,因此R不是3NF模式。 (3)由于一个教师可以指导多个学生,因此会产生数据冗余。譬如一个教师指导10个学生,在关系中就要有10个元组,但每个教师只有一个联系地址,因此其地址就要重复10次。这就是数据冗余,随之将会产生各种操作异常。 (4)R1(S#,TNAME) R2(TNAME,TADDR)。 9. 设有关系模式

R(职工名,项目名,工资,部门名,部门经理)

如果规定,每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。

(1) 试写出关系模式R的基本FD和关键码。

(2) 说明R不是2NF的理由,并把R分解成2NF模式集。 (3) 进而把R分解成3NF模式集,并说明理由。 解:

(1) R的基本FD有三个: (职工名,项目名)→工资 项目名→部门名 部门名→部门经理 关键码为(职工名,项目名)。

(2) 根据(1),R中存在下列两个FD:

(职工名,项目名)→(部门名,部门经理) 项目名→(部门名,部门经理) 其中前一个FD是一个局部依赖,因此R不是2NF。 R应分解成两个模式:

R1(项目名,部门名,部门经理) R2(职工名,项目名,工资) R1和R2都是2NF。

(3) R2已是3NF。

在R1中,由于存在两个FD:

项目名→部门名,部门名→部门经理 即存在一个传递依赖,因此R1不是3NF。

对R1应分解成两个模式:R11(职工名,部门名),R12(部门名,部门经理)。这两个模式都是3NF。

因此,R分解成3NF模式集时,应该是:{R11,R12,R2}。

10. 设关系模式R(仓库编号,商品编号,库存量,商品名,规格)存储某商业集团的有

关信息。如果规定:

(1) 集团中有若干仓库,每个仓库中可放若干种商品;

(2) 每一个商品编号表示一种商品:一种商品(由于生产厂家不同)可以有多个商品编号,但其规格只有一个。

(3) 每个仓库每存有一个编号的商品,有一个库存量。 试回答下列问题:

(1) 据上述规定,写出模式R的基本FD;

(2) 说明R不是2NF的理由,并把R分解成2NF模式集; (3) 进而再分解成3NF模式集。 解:

(1) 基本的FD有三个:

(仓库编号,商品编号)→库存量 商品编号→商品名 商品名→规格

(2) R的关键码为(仓库编号,商品编号) 在R中有两个FD:(仓库编号,商品编号)→(商品名,规格) 商品编号→(商品名,规格) 其中前一个FD是局部依赖,所以R不是2NF模式。 R应分解成:

R1(商品编号,商品名,规格) R2(仓库编号,商品编号,库存量) R1和R2都是2NF模式。 (3) R2已是3NF模式。

在R1中存在两个FD:商品编号→商品名 商品名→规格

因此,商品编号→规格是一个传递依赖,R1不是3NF模式。 R1应分解成R11(商品编号,商品名) R12(商品名,规格)

所以将R分解成{R11,R12,R2}是一个3NF模式集。

11. 设某汽车运输公司数据库中有一个关系模式:

R(汽车牌照,司机编号,行驶公里,班组编号,班组长) 如果规定: (1) 每个汽车牌照对应一辆汽车。\行驶公里\为某司机驾驶某辆汽车行驶的总公里数。 (2) 每个司机属于一个班组;每个班组有一个班组长。 试回答下列问题:

(1) 根据上述规定,写出模式R的基本FD;

(2) 说明R不是2NF的理由,并把R分解成2NF模式集; (3) 进而再分解成3NF模式集。 解:(1)基本的FD有三个:

(汽车牌照,司机编号)→行驶公里 司机编号→班组编号 班组编号→班组长

(2) R的关键码为(汽车牌照,司机编号) 这样,R中会有两个FD:

(汽车牌照,司机编号)→(班组编号,班组长) 司机编号→(班组编号,班组长) 其中前一FD是局部依赖,所以R不是2NF。 R应分解成R1(司机编号,班组编号,班组长) R2(汽车牌照,司机编号,行驶公里) R1和R2都是2NF模式。 (3) R2已是3NF。

在R1中存在两个FD:司机编号→班组编号 班组编号→班组长

因此,司机编号→班组长是一个传递依赖,R1不是3NF。 R1应分解成R11(司机编号,班组编号) R12(班组编号,班组长) 结果:{R11,R12,R2}是一个3NF模式集。

12. 设有如下图所示的关系

职工号 e1 e2 e3 e4 职工年龄 性别 名 zhao qian shen li 20 25 38 25 F M M F 单位号 D3 D1 D3 D3 单位名 CCC AAA CCC CCC 试问R是否属于3NF?若不是,它属于第几范式?并如何规范化为3NF?

解:R不属于3NF,它是2F。

因为R的候选关键字为职工号,而:职工号==>单位号,单位号不能==>职工号,单位号==>单位名。

所以职工号传递==>单位名,即存在非主属性单位名对候选关键字职工号的传递函数依赖。

规范化关系子模式为R1(职工号,职工名,年龄,性别,单位号)和2(单位号,单位名)。

三、多项选择题

1. 有一关系,满足关系数据库的条件,但不满足关系的规范化,该数据库结构会出现

的问题可能有__。答:BCD

搜索更多关于: 数据库总复习题库及解析 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

U={A,B,C,D},F={A→B,B→C,D→B},把R分解成BCNF模式集: 1. 如果首先把R分解成{ACD,BD},试求F在这两个模式上的投影。 2. ACD和BD是BCNF吗?如果不是,请进一步分解。 解:(1) ∏ACD(F)={A→C,D→C} ∏BD(F)={D→B} (2)BD是BCNF。 ACD不是BCNF。模式ACD的候选关键字是AD(注意ACD是关系模式是A→C,D→C)。考虑A→C,这个函数依赖不满足BCNF条件(A不是模式ACD的候选关键字),将ACD分解为AC和AD,此时AC和AD均为BCNF。 6. 指出下列关系模式是第几范式? (1)R(X,Y,Z) F={XY→Z} 答:R是BCNF。R的候选关键字是XY。 7. 关系模式R(S#,C#

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com