您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页江西财经大学数据库系统原理历年试卷资料

江西财经大学数据库系统原理历年试卷资料

来源:筏尚旅游网
江西财经大学

06-07第一学期期末考试试卷

试卷代码:03115 授课课时:96

课程名称:数据库系统原理B 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、保护数据库,防止未经授权的不合法的使用造成的数据泄漏、更改破坏。这是指数据的_____。

A、安全性 B、完整性 C、并发控制 D、恢复 2、若事务T对数据R已加X锁,则其他事务对数据R_____。 A、可以加S锁不能加X锁 B、不能加S锁可以加X锁 B、可以加S锁也可以加X锁 D、不能加任何锁 3、数据库具有较高的____。

A、程序与数据可靠性 B、程序与数据完整性 C、程序与数据性 D、程序与数据一致性。 4、DB、DBS、DBMS三者之间的关系是_____。

A、 DBS包括DB、DBMS B、DB包括DBS、DBMS

C、DBMS包括DB、DBMS D、DBS就是DB,也就是DBMS

5、常用的数据模型不包括_____。

A、 网状模型 B、链状模型 C、层次模型 D、关系模型 6、数据库的_____是指数据库的正确性和相容性。

A、安全性 B、完整性 C、并发控制 D、恢复、 7、用于数据库恢复的重要文件是_____。

A、数据文件 B、索引文件 C、日志文件 D、备注文件 8、数据库中的封锁机制是_____的主要方法。

A、完整性 B、安全性 C、并发控制 D、恢复 9、关系模型中,一个关键字是_____。

A、可由多个任意属性组成 B、至多由一个属性组成

C、由一个或多个其值能唯一标识该模式中任何元组的属性组成 D、以上都不是

10、数据库系统的核心是_____。

A、 数据库 B、数据库管理系统 C、数据模型 D、软件工具 二、简答题(回答要点,并简明扼要作解释。每题5分,共20分) 1、简述各种不同的封锁协议及解决的问题

2、分析发生系统故障时数据库可能出现的问题是什么?

第 1 页 共 11 页

3、简述参照完整性约束中应注意的几个重要问题。 4、简述存取控制机制的主要内容。 三、编程与关系运算(每题5分,共20分)

设有四个关系

学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20)) Student(sno,sname,sex,dept) 课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,任课教师char(5))

Course(cno,cname,precno,ceredit,tno)

教师表(教师号char(5),教师名称varchar(10),姓别char(2)) Teacher(tno,tname,sex)

选课表(学号char(5),课程号char(3),成绩tinyint) SC(sno,cno,grade)

1. 编写一个触发器,当对课程表进行修改时其学分只能在1到5分之间。 2. 编写一个存储过程,依据输入的课程号参数,统计该门课程的平均分和总分,

要求使用游标,不可以使用sum和avg命令。

3. 使用关系代数语言查询没有选修‘刘红’老师所授课程的同学学号。

4. 使用元组演算语言查询选修了‘刘红’老师课程的同学姓名、课程名及相应

的成绩。 四、综合设计题(共40分)

1. 已知:关系模式R(U,F)中R=ABCDEG

F={BE→G,BD→G, CDE→AB,CD→A, CE→G, BC→A,B→D,C→D}求:

+

(1)(BC)F,R的候选码。(5分)

(2)F的最小函数依赖集,并将模式R用算法分解到无损连接的3NF。(5分)

2. 设有关系模式R,U={E,G,H,I,J},F={E→I,J→I,I→G,GH→I,IH→EG},

假设有一个分解P={R1(IJ),R2(GHI),R3(IHE)},判断该分解是否保持函数依赖关系,并判断此分解是否具有无损连接性。(10分)

3. 对于关系模式R(D,B,I,S,Q,O),设有两个函数依赖集F和G,

F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG}, G={AB→C,D→G,C→A,BE→C,BC→D,CG→B,D→E,CE→G} 试判断F和G是否等价。(5分)

4. 数据库设计

