文档库 最新最全的文档下载
当前位置:文档库 › 数据库原理试题及答案

数据库原理试题及答案


四、综合题
2.设有关系 S、SC、C,试用关系代数、元组关系演算表达式和 SQL 完成下列操作。 . 演算表达式 完成下列操作。
S(S#,SNAME,AGE,SEX) (001,'李强 李强',23,’男')
SC(S#,C#,SCORE) 例: (003,'C1',83) ( )
C(C#,CNAME,TEACHER) ('C1','数据库原理 王华 )
(1)用关系代数检索选修课程号(C#)为 C1 和 C2 的学生学号(S#) )用关系代数检索选修课程号 ) 。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。 (3)用 SQL 找出选修了“程军”老师教的所有课程的学生姓名。

3.设有关系模式 R(U,F) ,其中:
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E} 求 F 的最小依赖集。


4.设有关系 R 和函数依赖 F:
R(W,X,Y,Z) = { X→Z,WX→Y }。试求下列问题:
(1)关系 R 属于第几范式?(5 分)
2
(2)如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。(5 分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。



四、1.某医院病房计算机管理中需要如下信息:
科室:科名,科地址,科电话,医生姓名
病房:病房号,床位号,所属科室名 医生:姓名,职称,所属科室名,年龄,工作证号 病人:病历号,姓名,性别,诊断,主管医生,病房号 其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病 人的诊治,一个病人的主管医生只有一个。
完成如下设计:
(1)设计该计算机管理系统的 E-R 图;
(2)将该 E-R 图转换为关系模型结构;
(3)指出转换结果中每个关系模式的候选码。
(2 解: (1)本题的 E-R 图如图 2 所示。
(2)对应的关系模型结构如下:
科室(科名,科地址,科电话)
病房(病房号,床位号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式的候选码如下:
科室的候选码是科名;
病房的候选码是科室名十病房号;
医生的候选码是工作证号;
病人的候选码是病历号。
病房号 病房 1
入住
床位号 n 1


科地址 科室 1
从属
科电话
组成
n 病人 n
诊治
n 1 医生
病历号



别 图 2 E-R 图
工作证号

名 职
称 年

4
2.设有关系 S、SC、C,试用关系代数、元组关系演算表达

式和 SQL 完成下列操作。(15 分,每小题 5 分) S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男') SC(S#,C#,SCORE) 例:(003,'C1',83) C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华') (1)用关系代数检索选修课程号(C#)为 C1 和 C2 的学生学号(S#)。
ΠS#,C#(SC)÷ΠC#(σC#=’C1’∨ C#=’C2’(C) )-σC#≠’C1’ ∨C#≠ ’C2’(ΠS#,C#(SC)÷ΠC#(σC#=’C1’∨ C#=’C2’(C)) )
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。 {T(1)|(?U)(?V)(?W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')} (2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。 {T(1)| (?V)(?W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')} (3)用 SQL 找出选修了“程军”老师教的所有课程的学生姓名。 SELECT S.SNAME FROM S WHERE NOT EXISTS ( SELECT * FROM C WHERE C.TEACHER='程军' AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) ) 本题解释: SELECT * FROM C WHERE C.TEACHER='程军' AND EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C#
5
) 这条 SQL 是查询'程军'所授的所有课程,外层查询中 C.C#作为变量在内层查询中被使用,外层教师'程军'所授课程 的课程号 C#给内层,内层根据该课程号 C#在 SC 中查询是否存在这样的课程号,即程军所授的课程,如果存在则括号 中的记录集不空,EXISTS 条件为 TRUE。因此,执行结果是显示程军所授的所有课程。 SELECT * FROM C WHERE C.TEACHER='程军' AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# ) 这条 SQL 语句在刚才语句的 EXISTS 前加了 NOT,变成当内层查询全部是'程军'所授课程时 NOT EXISTS 条件为假。 SELECT S.SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE C.TEACHER='程军' AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) 这条是完整的语句,比上面一条语句多了一个 AND SC.S#=S.S#表示某个学生的学号,加上最外层的 NOT EXISTS 的 整个语句的含义是,对该某个学生,如果最内层查询中查询结果全部是‘程军’所授课程时,条件 https://www.wendangku.net/doc/a09343301.html,AME='程军' AND NOT EXISTS 为 FALSE,所以 SELECT * FROM C 的查询结果为空(第二层),这时最外层的 NOT EXISTS 为 TRUE, 最外层查找成功,该学生是选修了‘程军’所授全部课程的。 3.设有关系模式 R(U,F) ,其中: (10 分)
U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E} 求 F 的最小依赖集。 解: ⑴ 将 F 中右部属性单一化: (2 分)
6
F1= {E→G,G→E,F→E,F→G,H→E,H→G,FH→E} ⑵ 去掉左部冗余的属性。对于 FH→E,由于有 F→E,则为多余的。 F2= {E→G,G→E,F→E,F→G,H→E,H→G} (2 分)
⑶ 去掉冗余的函数依赖。F2

中的 F→E 和 F→G,以及 H→E,H→G 之一是冗余的,则: F3= {E→G,G→E, F→G,H→G} (6 分)
4.设有关系 R 和函数依赖 F: (10 分) R(W,X,Y,Z) = { X→Z,WX→Y }。 ,F 试求下列问题: 1.关系 R 属于第几范式?(5 分) 2.如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。(5 分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。 解:R 是 1NF。侯选码为 WX,则 Y,Z 为非主属性,又由于 X→Z,因此 F 中存在非主属性对侯选码的部分函数依 赖。 W Y X
Z 将关系分解为: R1(W,X,Y),F1 = { WX→Y } R2(X,Z),F2 = { X→Z } 消除了非主属性对码的部分函数依赖。 F1 和 F2 中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是 BCNF。 一、填空题:02 分,每题 02 分 填空题 1、 如果事务 T 对数据 D 加了 S 锁, 锁以前, 、 则在 T 释放 D 上的 S 锁以前, 其他事务只能对 D 加 ( ) 而不能加 ( 单选题:20 分,每题 02 分 二、单选题 2、 要查询与“xx 电大”的课程(c)相关的所有教授(p)的名字,可用如下 OQL 语句。 语句。 、 要查询与“ 电大”的课程( )相关的所有教授( )的名字, SELECT https://www.wendangku.net/doc/a09343301.html, FROM Prefessors p WHERE ( ) c IN p.professorRelated: https://www.wendangku.net/doc/a09343301.html,=’xx 电大’; ’ 电大’ A: ALL B: FOR ALL C: EXIST D: EXISTS 3、 1. 用户要执行语句 、 . UPDATE Std
7
。 )
SET(Grd=Grd+1) WHERE Grd=90 则这个用户必须拥有的数据库权限有( 则这个用户必须拥有的数据库权限有( ) 。
A: 插入权限 B: 修改权限 C: 查询权限 D: 删除权限
4、 关系代数的五个基本操作可直接转换成元组关系演算表达式,它们是:并、差、投影,选择和( )
A: 交 B: 笛卡尔积 C: 自然连接 D: θ连接
5、 SELECT 语句执行的结果是( ) 。
A: 数据项 B: 元组 C: 表 D: 数据库
6、 在 SELECT 语句中使用 AVG (属性名 时, 属性名( 属性名) 属性名( 、 属性名 ) 。
A: 必须是数值型 B: 必须是字符型 C: 必须是数值型或字符型 D: 不限制数据类型
7、 当选择满足一定条件的元组进行分组时,应使用的关键字是( 、 当选择满足一定条件的元组进行分组时,应使用的关键字是( ) 。
A: SELECT B: GROUP C: WHERE D: HAVING
8、 一个学生可以同时借阅多本图书 一本图书只能由一个学生借阅 学生和图书之间为( )的联系。 一本图书只能由一个学生借阅,学生和图书之间为 的联系。 、 一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅 学生和图书之间为( A: 1 对 1 B: 1 对多 C: 多对多 D: 多对 1
9、 如果一个关系 R 中的所有非主属性都完全函数依赖于每个候选

关键字,则称关系 R 属于( ) 中的所有非主属性都完全函数依赖于每个候选关键字, 属于( 、 。 A: 2NF B: 3NF C: 4NF D: BCNF 10、 现有学生关系 Student,属性包括学号(Sno) 姓名(Sname) 所在系(Sdept) 系主任姓名(Mname) ,姓名 ,所在系 ,系主任姓名 、 ,属性包括学号( ) 姓名( , ) 所在系( , ) 系主任姓名( , ) , 课程名( 。这些属性之间包含如下联系 课程名(Cname)和成绩(Grade) 这些属性之间包含如下联系:一个学号只对应一个学生;一个学生只对应一 )和成绩( ) 这些属性之间包含如下联系:一个学号只对应一个学生; 。 个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩 学生名可以重复;系名不重复; 对应一个成绩; 个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩;学生名可以重复;系名不重复;课程名不重 则以下不正确的函数依赖是( 复。则以下不正确的函数依赖是( ) 。 A: SnoàSdept B: Sno à Mname C: Sname à Sdept D: Sno Cname àGrade 11、 一个关系模式 R{x1,x2,x3,x4},假定该关系存在着如下函数依赖:x1àx2,x1àx3,x3àx4 ,则该关系属于( ) 则该关系属于( 、 ,假定该关系存在着如下函数依赖: à à à 。 A: 2NF
8
B: 3NF C: 4NF D: BCNF 多选题:10 分,每题 02 分 三、多选题 12、 针对关系模式 Product ( PNo, maker, model, type, price) 、 下列语句彼此之间等价的是( 下列语句彼此之间等价的是( ) A : σprice>5000 (Product) Product (a,b,c,d,e) AND e>5000 B : P (a,b,c,d,e) C : {t1t2t3t4t5 | Product(t1t2t3t4t5) ∧ t5>5000} D : {t | Product (t1t2t3t4t5) ∧ t[5]>5000} 13、 1. 用户要执行语句 、 . INSERT INTO Std (Name) SELECT Name FROM Class 则这个用户必须拥有的数据库权限有( 则这个用户必须拥有的数据库权限有( ) 。 A : 插入权限 B : 修改权限 C : 查询权限 D : 删除权限 14、 具有 DBA 权限的用户具有下列哪些权限( ) 权限的用户具有下列哪些权限( 、 。 A : 可以访问数据库中的任何数据 B : 可以批准或收回数据库用户 C : 有权对数据库进行调整、重组或重构 有权对数据库进行调整、 D : 有权控制整个数据库的跟踪审查 15、 已知关系 Movie 中有函数依赖 title year à length color,则下面正确的分解结果有( 、 ,则下面正确的分解结果有( ) 。 A : title à length color B : year à length color C : title yearà length D : title yearà color 16、 下面哪一个依赖是平凡依赖( 、 下面哪一个依赖是平凡依赖( ) 。 A : Sno Cname Grade à Cname Grade B : Sno Cname à Cname Grade C : Sno Cname à Sname Grade D : Sno à Sname 断题:10 分,每题 01 分 四、判断题 17、 方法的实际代码是对象定义语

言的一部分。 、 方法的实际代码是对象定义语言的一部分。 ( ) 18、 OQL 中没有明确的关系概念, 中没有明确的关系概念, 中的对象则把关系作为核心概念。 、 它只是结构的集合 或者包) 而 SQL3 中的对象则把关系作为核心概念。 (或者包) 。 ( ) 19、 “= NULL”表示一个值是空值。 、 ”表示一个值是空值。 ( ) 20、 如果对关系的查询比更新频繁的多,对使用频率高的属性建立索引比较有价值。 、 如果对关系的查询比更新频繁的多,对使用频率高的属性建立索引比较有价值。 ( ) 21、 物理设计可以独立于数据库管理系统。 、 物理设计可以独立于数据库管理系统。 ( ) 22、 对于关系数据库系统,用户既要提出“做什么” 也要指出“怎么做”( 、 对于关系数据库系统,用户既要提出“做什么” 也要指出“怎么做” , 。 ) 23、 利用关系代数等价变化规则不一定能把非优化的查询表达式变换成优化的查询表达式。 等价变化规则不一定能把非优化的查询表达式变换成优化的查询表达式。 、 利用关系代数等价变化规则不一定能把非优化的查询表达式变换成优化的查询表达式 ( ) 24、 R 的键码的真子集有可能函数决定 R 的所有其它属性。 的所有其它属性。 、 25、 超键码都是键码。 、 超键码都是键码。 26、 如果一个关系数据库中的所有关系模式都满足 BC 范式,那么在函数依赖范畴内,它已实现了模式的彻底分 范式,那么在函数依赖范畴内, 、 达到了最高的规范化程度,消除了更新异常和信息冗余。 解,达到了最高的规范化程度,消除了更新异常和信息冗余。
9

1

相关文档
相关文档 最新文档