(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(12分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。
答:(1)关系R的候选码是(A,B,C),R∈1NF,因为R中存在非主属性D,E对
候选码(A,B,C)的部分函数依赖。 (2)首先消除部分函数依赖
将关系分解为:
R1(A,B,C) (A,B,C)为候选码,
R1中不存在非平凡的函数依赖 R2(B,C,D,E),(B,C)为候选码,
R2的函数依赖集为:F2={(B,C)→D,D→E}
在关系R2中存在非主属性E对候选码(B,C)的传递函数依赖,所以将R2进一步分解:
R21(B,C,D) ,(B,C)为候选码,
R21的函数依赖集为:F21 = {(B,C)→D }
R22(D,E) ,D为候选码, 丰胸产品 百度影音电影 BB霜
R22的函数依赖集为:F22 = { D→E }
在R1中已不存在非平凡的函数依赖,在R21、R22关系模式中函数依赖的决定因素均为候选码,所以上述三个关系模式均是BCNF。
五、综合题(共20分)
现有如下E-R图:
实体的主要属性如下,其中下划线部分为主码:
仓库(仓库号,仓库名,面积,货位数)
零件(零件号,零件名称,规格型号,计量单位,供货商号,价格) 库存(?,?,库存量)
1. 请在?处填上相应的属性。(2分)
2. 试用SQL定义上述E-R图中所有的实体、属性及联系,所对应的英文名称为:
Warehouse(wno,wname,square,cou)
Material(mno,mname,type,unit,cusnum,price)
库存量 仓库 m n 库存 零件 Storage(?,?,storenumber),要求反映主码与外码,其中的类型长度可以根据需要自行确定。(6分)
3. 用SQL与关系代数表示查询:(6分)
找出零件名为“镙丝”的零件号、所存放的仓库号、库存量。
4. 建立一个包含仓库号、仓库名、零件号、零件名、价格、库存量的视图VIEW1。(6分) 答:
1、 仓库号(1分) 零件号(1分) 2、 建立仓库表
Create table warehouse
(
wno varchar(10) primary key, wname varchar(20), square number(10,2), cou int) 建立零件表
Create table material
(
mno varchar2(10) primary key, mname varchar2(20), type varchar2(10), unit varchar2(10), cusnum varchar2(10), price number(10,2)) 建立库存表
Create table storage
(
wno varchar2(10) foreign key references warehouse(wno), mno varchar2(10) foreign key references material(mno), storenumber number(10,2),
primary key(wno,mno))
2007─2008学年 第 一 学期
《数据库原理及应用》期末考试试卷B 答案及评分标准
一、 单选题 (每小题 2 分,共 30 分)
1. 关系数据库规范化是为解决关系数据库中( A )问题而引入的。
A. 插入异常、删除异常与数据冗余 B. 提高查询速度 C. 减少数据操作的复杂性 D. 保证数据的安全性与完整性 2. 数据库(DB)、数据库系统(DBS)与数据库管理系统(DBMS)三者之间的关系是( C )。
A.DBMS包括DB与DBS B.DB包括DBS与DBMS C.DBS包括DB与DBMS D.DBS就是DB,也就是DBMS 3. 数据库管理系统能实现对数据库中数据表、索引等对象的定义、修改、删除,这类语言称为( A )。
A.数据定义语言(DDL) B.数据操纵语言(DML) C.数据查询语言(DQL) D.数据控制语言(DCL) 4. 同一个关系模型的任意两个元组值( A )。
A. 不能全同 B. 可全同 C. 必须全同 D. 以上都不是 5. 概念模型是( B )
A、用于信息世界的建模,与具体的 DBMS 有关 B、用于信息世界的建模,与具体的 DBMS 无关 C、用于现实的建模,与具体的 DBMS 有关 D、用于现实的建模,与具体的 DBMS 无关
6. 物理数据独立性是指( D )。
A. 模式改变,外模式与应用程序不变 B. 模式改变,内模式不变 C. 内模式改变,模式不变
D. 内模式改变,外模式与应用程序不变 7. SQL语言是( C )语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库
8. 自然连接是构成新关系的有效方法。一般情况下,当对关系R与S使用自然连接时,要求R与
S含有一个或多个共有的( D )。 A. 元组 B. 行 C. 记录 D. 属性 9. 关系运算中花费时间可能最长的运算是( C )。
A. 投影 B. 选择 C. 笛卡尔积 D. 除 10. 文件系统与数据库系统的最大区别是( C )。
A. 数据共享 B. 数据独立 C. 数据结构化 D. 数据冗余 11. 用于事务回滚的SQL语句是( D )
A、CREATE TABLE B、COMMIT C、GRANT与REVOKE D、ROLLBACK 12. ( C )用来记录对数据库中数据进行的每一次更新操作。
A.数据库文件 B.缓冲区 C.日志文件 D.后援副本 13. 并发操作会带来哪些数据不一致性( D )。
A.丢失修改、不可重复读、读脏数据、死锁 B.不可重复读、读脏数据、死锁 C.丢失修改、读脏数据、死锁
D.丢失修改、不可重复读、读脏数据
14. 为提高效率,关系数据库系统必须进行( B )处理。
A、定义视图 B、查询优化 C、建立索引 D、数据规范化到最高范式 15. 设有关系R(A,B,C)的值如下,下列叙述正确的是( B ):
A. 函数依赖A→B在上述关系中成立 B. 函数依赖BC→A在上述关系中成立 C. 函数依赖B→A在上述关系中成立 D. 函数依赖A→BC在上述关系中成立
二、 简答题 (共 25 分)
16. 【4分】设有关系R与S:
试写出如下关系代数的值。?A,F(?E?5(R??S))
C?D解答:
评分:字段名称正确得1分,结果集每正确一个得1分,总分不超过4分。 17. 【6分】设学生教学数据库中,有两个基本表: 学生表:S(Sno, Sname, Sage, Ssex) 成绩表:SC(Sno, Cno, Grade) 现有如下SQL语句:
SELECT Sname FROM S INNER JOIN SC ON S.Sno=SC.Sno WHERE Grade >= 60 请给出关系代数式与题目含义。 解答:
关系代数:?Sname(?Grade??60(S??SC))
题目含义:查询成绩大于等于60分所有学生的姓名。
评分:正确写出关系表达式得4分,正确写出题目含义得2分;若部分正确最高得分不超过3分
18. 【4分】设有关系模式R(A,B,C,D),F是R的函数依赖集,F={AB→C,D→B},试求属性集
AD的闭包(AD)+。 解答:
(AD)+=(ABCD)
评分:结果正确得4分,否则0分。
19. 6分】叙述等值连接与自然连接的区别与联系。 解答:
自然连接一定是等值连接,但等值连接不一定是自然连接。
等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。 等值连接不把重复的属性除去,自然连接要把重复的属性除去。
评分:正确叙述等值连接与自然连接的联系(1个)得2分,正确叙述其区别(2个)得4分。 20. 【5分】举例说明关系参照完整性的含义。 解答:
如图所示的两个关系表,成绩表是R,课程表是S,在R中,学号是关键字,课程号是外码F;在课程表中课程号是关键字,根据关系参照完整性定义,R中的F课程号或者为空或者在课程表中的课程号中能够找到。
成绩表 课程表
学号 姓名 课程号 成绩 课程号 课程名
101 刘军 K5 80 K5 高等数学 212 王丽 K8 76 K8 C语言 221 章华 K9 92 K9 计算机网络