设计一个商品销售数据库,此数据库中保存有商品记录,包括商品号、名称、单价、类别、单位。客户记录包括客户号、客户名、客户地址、联系。一个客户有多个

第 2 页 共 11 页

地址。销售记录有客户、商品、销售数量、订货日期和发货地址。要求: (1)画出E-R图(5分)

(2)根据需要可以增加属性,转换为满足3NF的关系模式(5分) (3)给出主键约束和外键约束(5分) (4)关系名和属性名用汉字

五、优化与并发(每题5分,共10分)

1. 设有二个事务T、U,下面的并发操作是否正确,若不正确请使用时间戳方法解

决其冲突,设Ts(T)T Read(b) Write(b=b-500) U Read(b) Write(b=b+300)

2. 优化中的算法描述:根据索引连接算法描述下列查询操作的实现。(5分)

select a.*,b.*

from employee a ,sales b where a.emp_no = b.sale_id

第 3 页 共 11 页

江西财经大学

06-07第一学期期末考试试卷

试卷代码:03115 授课课时:96

课程名称:数据库系统原理B 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1--5:ADCAB 6—10:BCCCA

二、简答题(回答要点,并简明扼要作解释。每题5分,共20分) 1、简述各种不同的封锁协议及解决的问题

①一级封锁协议是:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。一级封锁协议可以防止丢失修改,并保证事务T是可恢复的。使用一级封锁协议可以解决丢失修改问题。 ②二级封锁协议是:在一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,读完后方可释放S锁。二级封锁协议除防止了丢失修改,还可以进一步防止读“脏”数据。但在二级封锁协议中,由于读完数据后即可释放S锁,所以它不能保证可重复读。

③三级封锁协议是:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议除防止了丢失修改和不读“脏”数据外,还进一步防止了不可重复读。

④上述三级协议的主要区别在于什么操作需要申请封锁,以及何时释放。

评分标准:

(1)写出一级封锁协议 1分 (2)写出二级封锁协议 2分 (3)写出三级封锁协议 1分 (4)写出主要区别 1分

2、分析发生系统故障时数据库可能出现的问题是什么?

(1)一些尚未完成的事务的结果可能已送入物理数据库,从而造成数据库可能处

于不正确的状态。为保证数据一致性,需要清除这些事务对数据库的所有修改。 (2)有些已完成的事务可能有一部分甚至全部留在缓冲区,尚未写回到磁盘上的物理数据库中,系统故障使得这些事务对数据库的修改部分或全部丢失,这也会使数据库处于不一致状态,因此应将这些事务已提交的结果重新写入数据库。

恢复子系统必须在系统重新启动时除需要撤销(UNDO)所有未完成事务外,还需要重做(REDO)所有已提交的事务,以将数据库真正恢复到一致状态。 评分标准:

(1)写出第(1)步 2分

第 4 页 共 11 页

(2)写出第(2)步 2分 (3)写出恢复子系统的UNDO、REDO操作 1分

3、简述参照完整性约束中应注意的几个重要问题。 (1) 外码能否接收空值问题

在实现参照完整性时,提供定义外码列是否允许空值的机制。 (2) 在被参照关系中删除元组的问题

①级联删除(CASCADES)

②受限删除(RESTRICTED)仅当参照关系中没有任何元组的外码值与被参照关系中要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作。

③置空值删除(NULLIFIES)

删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。 (3) 在参照关系中插入元组时的问题

①受限插入 ②递归插入

(4) 修改关系中主码的问题

①不允许修改主码 ②允许修改主码 评分标准:

(1)写出第(1)步 1分 (2)写出第(2)步 2分 (3)写出第(3)步 1分 (4)写出第(4)步 1分

4、简述存取控制机制的主要内容。

(1)定义用户权限,并将用户权限登记到数据字典中。

(2)合法权限检查,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。 评分标准:

(1)写出第⑴步 2分 (2)写出第⑵步 3分

三、编程与关系运算(每题5分,共20分)

设有四个关系

学生表(学号char(5),姓名varchar(10),姓别char(2),所属系varchar(20)) Student(sno,sname,sex,dept) 课程表(课程号char(3),课程名varchar(20),先修课程char(3),学分tinyint,

第 5 页 共 11 页

任课教师char(5))

