自
觉
遵
守
考
场
纪
律
如
考
试
作
弊
此
答
卷
无
效
名
姓
号
学
线
封
密
东 南 大 学 考 试 卷 ( A 卷)
课 程 名 称
数据库原理
考 试 学 期 0 7 - 0 8 - 2
得分
适 用 专 业 计算机科学与技术 考 试 形 式
开卷
考 试 时 间 长 度 120 分钟
( 可 携 带 教 材 、 授 课 P P T 讲 义 、 笔 记 )
1.在 DBMS 中,通常采用多级数据模式,例如概念模式、外模式和内模式,简述数据库
系统中的多级数据模式对数据独立性的影响。(8%)
2.关系 R,S 如下图所示。试求下列关系代数运算结果 (每小题 4 分,共 12 分)
S
1
c1
c2
2
d1
d2
c S,
c = (R.3=S.1) AND (R.4=S.2)
2
b1
b1
b1
b2
b2
b3
R
3
1
c1
a1
c2
a1
c3
a1
c1
a2
c2
a2
a3
c1
(1) 3,4(R) S
(2) R
(3) 用元组关系演算表示 RS
4
d1
d2
d3
d1
d2
d1
2.假设有下列三个个关系(30%):
Sailors(sid, sname, rating, birth, master) /*分别为水手的编号、名字、级别、出生日期、
Boats(bid, bname, color)
Reserves(sid, bid, day)
师父的编号,每个水手的师父也是水手*/
/*分别为船的编号、名字、颜色*/
/*分别为订船水手编号、所订船编号、日期*/
试写出表达下列查询要求的 SQL 语句(必须用单条 SQL 语句表达):
(1) 用连接查询查预定了编号大于 103 的红色船的水手姓名;
(2) 查询预订了所有红船的水手的编号;
(3) 查询预订过的船只最多的水手的姓名;
(4) 查询没有人预订的红船的名字;
(5) 查询预订了 205 号船并且只预订过一次的水手姓名;
(6) 按水手级别查询各级别水手预订红船的最大数目。
Select sname from sailors
Where sid in(select red-sailor.sid
From(select sailors.sname,sailors.sid,sailors.rating count(*) as num from reserves,sailors,boats
Where sailors.sid=reserves.sid and reserves.bid=boats.bid and boats.color=’红’
Group by rating, sid) as red-sailor
Where
3.利用上题中的关系,试用嵌有 SQL 的 C 语言程序打印一张报表,内容是级别、该级别
共 2 页
第 1 页
水手的平均年龄 b,假设 Sailors 表中 birth 属性类型为日期型。(只需表明访问数据库及对
查询结果进行处理的程序逻辑,不需要严格编程) (10%)。
4.试为第 2 题中的 Reserves 关系定义一个完整性约束条件:不允许预订绿船(5%)。
5.(索引/查询优化)(10%)?
6.介质失效恢复时,对运行记录中上一检查点以前的已提交事务应该 redo 否?(5%)
7.举例说明什么是分布式数据库系统并发控制中的全局死锁。(10%)?
8.编写一个触发器,监视第 2 题 Sailors 表上的 Update 操作,对每条 Update 语句,判断
其更新后的元组是否有 1990.1.1 之后出生的水手,将这样的水手自动插入到 YoungSailors
表中(YoungSailors 表与 Sailors 表的模式相同)。(10%)
附加题:试分析分布式数据库系统出现的技术背景和应用背景。它与后来出现的联邦式数
据库系统的类似之处和本质区别是什么(10%)?
共 2 页
第 2 页