Ⅰ.考查目标
要求考生具有扎实的数据库基础,具有数据库建设规划和应用设计的基本能力。具体包括:
一、掌握数据库系统的基本概念、原理和理论;
二、掌握经典数据模型及关系代数、关系演算、函数依赖等理论;
三、掌握基本的数据库设计理论、方法、技术和工具,具有数据库应用开发和SQL实用技术;
四、熟悉数据库管理系统实现的理论、技术、方法和机制,了解数据库系统的现状和发展趋势。
Ⅱ.考试形式和试卷结构
一、试卷满分及考试时间
本试卷满分为100分,考试时间为120分钟。
二、答题方式
答题方式为闭卷、笔试。
三、试卷题型结构
1.名词解释,共4小题,每小题4分,共16分
2.填空题,共10小题,每小题2分,共20分
3.简答题,共4小题,每小题6分,共24分
4.设计应用题,共4小题,每小题10分,共40分
Ⅲ.考查内容
一、 数据库原理基础内容
(一)数据库系统的基本概念,包括数据模型、数据库体系结构和数据库系统的全局结构。
1.数据库系统概述:数据、数据库、数据库管理系统、数据库系统、数据库系统的特点等基本概念的定义与理解。
2.数据模型:层次、网状、关系、E-R模型等的构造形式及特点。重点是关系及E-R模型,要求熟练掌握其概念、技术及建模方法。
3.数据库系统结构及关系运算,数据库系统的三级模式与二级映像。
(二)关系数据模型和关系运算理论,包括关系代数和关系演算。
1.掌握关系模型的数学定义,关系模型、关系模式、关系数据库等基本概念。
2.掌握关系代数的九种运算,即专门关系运算能熟练运用。
3.掌握关系元组演算,并能熟练运用和关系代数的等价转换。
4.掌握关系系统的基本概念,关系系统的分类,关系数据库系统的查询处理及其优化方法。查询优化包括概念,优化的一般策略,关系代数等价变换规则,关系表达式的优化算法,通过实例达到掌握和运用。
(三)关系数据库标准语言SQL的数据定义、查询、操作及控制等。
1.掌握SQL的概念及特点。
2.掌握各类SQL语句的语法构成、语义与功能,特别是Select语句的不同应用方法,包括基本的定义及修改,索引的建立和删除。
3.掌握SQL的数据操纵,连接查询,嵌套查询,库函数的应用。
4.理解视图的定义,视图的查询,视图的更新及视图的优点。
5.能根据需求用SQL语句对数据库、数据表以及数据记录进行操作。
二、数据库设计与应用内容
(一)关系数据库的规范化设计理论,包括函数依赖、模式分解特性、范式和模式设计方法等。
1.掌握关系数据库理论提出的背景,对给定的数据如何改造数据模型。
2.掌握函数依赖的定义,函数依赖中的部分函数依赖、完全函数依赖、传递函数依赖,对给定的实际问题可以确定函数依赖。
3.掌握码的定义,对实际问题可以确定码。
4.掌握INF, 2NF,3NF, BCNF的定义,对给定的关系模式可以确定属于什么级范式。
(二)数据库设计的全过程、ER模型,ER模型到关系模型的转换规则。
1.掌握数据库和信息系统,数据库设计的特点,数据库设计方法简述,数据库设计的流程步骤。
2.掌握对实际问题的需求分析方法。
3.掌握数据抽象和局部视图规划设计,局部E-R图到全局E-R图的合并,视图的集成;局部E-R图、E-R图向数据模型的转换;数据库的物理设计以及应用实例等。
(三)数据库系统管理实现技术,包括事务概念及恢复、并发控制、完整性和安全性等实现机制。
1.掌握事务的概念及特征、数据转储与日志等恢复以及故障恢复的实现技术与策略。
2.掌握并发控制的基本概念,并发控制与实现技术,尤其是封锁技术的实施等。
3.掌握计算机系统的三类安全性问题以及数据库安全性控制的基本技术。
4.掌握完整性约束条件及完整性控制。
Ⅳ.参考试题
数据库原理
一、名词解释(共4小题,每小题4分,共16分)
1.死锁
2.触发器
3.游标
4.函数依赖
二、填空题(共10小题,每小题2分,共20分)
1.关系模型的三类完整性约束是指 、参照完整性、用户定义的完整性。
2.数据模型的组成要素中描述系统的静态特性和动态特性的分别是:
和数据操作。
3.SQL语言的数据定义功能包括 、表定义、索引定义 和视图定义等。
4.数据库安全技术包括用户身份识别、 、视图、数据加密和审计等。
5.事务是用户定义的一个数据库操作序列,其有4个特性,分别为:
、一致性、隔离性和持续性,简称ACID特性。
6.在SQL中视图是由 产生的虚表。
7.事务遵守 是可串行化调度的充分条件。
8.要使数据库具有可恢复性,基本原则就是数据 。
9.由全码组成的关系模式,最高可以达到的模式为 。
10.数据库的完整性是指数据的 和相容性。
三、简答题(共4小题,每小题6分,共24分)
1.什么是封锁?基本的封锁类型有几种?试述它们的含义。
2.针对不同的故障,试给出恢复的策略和方法。(即如何进行事务故障的恢复、系统故障的恢复,以及如何进行介质故障恢复。)
3.试述文件系统与数据库系统的区别和联系。
4.简述大数据分析平台需具备哪些特性,才能更好的适应数据库数据量大、数据类型多样、决策分析复杂度高以及低端异构集群等系统需求的变化。
四、设计应用题(共4小题,每小题10分,共40分)
1.有一学生-课程数据库中有Course和SC两张表,其中:
课程表(Course)由课程号(Cno)、课程名(Cname)、先行课(Cpno)、学分(Ccredit)组成,学生选课表(SC)由学号(Sno)、课程号(Cno)、成绩 (Grade)组成。
试编写一存储过程,统计“数据库原理”课程的成绩分布情况,即按照各分数段统计人数。
2.工程建设数据库中有SPJ和J两张表,其中工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,QTY表示某供应商供应某种零件给某工程项目的数量。请为“三建”工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:
①找出三建工程项目使用的各种零件代码及其数量。
②找出供应商Sl供应三建工程的情况。
3.请用适当的SQL语句为admin用户创建stu_course模式,然后创建一张学生表Student,表结构如下:
字段名数据类型说明
Sno9字符学号,主键
Sname20字符姓名
Ssex2字符性别
Sage短整型年龄
4.设某汽车运输公司有三个实体集。一是“车队”实体集,属性有车队号和车队名等;二是“车辆”实体集,属性有牌照号、厂家和出厂日期等;三是“司机”实体集,属性有司机编号、姓名和电话等。
设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干个车辆,但每辆车只能属于一个车队;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
(1)试画出E-R图,并在图上注明属性、联系类型及实体标识符;
(2)将E-R图转换为关系模型,并说明主键和外键。
Ⅴ.参考答案
数据库原理
一、名词解释(共4小题,每小题4分,共16分)
1.答:
如果事务T1封锁了数据R1,T2封锁了数据R2,然后T1又请求封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁;接着T2又申请封锁R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁.这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
2.答:
触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,触发器将被保存在数据库服务器中。任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在关系数据库管理系统核 心层进行集中的完整性控制。触发器类似于约束,但比约束更加灵活,可以实施更为复杂的检查和操作,具有更精细和更强大的数据控制能力。
3.答:
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果,每隔游标区都有一个名字。用户可以通过游标逐一获取记录并赋给主变量,交由主语言进行处理。
4.答:
设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X-->Y。函数依赖不是指关系模式R的某个或某些关系满足的约束条件,而是指R的一切关系均满足的约束条件。
二、填空题(共10小题,每小题2分,共20分)
1. 实体完整性
2. 数据结构
3. 模式定义
4. 自主存取控制和强制存取控制
5. 原子性
6. 基本表或视图
7. 两段锁协议
8. 冗余
9. BCNF
10. 正确性
三、简答题(共4小题,每小题6分,共24分)
1.答:
(1)封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放之前,其他的事务不能更新或读取此数据对象。
(2)基本的封锁类型有两种:排他锁(简称X锁)和共享锁(简称S锁)。排他锁又称为写锁,共享锁又称为读锁。
2.答:
(1)事务故障的恢复步骤:
①反向扫描文件日志,查找该事务的更新操作。
②对该事务的更新操作执行逆操作。即将日志记录中“更新前的值”写人数据库。直至读到此事务的开始标记,该事务故障的恢复就完成了
(2)系统故障的恢复步骤:
①正向扫描日志文件;找出在故障发生前已经提交的事务队列(REDO队列)和未完成的事务队列(UNDO队列)。
②对未完成的事务队列中的各个事务进行UNDO处理。
③对已经提交的事务队列中的各个事务进行REDO处理。
(3)介质故障的恢复步骤:
①装入最新的数据库后备副本(离故障发生时刻最近的转储副本),使数据库恢复到最近一次转储时的一致性状态。
②装人转储结束时刻的日志文件副本。
③启动系统诙复命令,由DBMS完成恢复功能,即重做已完成的事务。
3.答:
(1)文件系统与数据库系统的区别:
①文件系统的数据是面向某一应用的,是某个应用的“私有资源”。文件的共享性差、冗余度大,独立性差,文件的记录虽然有结构,但整体无结构。数据管理能力弱。
②数据库系统中的数据不再仅仅面向某一个应用,而是面向整个组织或企业。数据的共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性。由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。
(2)文件系统与数据库系统的联系:
①文件系统与数据库系统都是计算机系统中管理数据的软件。
②文件系统是操作系统的重要组成部分,数据库虽然独立于操作系统,但数据的组织和存储是通过操作系统中文件系统来实现的。数据库实现的基础是文件,对数据库的任何操作最终要转化为对文件的操作。
4.答:
大数据分析平台需具备如下特性:
(1)高度可扩展,横向大规模可扩展,大规模并行处理;
(2)高性能,快速响应复杂查询与分析;
(3)高度容错性,查询失败时,只需重做部分工作;
(4)支持异构环境,对硬件平台一致性要求不高,适应能力强;
(5)易用且开放接口,既能方便查询,又能处理复杂分析;
(6)较低成本,较高的性价比;
(7)向下兼容性,支持传统的BI工具。
四、设计应用题(共4小题,每小题10分,共40分)
1.参考答案
CREATE PROCEDURE db_grade( )
AS
DECLARE CURSOR dist FOR /*定义游标*/
SELECT grade FROM SC WHERE Cno=
(SELECT Cno FROM Course WHERE Cname=‘数据库原理’);
p_1OO NUMBER :=0;
p_90 NUMBER :=0;
p_80 NUMBER :=0;
p_70 NUMBER :=0;
p_60 NUMBER :=0;
p_others NUMBER :=0;
p_grade NUMBER;
BEGIN
OPEN dist; /*打开游标*/
LOOP
FETCH dist INTO p_grade; /*使用游标*/
EXIT WHEN (dist%NOTFOUND);
IF(p_grade==100) THEN
p_100:=p_100+1
ELSIF(p_grade>=90) THEN
p_90:=p_90+1;
ELSIF(p_grade>=80) THEN
p_80:=p_80+1;
ELSIF(p_grade>=70) THEN
p_70:=p_70+1;
ELSIF(p_grade>=60) THEN
p_60:=p_60+1;
ELSE
p_others:=p_others+l;
END IF;
END LOOP;
CLOSE dist;/*关闭游标*/
END;
2.参考答案
(1)创建视图:
CREATE VIEW V_SPJ AS
SELECT SNO,PNO,QTY FROM SPJ
WHERE JNO=
(SELECT JNO FROM J WHERE JNAME='三建');
(2)对该视图查询:
①SELECT PNO,QTY FROM V_SPJ;
②SELECT PNO,QTY FROM V_SPJ WHERE SNO='S1';
3.参考答案
(1)CREATE SCHEMA stu_course AUTHORIZATION admin
(2)CREATE TABLE Student
(Sno CHARR(9) PRIMARY KEY,
Sname CHAR(20),
Ssex CHAR(2),
Sage SMALLINT);
4.参考答案
(1)
(2)车队(车队号,车队名),主键:车队号
司机(司机编号,姓名,电话,车队号,聘期),主键:司机编号,外键:车队号
车辆(牌照号,厂家,出厂日期,车队号),主键:牌照号,外键:车队号
使用(牌照号,司机编号,使用日期,公里数),外键:牌照号、司机编号
Ⅵ.参考书目
1.《数据库系统概论》(第5版),王珊 萨师煊编著,高等教育出版社。
2.其他数据库原理参考书。