Course(cno,cname,precno,ceredit,tno)

教师表(教师号char(5),教师名称varchar(10),姓别char(2)) Teacher(tno,tname,sex)

选课表(学号char(5)、课程号char(3),成绩tinyint) SC(sno,cno,grade)

1. 编写一个触发器,当对课程表进行修改时其学分只能在1到5分之间。 create trigger CourseUpdate on Course

for update

as begin

if exists (select * from inserted

where ceredit not between 1 and 5) rollback end

评分标准:

(1)写出create trigger on Course 1分 (2)写出for update 1分

(3)写出

if exists (select * from inserted

where ceredit not between 1 and 5) 2分

(4)写出rollback 1分

2. 编写一个存储过程,依据输入的课程号参数,统计该门课程的平均分和总分,

要求使用游标,不可以使用sum和avg命令。 create procedure SearchSumByCno(@cno char(3)) as begin

declare @sum int,@avg numeric(5,1),@grade tinyint,@count tinyint select @sum=0,@count=0

declare myCursor cursor for

select grade from sc where cno=@cno open myCursor

fetch myCursor into @grade while(@@fetch_status=0) begin

第 6 页 共 11 页

select @sum=@sum+@grade select @count=@count+1 fetch myCursor into @grade end

close myCursor

deallocate myCursor if @count=0

select 0 '总分',0 '平均分' else begin

select @avg=@sum/@count

select @sum '总分', @avg '平均分' end end

评分标准:

(1)定义游标 (2)定义变量 (3)变量赋值 (4)游标的打开、获取和关闭 (5)循环条件

1分 1分 1分 1分 1分

3. 使用关系代数语言查询没有选修‘刘红’老师所授课程的同学学号。

∏sno-(∏sno((SC) ∞∏cno(σtname=‘刘红’ (Teacher)∞Course)))

评分标准:

(1)σtname=’刘红’ (Teacher) 1分 (2)与Course表的连接 1分 (3)与SC表的连接 2分 (4)作差运算 1分

4. 使用元组演算语言查询选修了‘刘红’老师课程的同学姓名、课程名及相应

的成绩。

{t|ヨuヨvヨwヨs(Student(u)∧SC(v) ∧Course(w) ∧Teacher(s) ∧

s[2]= ‘刘红’∧s[1]=w[5]∧w[1]=v[2] ∧u[1]=v[1] ∧ t[1]=u[2] ∧t[2]=w[2] ∧t[3]=v[3])}

第 7 页 共 11 页

评分标准:

(1)写出存在量词 1分 (2)写出连接运算s[1]=w[5]∧w[1]=v[2] ∧u[1]=v[1] 2分 (3)写出选取条件s[2]= ‘刘红’ 1分 (4)写出投影运算t[1]=u[2] ∧t[2]=w[2] ∧t[3]=v[3] 1分

四、综合设计题(共40分)

5. 已知:关系模式R(U,F)中R=ABCDEG

F={BE→G,BD→G, CDE→AB,CD→A, CE→G, BC→A,B→D,C→D}求:

+

(1)(BC)F,R的候选码。(5分)

(2)F的最小函数依赖集,并将模式R用算法分解到无损连接的3NF。(5分) 解:

+

(1)(BC)F=BCADG,R的候选码是:CE

(2)F的最小函数依赖集是:Fmin={B→G,CE→B,C→A,CE→G,B→D,C→D} 将R分解为3NF:P={BDG, BCEG,ACD}

评分标准:

+

(1)(BC)F=BCADG (2分) (2)R的候选码是:CE (3分) (3)F的最小函数依赖集是 (2分) (4)P={BDG, BCEG,ACD} (3分)

6. 设有关系模式R,U={E,G,H,I,J},F={E→I,J→I,I→G,GH→I,IH→EG},

假设有一个分解P={R1(IJ),R2(GHI),R3(IHE)},判断该分解是否保持函数依赖关系,并判断此分解是否具有无损连接性。(10分) 解 :

