文档库 最新最全的文档下载
当前位置:文档库 › 数据库期末考试试题和答案

数据库期末考试试题和答案

试题一

一、单项选择题

(本大题共20小题,每小题2分,共40分)

在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1. 数据库系统的核心是( B )

A.数据库B.数据库管理系统

C.数据模型D.软件工具

2.下列四项中,不属于数据库系统的特点的是(C )

A.数据结构化B.数据由DBMS统一管理和控制

C.数据冗余度大D.数据独立性高

3.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D )

A.层次模型B.关系模型

C.网状模型D.实体-联系模型

4.数据的物理独立性是指( C )

A.数据库与数据库管理系统相互独立

B.用户程序与数据库管理系统相互独立

C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的

D.应用程序与数据库中数据的逻辑结构是相互独立的

5.要保证数据库的逻辑数据独立性,需要修改的是( A )

A.模式与外模式之间的映象B.模式与内模式之间的映象

C.模式D.三级模式

6.关系数据模型的基本数据结构是(D )

A.树B.图C.索引D.关系

7.有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是( C )

A.车次B.日期

C.车次+日期 D.车次+情况摘要

8.己知关系R和S,R∩S等价于( B )

A. (R-S)-S

B. S-(S-R)

C.(S-R)-R

D. S-(R-S)

9.学校数据库中有学生和宿舍两个关系:

学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号)

假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行( A )

A. 全外联接

B. 左外联接

C. 右外联接

D. 自然联接

10.用下面的T-SQL语句建立一个基本表:

CREATE TABLE Student(Sno CHAR(4) PRIMARY KEY,

Sname CHAR(8) NOT NULL,

Sex CHAR(2),

Age INT)

可以插入到表中的元组是( D )

A. '5021','刘祥',男,21

B. NULL,'刘祥',NULL,21

C. '5021',NULL,男,21

D. '5021','刘祥',NULL,NULL

11. 把对关系SPJ的属性QTY的修改权授予用户李勇的T-SQL语句是( C )

A. GRANT QTY ON SPJ TO '李勇'

B. GRANT UPDATE(QTY) ON SPJ TO '李勇'

C. GRANT UPDATE (QTY) ON SPJ TO 李勇

D. GRANT UPDATE ON SPJ (QTY) TO 李勇

12.图1中( B )是最小关系系统

A B C D

图1

13.关系规范化中的插入操作异常是指 ( D )

A.不该删除的数据被删除B.不该插入的数据被插入

C.应该删除的数据未被删除D.应该插入的数据未被插入

14.在关系数据库设计中,设计关系模式是数据库设计中( A )阶段的任务A.逻辑设计B.物理设计C.需求分析D.概念设计

15.在E-R模型中,如果有3个不同的实体型,3个m:n联系,根据E-R模型转换为关系模型的规则,转换后关系的数目为( C )。

A.4 B.5 C.6 D.7

16.事务的隔离性是指( A )。

A.一个事务内部的操作及使用的数据对并发的其他事务是隔离的

B.事务一旦提交,对数据库的改变是永久的

C.事务中包括的所有操作要么都做,要么都不做

D.事务必须是使数据库从一个一致性状态变到另一个一致性状态

17.数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据是指(C )

A. 数据字典、应用程序、审计档案、数据库后备副本

B.数据字典、应用程序、日志文件、审计档案

C. 日志文件、数据库后备副本

D.数据字典、应用程序、数据库后备副本

18.若事务T对数据对象A加上S锁,则( B )。

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

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

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

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

19. 设有两个事务T1、T2,其并发操作如图2所示,下面评价正确的是( B )

A. 该操作不存在问题

B. 该操作丢失修改

C. 该操作不能重复读

D. 该操作读“脏”数据

T1 T2

①读A=100

②读A=100

③ A=A-5写回

④A=A-8写回

图2

20.以下( D )封锁违反两段锁协议。

A. Slock A … Slock B … Xlock C ………… Unlock A … Unlock B … Unlock C

B. Slock A … Slock B … Xlock C ………… Unlock C … Unlock B … Unlock A

C. Slock A … Slock B … Xlock C ………… Unlock B … Unlock C … Unlock A

D. Sloc k A …Unlock A ……Slock B … Xlock C ………...Unlock B … Unlock C

二、填空题

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

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

1.关系数据模型由关系数据结构、关系操作和关系完整性约束三部分组成。

2.一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的属

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

CREATE UNIQUE INDEX Stusname ON student(Sname)

4.SELECT语句查询条件中的谓词“!=ALL”与运算符NOT IN 等价

5.关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},

则侯选码是A和(B,C) ,R∈AB NF。

6.分E-R图之间的冲突主要有属性冲突、命名冲突、结构冲突三种。

7.事物是DBMS的基本单位,是用户定义的一个数据库操作序列。

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

T2锁住的数据项,T n-1正等待被T n锁住的数据项,且T n正等待被T0锁住的数据项,这种情形称为死锁。

9. 可串行性是并发事务正确性的准则。

三、简答题

(第1、3题3分,第2题4分,共10分)

