一 选择题(共 20 分,每题 1 分)
- 在数据库中,数据的物理独立性指的是(A ) 。 A.应用程序与存储在磁盘上数据库中的数据相互独立B.数据库与数据库管理系统的相互独立 C.应用程序与数据库中数据的逻辑结构相互独立 D.用户程序与 DBMS 的相互独立
- E-R 图中的联系可以与(D )实体有关。
A.1 个 B.0 个 C.多个 D.一个或多个
- 设有关系模式 R(S,D,M),其函数依赖集:F={S→D,D→M},则关系模式 R 的规范化程度最高达到(B )。
A.1NF B.2NF C.BCNF D.3NF
- 候选码的属性可以有(D )。
A.0 个 B.多个 C.1 个 D.1 个或多个
- 如果关系 R 和 S 进行自然连接时,只把 S 中原该舍弃的元组保存到新关系中,这种操作称为(C )。
A.外连接 B.左外连接 C.右外连接 D.内联接
- SQL 语言具有(A ) 功 能 。
A.数据定义、数据操纵、数据控制B.关系规范、数据定义、数据控制C.数据定义、关系规范、数据操纵D.关系规范、数据操纵、数据控制
- 3NF 同时又是(C )。
A.2NF B.1NF C.1NF,2NF D.BCNF
- 数据库的并发操作可能带来的问题包括(D )。
A.非法用户的使用 B.数据独立性会提高 C.增加数据冗余度 D.丢失更新
-
在需求分析阶段,通过调查要从用户处获得对数据库的下列要求(D )。
A.信息需求和结构需求 B.输入需求和输出需求
C.存储需求和结构需求 D.信息需求和处理需求
-
数据库设计的概念设计阶段,表示概念结构的常用方法和描述工具是(D)。
A.结构分析法和模块结构图 B.数据流程分析法和数据流程图 C.层次分析法和层次结构图 D.实体联系方法
- 用户涉及的逻辑结构用(B )描述。
A.概念模式 B.子模式 C.模式 D.存储模式
- 为数据表创建索引的目的是(D )。
A.创建主码 B.归类 C.创建唯一索引 D.提高查询的检索性能
- 若事务 T 对数据 R 已加了 S 锁,则其他事务对数据 R(C )。
A.可以加 S 锁也可以加 X 锁 B.不能加任何锁 C.可以加 S 锁不能加 X 锁 D.不能加 S 锁可以加 X 锁
- 系统故障会造成(C )。
A.硬盘数据丢失 B.磁带数据丢失 C.内存数据丢失 D.软盘数据丢失
- 数据库设计中,确定数据库存储结构,即确定关系、索引、聚簇、日志、备份等数据的存储安排和存储结构,这是数据库设计的(C )。
A.概念设计阶段 B.逻辑设计阶段 C.物理设计阶段 D.需求分析阶段
- 数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包括(D )。
A.数据字典、应用程序、日志文件 B.数据字典、应用程序、数据库后备副本
C.数据字典、应用程序、审计档案 D.日志文件、数据库后备副本
- 设关系 R 和 S 的元组个数分别为 100 和 200,关系 T 是 R 与 S 的笛卡尔积,则 T 的元组个数是(C )。
A.10000 B.400 C.20000 D.30000
- SQL 语言中的 COMMIT 语句的主要作用是(B )。
A.存储数据 B.提交事务 C.结束程序 D.返回系统
- (B )完成对数据库数据的查询与更新。
A.DDL B.DML C.DCL D.DQL
- 数据库镜像可以用于(D ) 。
A.实现数据库的安全性 B.保证数据库的完整性
C.实现数据共享 D.进行数据库恢复或并发操作
二 填空题(共 20 分,每空 2 分)
- 事务是用户定义的一个数据库操作序列,是一个不可分割的工作单位,它具有( 持久性)、隔离性、原子性、一致性四个特性。
- 数据字典中应包括对以下几部分数据的描述:(数据项 )、数据结构、数据流。
- 并发操作带来的问题主要有(不可重复读 ),丢失修改,读脏数据。
- 层次、网状的 DML 属于过程性语言,而关系型 DML 属于(非过程性 )语言。
-
视图是从基本表或视图中导出的表,数据库中实际存放的是视图的(定义 )。
-
数据库系统在运行过程中,可能会发生故障。故障主要有(事务故障 )、系统故障、介质故障和计算机病毒四类。
- DB 的中文含义是(数据库 )。
- 在关系模型中,实现数据联系的主要手段是(外键 )。
- 有了外模式/模式映像,可以保证数据和应用程序之间的(逻辑独立性 )。
- 候选关键字中的属性称为(主属性 )。
三 简答题(共 20 分,第 1 题 8 分,第 2、3 题各 6 分)
-
已知关系 R 和 S,如下所示。
-
为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之(6 分)。
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致性状态。 例如,某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放,则可以定义一个事务T。T包括两个操作:Q1=Q1-Q,Q2=Q2 Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。 -
请给出检测死锁发生的方法,当发生死锁后如何解决死锁(6 分)。
答:一般使用超时法或事务等待图法。
通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有的锁,使其它事务得以继续运行下去。当然,对撤消的事务所执行的数据修改操作必须加以恢复。
四 综合应用题(共 30 分,第 1 小题 6 分,其余 8 题 3 分,共 9 题)
设 有 下 列 关 系 模 式 :
STUDENT(SNO,SNAME,SSEX,SBIRTHDAY,SCLASS);
TEACHER(TNO,TNAME,TSEX,TDEPART);
COURSE(CNO,CNAME,TNO);
SC(SNO,CNO,SCORE);
其中,学生信息表 STUDENT 由学号(SNO)、学生姓名(SNAME)、性别(SSEX)、出生年月日(SBIRTHDAY)、班级(SCLASS)组成,记录学生的情况;
教师信息表 TEACHER 由教师号(TNO)、教师姓名(TNAME)、性别(TSEX)、教师所在系(TDEPART)组成,记录教师的情况;
课程表 COURSE 由课程号(CNO)、课程名称(CNAME)、任课教师号(TNO)组成,记录所开课程及任课教师情况;
选修表 SC 由学生学号(SNO)、课程号(CNO)、成绩(SCORE)组成,记录学生选课情况及相应的成绩。
根据题目描述,用一句 SQL 语句实现以下操作(使用多条 SQL 语句为 0 分)。
(1) 假设 SC 表的结构如下表所示,请写出创建 SC 表的 SQL 代码,要求包含 SC 表中的所有约束(6 分)。
(2) 查询“电子系”的教师所授全部课程的课程名称,去除重复记录(3 分)。
(3) 假设学生的姓名唯一,查询学生“张三”的总成绩(3 分)。
(4) 查询与教师“王五”在同一个部门工作的全部教师的详细信息(3 分)。
(5) 为 SC 表添加一条记录,学号为“xh001”的学生选修了编号为“kc001”的课程,但还没成绩(3 分)。
(6) 查询没有选修任何课程的学生的学号、姓名(3 分);
(7) 建立“计机 127”班所有男学生的信息视图 JSJ_M_Student(3 分)。
(8) 回收用户“李明”对 COURSE 表的查询权限(3 分)。
(9) 为学生表的 sname 属性建立唯一索引,索引名为 xyz(3 分)。