求出F的最小函数依赖集F’={ E→I,J→I,I→G,GH→I,IH→E}

若P={R1(IJ),R2(GHI),R3(IHE)},FP与F’等价,所以该分解保持函数依赖关系。 又因为: R1 R2 R3 E b11 a1 a1 G a2 a2 a2 H b13 a3 a3 I a4 a4 a4 J a5 b25 b35 所以,可以得到没有一行全为a,所以该分解为有损分解。

第 8 页 共 11 页

评分标准:

(1)写出分解保持函数依赖关系 5分 (2)写出分解为有损分解 5分

7. 对于关系模式R(D,B,I,S,Q,O),设有两个函数依赖集F和G,

F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG}, G={AB→C,D→G,C→A,BE→C,BC→D,CG→B,D→E,CE→G} 试判断F和G是否等价。(5分)

解:因为F G+,G F+ 所以F和G等价

评分标准: (1)F G+ (2分) (2)G F+ (2分) (3)F和G等价 (1分)

8. 数据库设计

设计一个商品销售数据库,此数据库中保存有商品记录,包括商品号、名称、单价、类别、单位。客户记录包括客户号、客户名、客户地址、联系。一个客户有多个地址。销售记录有客户、商品、销售数量、订货日期和发货地址。要求: (1)画出E-R图(5分)

(2)根据需要可以增加属性,转换为满足3NF的关系模式(5分) (3)给出主键约束和外键约束(5分) (4)关系名和属性名用汉字

(1)画出E-R图(5分)

m n 订货 商品

订货日期 销售数量 客户号 客户名 地址 联系方式 商品号 商品名 单价 类别 单位 发货地址 客户 第 9 页 共 11 页

评分标准:

(1)绘出两个实体 2分 (2)绘出一个联系 1分 (3)每个实体、联系的属性 3分

(2)根据需要可以增加属性,转换为满足3NF的关系模式 商品关系(商品号、商品名称、单价、类别、单位) 客户关系(客户号、客户名、联系方式) 客户地址关系(客户号、地址)

订货主关系(订货号、客户号、订货日期、发货地址) 订货明细关系(订货号、商品号、销售数量) 评分标准: 每个关系 1分

(3)给出主键约束和外键约束

商品关系: 主键:商品号 客户关系: 主键:客户号

客户地址关系: 主键:客户号+地址 外键:客户号 订货主关系: 主键:订货号 外键:客户号 订货明细关系: 主键:订货号、商品号

外键1:订货号, 外键2:商品号

评分标准:

(1)给出主键 3分 (2)给出外键 2分

五、优化与并发(每题5分,共10分)

3. 设有二个事务T、U,下面的并发操作是否正确,若不正确请使用时间戳方法解

决其冲突,设Ts(T)T U Read(b) Write(b=b-500)

Read(b) Write(b=b+300) 第 10 页 共 11 页

答:并发操作不正确,可以使用时间戳方法解决其冲突。 数据b 读时标 0 t1 t2 t2 t2 t2 t3 t3 正确的调度: T事务 Read(b) Write(b=b-500) U事务 Read(b) Write(b=b+300) 写时标 0 0 0 0 0 t2 t3 t3 操作 U读b T读b U更新b(不允许,因t1(1)并发操作不正确,可以使用时间戳方法解决其冲突。(1分) (2)时标表(3分) (3)正确的调度(1分)

4. 优化中的算法描述:根据索引连接算法描述下列查询操作的实现。(5分)

select a.*,b.*

from employee a ,sales b where a.emp_no = b.sale_id 解:

(1)首先对sales 按属性cust_id建索引;

(2)取employee表中每一个元组,由cust_id通过sales表的索引查找相应的sales 的元组;

(3)把这些employee元组和sales元组连接起来; (4)重复上述⑵、⑶步骤,直到employee表扫描完。 评分标准:

(1)写出第⑴步 1分 (2)写出第⑵步 2分 (3)写出第⑶步 1分 (4)写出第⑷步 1分

第 11 页 共 11 页

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务