1.试述关系模型的参照完整性规则?

答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S 的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F 上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。2.试述视图的作用?

(1)视图能够简化用户的操作。(1分)

(2)视图使用户能以多种角度看待同一数据。(1分)

(3)视图对重构数据库提供了一定程度的逻辑独立性。(1分)

(4)视图能够对机密数据提供安全保护。(1分)

3. 登记日志文件时必须遵循什么原则?

登记日志文件时必须遵循两条原则:

(1)登记的次序严格按并发事务执行的时间次序。(1分)

(2)必须先写日志文件,后写数据库。(2分)

四、设计题

( 第1题4分,第2题6分,第3题3分,第4题4分,第5题8分,共25分)

1.设教学数据库中有三个基本表:

学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。

课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。

选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。

有如下SQL查询语句:

SELECT CNO

FROM C

WHERE CNO NOT IN

(SELECT CNO

FROM S,SC

WHERE S.SNO=SC.SNO

AND SNAME='张三');

请完成下列问题:

(1)用汉语句子阐述上述SQL语句的含义;

(2)用等价的关系代数表达式表示上述SQL查询语句。

解:(1)查询张三同学没有选修的课程的课程号。(2分)

(2)πCNO(C)-πCNO (σSNAME='张三' (S)SC) 或

πCNO(C)-πCNO (σSNAME='张三' (S SC)) (2分)

2.设有如图3所示的三个关系。其中各个属性的含义如下:A#(商店代号)、ANAME(商

店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。

图3

试用SQL语言写出下列查询:

(1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。

(2)找出至少供应了代号为’256’的商店所供应的全部商品的其它商店的商店名和所在城市。

解:(1)SELECT A#, ANAME FROM A

WHERE WQTY<=100 OR CITY='长沙'; (2分)

(2)SELECT ANAME,CITY FROM A

WHERE NOT EXISTS

(SELECT * FROM B

WHERE EXISTS

(SELECT * FROM AB AB1

WHERE A#='256' AND B#=B.B#)

AND NOT EXISTS

(SELECT * FROM AB AB2

WHERE A#!='256' AND A#=A.A# AND B#=B.B#)

); (4分)

3. 设有职工基本表:EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示职

工号、姓名、年龄、性别、工资。为每个工资低于1000元的女职工加薪200元,试写出这个操作的SQL语句。

UPDATE EMP

SET SALARY=SALARY+200

WHERE SALARY<1000 AND SEX='女';(3分)

4.设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR_ENO),其属性分别表示车间编号、车间名

和车间主任的职工号。

职工基本表:ERP(ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工资和所在车间的编号。

建立一个有关女车间主任的职工号和姓名的视图,其结构如下:

VIEW6(ENO,ENAME)。试写出创建该视图VIEW6的SQL语句。

参考答案1:

CREATE VIEW VIEW6

AS

SELECT ENO, ENAME FROM EMP

WHERE SEX='女' AND ENO IN

(SELECT MGR_ENO FROM DEPT)

参考答案2:

CREATE VIEW VIEW6

AS

SELECT ENO, ENAME FROM DEPT, EMP

WHERE MGR_ENO=ENO AND SEX='女' (4分)

5. 设有关系R和函数依赖F:

R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。

试求下列问题:

(1)关系R的侯选码是什么?R属于第几范式?并说明理由。(3分)

(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)

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

(1)关系R的候选码是(A,B,C),R∈1NF,因为R中存在非主属性D,E对候选码(A,B,C)的部分函数依赖。(3分)

(2)首先消除部分函数依赖

将关系分解为:

R1(A,B,C) (A,B,C)为候选码,

R1中不存在非平凡的函数依赖

R2(B,C,D,E),(B,C)为候选码,

R2的函数依赖集为:F2={(B,C)→D,D→E}

在关系R2中存在非主属性E对候选码(B,C)的传递函数依赖,所以将R2进一步分解:

R21(B,C,D) ,(B,C)为候选码,

R21的函数依赖集为:F21 = { (B,C)→D }

R22(D,E),D为候选码,

R22的函数依赖集为:F22 = { D→E }

在R1中已不存在非平凡的函数依赖,在R21、R22关系模式中函数依赖的决定因素

均为候选码,所以上述三个关系模式均是BCNF。

五、综合题(15分)

某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。

(1)根据上述语义画出E-R图;(5分)

(2)将该E-R模型转换为关系模型;(5分)

(要求:1:1和1:n的联系进行合并)

(3)指出转换结果中每个关系模式的主码和外码。(5分)

(1)本题的E-R图如下图所示。

(2)转化后的关系模式如下:

工厂(工厂编号,厂名,地址)

产品(产品编号,产品名,规格)

职工(职工号,姓名,工厂编号,聘期,工资)

生产(工厂编号,产品编号,计划数量)

(3)每个关系模式的主码、外码如下:

工厂:主码是工厂编号,无外码;

产品:主码是产品编号,无外码;

职工:主码职工号,外码是工厂编号;

生产:主码是(工厂编号,产品编号),

外码是工厂编号、产品编号。

相关文档
相关文档 最新文档