数据库原理试题A参考答案及评分标准(2009-2010-2) 下载本文

内容发布更新时间 : 2024/7/2 7:21:51星期一 下面是文章的全部内容请认真阅读。

数据库系统原理试题A参考答案及评分标准

(2009 —2010学年第2学期)

一、选择题(共20小题,每小题1分,共20分)

1、A 2、B 3、B 4、C 5、A 6、D 7、C 8、C 9、A 10、B 11、B 12、D 13、B 14、A 15、C 16、B 17、A 18、D 19、A 20、B 二、填空题(共10小题,每小题2分,共20分)

1、属性冲突、结构冲突 2、充分条件,正确的 3、一次封锁法,顺序封锁法 4、数据流程图,数据词典 5、实体完整性,参照完整性 6、关系课程中的课程号的值,NULL 7、日志文件 8、grant select,delete on student to use1 with grant option 9、丢失修改,不能重复读 8、投影,除法 三、简答题(共5小题,每小题4分,共20分) 1、简述概念结构设计的基本步骤。 (1)抽象数据并设计局部视图(1分)

(2)集成局部视图,得到全局概念结构(2分) (3)验证整体概念结构(1分) 2、简述死锁和活锁

如果事务T1封锁了数据A,事务T2封锁了数据B。之后T1又申请封锁数据B,因T2已封锁了B,于是T1等待T2释放B上的锁。接着T2又申请封锁A,因T1已封锁了A,T2也只能等待T1释放A上的锁。这样就出现了T1在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。(2分)

事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求……T2有可能永远等待,这就是活锁的情形 (2分)

注意:可以画图表示

3、数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

数据库的完整性是指数据的正确性和相容性。 数据库的完整性是了为防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓的垃圾进垃圾出所造成的无效操作和错误结果。

而数据库的安全性是保护数据库防止恶意破坏和非法存取。即安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 4、简述数据库系统的三级模式的结构。 (1)模式(也称逻辑模式或概念模式)(2分)

数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求,一个数据库只有一个模式。

(2)外模式(也称子模式或用户模式),外模式是用户与数据库系统的接口,是用户用到的那部分数据的描述。外模式由若干个外部记录类型组成。是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。(1分) (3)内模式(也称存储模式),是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。(1分)

1

5、简述事务的概念及性质。

事务(Transaction)是构成单一逻辑工作单元的操作集合。或事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。(2分) 事务的ACID特性:

(1)、原子性(Atomicity):事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。(0.5分) (2)、一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。(0.5分) (3) 、隔离性(Isolation):一个事务的执行不能被其他事务干扰。(0.5分)

(4) 、持续性(Durability ):一个事务一旦提交,它对数据库中数据的改变就应该是

永久性的。(0.5分)

四、设计题(共3小题,第1小题9分,第2小题18分,第3小题4分,共31分)

对于供应商--零件--工程的四个基本表

供应商: S (s#,sname,status,city) 代码,姓名,状态,供应商所在城市 零件表: P (p#,pname,color,weight,city) 零件代码,零件名,颜色,重量,零件商所在的城市

工程项目表: J (j#,jname,city) 项目代码,项目名,项目所在的城市

供应情况表: SPJ (s#,p#,j#,qty) 供应商代码,零件代码,工程项目代码,供应数量(表示某供应商 供应某种零件 给某工程项目的数量为QTY。) 1、试用关系代数表达下列查询(共3小题,每小题3分,共9分)

(1)求为project(工程)J1 提供part(零件)的supplier(供应商)的号码。

∏s# (σ J#=’J1’ (SPJ))

(2) 求由S1 供应的工程名称。

∏JNAME (σ S#=’S1’ (SPJ)∞J)

(3)求没有使用天津供应商生产的红色零件的工程号JNO。

∏J#(J)-∏J#(∏S#(σ

COLOR=“红”)(P)))

CITY = “天津”)(S)) ∞∏S#,P#,J#(SPJ) ∞ ∏P#(σ

2、试用SQL语句表达下列操作(共6小题,每小题3分,共18分) (1)求所有的供应商号,零件号,项目号对。其中所指的供应商,零件和工程在同一个城市。

SELECT S.S#, P.P#, J.J#

FROM S, P, J

WHERE ( S.CITY = P.CITY AND

P.CITY = J.CITY )

(2)找出工程项目J2使用的各种零件的名称及其数量。

2

SELECT PNAME , sum(QTY )

FROM P ,SPJ WHERE SPJ.J# = ‘J2’ AND SPJ.P# = P.P# GROUP BY P.PNAME

(3)求被供应零件P1 的数量大于供应给工程J1 的任意零件的最大数量的工程号。

SELECT DISTINCT SPJX.J#

FROM SPJ AS SPJX WHERE SPJX.P# = 'P1'

AND QTY >( SELECT MAX ( SPJY.QTY ) FROM SPJ AS SPJY WHERE SPJY.J# ='J1')

(4)根据关系代数公式:∏pname(∏color(σ语句。

)∞P) pname=’TV’(P)

写出SQL

Select x.pname from p x ,p y

where x.color=y.color and y.pname=’TV’

(5)根据S表建立一个视图,要求有s#,sname,city三个属性,并且供应商供应了零件。

Create view sp As

Select s#,sname,city from s where s# in

(select s# from SPJ)

(6)把零件号为P1零件的颜色改成红色。

UPDATE P SET color=’红色’ where P#=’p1’

3、用SQL语句建立以上四个表中两个(S表及SPJ表),要求有必要的完整性控制功能。(共1小题,每小题4分,共4分)

Create table S

(S# char(5) primary key, SNAME char(10), STATUS INT, CITY VARCHAR(20))

create table SPJ

( S# char(5) not null references S(S#) , P# char(5) not null references P(P#), J#char(5) not null references J(J#),

3

QTY int check(QTY > 0) primary key (S#,P#,J#) );

五、综合设计题(共1题,共9分) 五、数据库设计题(共1题,共9分)

学生运动会管理模型:

(1)有若干班级,每个班级包括:班级号、班级名、专业、人数;

(2)每个班级有若干运动员,运动员只能属于一个班,包括:运动员号、姓名、性别、年龄;

(3)有若干比赛项目,包括:项目号、名称、比赛地点; (4)每名运动员可参加多项比赛,每个项目可有多人参加; (5)要求能够公布每个比赛项目的运动员名次与成绩。

要求:

(1) 画出学生运动会管理模型的E-R图(不重要的属性可以不写);(4分) (2) 将ER图转换为关系模型。(5分) 答:(1)

班级 1 拥有 n 运动员 m 名次 n 参加 成绩 项目

(2)

班级(班级号,班级名,专业,人数)

运动员(运动员号,姓名,性别,年龄,班级号) 项目(项目号,名称,比赛地点)

比赛(运动员号,项目号,成绩,名次,得分) 注:答案不唯一,只要合理就可以给分。

4

开课学院: 商学院 拟 定 人: 屈智成 审 核 人:

时 间: 2010.5.13

5