大学《数据库》期末试卷及答案
得  分
一、单项选择题
本大题共10小题,每小题2分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要 求的,错选、多选或未选均无分。
1.    DB、DBMS和DBS三者之间的关系是(      )。
A.DB包括DBMS和DBS        B.DBS包括DB和DBMS
C.DBMS包括DB和DBS        D.不能相互包括
2.    数据库故障恢复对数据库物理存储方式的描述称为(      )
A.外模式        B.内模式 
C.概念模式          D.逻辑模式
3.    在数据库三级模式间引入二级映象的主要作用是(    )
A.提高数据与程序的独立性        B.提高数据与程序的安全性
C.保持数据与程序的一致性        D.提高数据与程序的可移植性
4. 视图是一个“虚表”,视图的构造基于(      )
A.基本表        B.视图 
C.基本表或视图                  D.数据字典
5.    关系代数中的π运算符对应SELECT语句中的以下哪个子句(    )
ASELECT    BFROM
CWHERE    DGROUP BY
6.    公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是(    )
    A.多对多      B.一对一      C.多对一      D.一对多
7.    如何构造出一个合适的数据逻辑结构是    主要解决的问题。
      A.关系系统查询优化                B.数据字典
    C.关系数据库规范化理论          D.关系数据库查询
8.    将E-R模型转换成关系模型,属于数据库的(      )。
    A. 需求分析                      B. 概念设计
C. 逻辑设计                        D. 物理设计
9.    事务日志的用途是(      )
A. 事务处理    B. 完整性约束
C. 数据恢复    D. 安全性控制
10如果事务T已在数据R上加了X锁,则其他事务在数据R上(      )
A. 只可加X锁    B. 只可加S锁
C. 可加S锁或X锁    D. 不能加任何锁
得  分
二、填空题
本大题共10小题,每小题2分,共20分
错填、不填均无分。
1.    数据库的逻辑数据独立性是由                映象提供的。
2.  关系代数中专门的关系运算包括:选择、投影、连接和_________。
3.    设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据一致性,表S与SC之间应满足            完整性约束。
4.  当数据库被破坏后,如果事先保存了数据库副本和            ,就有可能恢复数据库。   
5.    如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是          (在1NF、2NF、3NF范围内)。
6.    设关系模式R(A,B,C,D),函数依赖集F={AB→C,D→B},则R的候选码为         
7. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗余度大、插入异常、______________和删除异常。
8.    并发控制的主要方法是        机制
9.    若有关系模式R(A,B,C)和S(C,D,E),SQL语句
SELECT A, D FROM R, S WHERE R.C=S.C AND E = '80' ;
对应的关系代数表达式是                             
10.    分E-R图之间的冲突主要有属性冲突、          、结构冲突三种
得  分
三、简答题
本大题共4小题,每小题5分,共20分
1.    说明视图与基本表的区别和联系。
2.     简述事务的特性。
3.    试述关系模型的参照完整性规则。
4.    简述系统故障时的数据库恢复策略。
得  分
四、设计题
本大题共5小题,每小题4分,共20分
现有关系数据库如下:
                  学生(学号,姓名,性别,专业)
                  课程(课程号,课程名,学分)
                  学习(学号,课程号,分数)
分别用关系代数表达式和SQL语句实现下列1—5小题(注意:每小题都要分别写出关系代数表达式和SQL语句!!!每小题关系代数表达式2分,SQL语句2分):
1.    检索所有选修了课程号为“C112”的课程的学生的学号和分数;                 
2.    检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;
3.    检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;
4.    检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
5.    检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。
得  分
五、综合题
本大题共2小题,每小题10分,共20分
 
1.    现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,借阅日期,归还日期),基本函数依赖集F={图书编号→(书名,作者名,出版社),读者编号→读者姓名,(图书编号,读者编号,借阅日期)→归还日期}
(1)读者编号是候选码吗?(2分)
(2)写出该关系模式的主码。(2分)
(3)该关系模式中是否存在非主属性对码的部分函数依赖?如果存在,请写出一个。(2分)
(4)该关系模式满足第几范式?并说明理由。(4分)
2.某工厂生产多种产品,每种产品由不同的零件组装而成,有的零件可用在不同的产品上。产品有产品号和产品名两个属性,零件有零件号和零件名两个属性。根据语义设计E-R模型,并将E-R模型转换成关系模式,要求关系模式主码加下划线表示。(E-R模型4分,关系模型6分)
参考答案与评分细则
一、单项选择题(共10小题,每小题2分,共20分)
题号
1
2
3
4
5
6
7
8
9
10
答案
B
B
A
C
A
C
C
C
C
D
二、填空题(共10小题,每小题2分,共20分)。
  1.      外模式/模式                  2.        除       
  3.    __  参照  __                  4.    日志文件_____
  5.  __  3NF      _              6.    _    AD __  _
7.    _  修改异常  __              8.      _ 封锁__   
9.πA,DE='80'(RS))            10.    命名冲突   
三、简答题(共4小题,每小题5分,共20分)。
1. 答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,(2分)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。
    2. 答:事务具有四个特性,即ACID特性:(1分)
        (1)原子性:事务中包括的所有操作要么都做,要么都不做。(1分)
    (2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。(1分)
    (3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。(1分)
    (4)持续性:事务一旦提交,对数据库的改变是永久的。(1分)
3. 答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)(2分),则对于R中每个元组在F上的值
必须为:取空值(F的每个属性值均为空值)(1.5分)或者等于S中某个元组的主码值(1.5分)。
4.    答:正像扫描日志文件,出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时出故障发生时尚未完成的事务,将其事务标识记入UNDO队列(2分);对UNDO队列中的各个事务进行撤销处理(1.5分);对REDO队列中的各个事务进行重做处理。(1.5分)
四、设计题(共5小题,每小题关系代数式2分,SQL语句2分,共20分)。
1.SQL语句:
SELECT 学号,分数 FROM 学习 WHERE 课程号=’C112’
SELECT 学号,分数 FROM 学习1分,WHERE 课程号=’C112’1分)
关系代数:
π学号,分数(课程号=’C112’(学习))
  (π学号,分数1分,课程号=’C112’(学习)1分
2. SQL语句:
SELECT 学生.学号,姓名,课程名,分数
FROM 学生,学习,课程      (1分)
WHERE 学习.学号=学生.学号 AND 学习.课程号=课程.课程号 AND 专业=’英语  (1分)
      关系代数:
π学号,姓名,课程名,分数(π学号,姓名(专业=’英语’(学生))学习π课程号,课程名(课程))
  (π学号,姓名,课程名,分数1分,π学号,姓名(专业=’英语’(学生))学习π课程号,课程名(课程)1分)
3. SQL语句:
SELECT 学生.学号,姓名,专业,分数
FROM 学生,学习,课程      (1分)
WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND分数>90 AND 课程名=‘数据库原理 (1分)
关系代数:
π学号,姓名,专业,分数(π学号,姓名,专业(学生)(分数>90(学习))π课程号,课程名( 课程名=’数据库原理’(课程)))
  (π学号,姓名,专业,分数1分,π学号,姓名,专业(学生)(分数>90(学习))π课程号,课程名(课程名=’数据库原理’(课程)) 1分)
4.SQL语句:
SELECT 学号,姓名,专业
FROM 学生
            WHERE 学号 NOT IN      (1分)
SELECT 学号 FROM 学习 WHERE 课程号=‘C135’) (1分)
关系代数:
学号(学生)-π学号(课程号=‘C135’ (学习)))(π学号,姓名,专业(学生)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。