数据库期末考试复习试题与答案 下载本文

19. 设有两个事务T1、T2,其并发操作如图1所示,下面评价正确的是( ) A. 该操作不存在问题 B. 该操作丢失修改

C. 修改该操作不能重复读 D. 该操作读“脏”数据

T1 T2 read(A)

read(B)

sum=A+B

read(A)

A=A*2 write(A)

read(A)

read(B) sum=A+B write(A+B)

图2

20. 已知事务T1的封锁序列为:LOCK S(A)…LOCK S(B)…LOCK X(C)

…UNLOCK(B) …UNLOCK (A) …UNLOCK (C)

事务T2的封锁序列为:LOCK S(A) …UNLOCK (A) …LOCK S(B)

…LOCK X(C) …UNLOCK (C) …UNLOCK (B)

则遵守两段封锁协议的事务是( ) A.T1 B.T2 C.T1和T2 D.没有

(本大题共10小题,每小题1分,共10分)

请在每小题的空格中填上正确答案。错填、不填均无分。

1. 数据库系统 2. 完整性约束 3. CLUSTER INDEX 4. IN 三 6. 聚集 7. 死锁 8. 物理 9. 封锁 10. 系统故障

B.事务T可以读A但不能修改A,其它事务能对A加S锁和X锁。

C.事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X 锁。

D.事务T可以读A和修改A,其它事务能对A加S锁和X锁。

得 分 二、填空题

5.

1. 数据管理经历了人工管理、文件系统、 三个阶段。

2. 数据模型由数据结构、数据操作和 三部分组成。

3. 在Student表的Sname列上建立一个聚簇索引的SQL语句为:

CREATE Stusname ON student(Sname)

4. SELECT语句查询条件中的谓词“=ANY”与运算符 等价。

5. 关系模式R({A,B,C},{(A,C)→B,(A,B)→C,B→C})最高可达到第 范

式。

6. 数据抽象主要有分类和 两种。

7. 存在一个等待事务集{T0,T1,…,Tn},其中T0正等待被T1锁住的数据项,

T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的数据项,且Tn正等待被T0锁住的数据项,这种情形称为 。 8. “为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数

据库设计中的 设计阶段。

9. 并发控制的主要方法是 机制。

10. 故障分为事务故障、 和介质故障三种。

得 分 三、简答题

(本大题共3小题,每小题5分,共15分)

1. 简述等值连接与自然连接的区别和联系。

: 连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广

义笛卡尔积中选取A,B属性值相等的那些元组,即等值连接为:R∞S={trts| tr∈R∧ts∈S∧tr[A]=ts[B]}

A=B

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

2. 说明视图与基本表的区别和联系? 3. 简述事务的特性。

事务具有四个特性,即ACID特性: (1)原子性:事务中包括的所有操作要么都做,要么都不做。 (2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状

态。

(3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔

离的。

(4)持续性:事务一旦提交,对数据库的改变是永久的。

得 分 四、设计题

(第1题20分,第2题10分,共30分)

1. 设有一个工程供应数据库系统,包括如下四个关系模式:

? S(Sno,Sname, Status,City); ? P(Pno,Pname,Color,Weight); ? J(Jno,Jname,City);

? SPJ(Sno,Pno,Jno,Qty);

供应商表S由供应商号、供应商名、状态、城市组成; 零件表P 由零件号、零件名、颜色、重量组成; 工程项目表J由项目号、项目名、城市组成;

供应情况表SPJ由供应商号、零件号、项目号、供应数量组成; (1)用关系代数查询没有使用天津供应商生产的红色零件的工程号;(3分)

(2) 用关系代数查询至少使用了供应商S1所供应的全部零件的工程号JNO; (3分)

(3)用ALPHA语言查询供应工程J1零件为红色的供应商号SNO;(2分)

(4)用T-SQL语句建立“供应商”S表(主码必须定义);(2分) CREATE TABLE S (Sno CHAR(6) PRIMARY KEY, Sname CHAR(10), Status INT, City CHAR(20));

(5)用SQL查询工程J1使用的各种零件的名称和使用数量;(3分)

SELECT Pname,TotalQty FROM (SELECT Pno,SUM(Qty) TotalQty FROM SPJ

WHERE Jno='J1' GROUP BY Pno) X,P WHERE P.Pno=X.Pno; 6)用SQL查询没有使用天津供应商生产的零件的工程号;(3分)

SELECT Jno FROM J WHERE Jno NOT IN (SELECT Jno FROM SPJ WHERE Sno

IN (SELECT Sno FROM S WHERE City='天津')); (7)用SQL语句将全部红色零件改为蓝色;(2分) UPDATE P SET Color='蓝' WHERE Color='红';

(8)用SQL语句将(S2,P4,J6,400)插入供应情况关系。(2分)

INSERT INTO SPJ VALUES('S2','P4','J6',400)

2. 设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),

(S#,CNAME)为候选码,设关系中有如下函数依赖: (S#,CNAME)→SNAME,SDEPT,MNAME

S#→SNAME,SDEPT,MNAME (S#,CNAME)→GRADE SDEPT→MNAME 试求下列问题:

(1)关系STUDENT属于第几范式?(3分)

(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为巧

BCNF。(7分)

要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。