数据库系统概论期末复习题库(便于打印版)

更新时间:2023-09-11 17:57:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

从给出的答案中选择一个正确的填入对应的空内。

在数据库的非关系模型中,基本层次联系是 B 。 A. 两个记录型以及它们之间的多对多联系 两个记录型以及它们之间的一对多联系 两个记录型之间的多对多的联系 两个记录型之间的一对多的联系 子模式是 C 。 A. 模式的副本 B. 多个模式的集合 C. 模式的逻辑子集 D. A、B和C 在数据库中,产生数据不一致的根本原因是 D 。 A. 数据存储量太大 B. 没有严格数据保护 C. 未对数据进行完整性控制 D. 数据冗余

在关系代数的传统集合运算中,设有关系R和S,运算结果为Q。如果Q中的元组属于R,或者属于S,则Q为对R和S进行 B 运算的结果。如果Q中的元组属于R而不属于S,则Q为 C 运算的结果。如果Q中的元组既属于R又属于S,则Q为 D 运算的结果。

A. 笛卡尔积 B. 并 C. 差 D. 交 A. 笛卡尔积 B. 并 C. 差 D. 交 A. 笛卡尔积 B. 并 C. 差 D. 交 SQL语言具有 B 的功能。

A. 关系规范化、数据操纵、数据控制 数据定义、数据操纵、数据控制 数据定义、关系规范化、数据控制 数据定义、关系规范化、数据操纵 设有三个关系:

学生(学号, 姓名, 性别, 年龄, 系别) S(S#, SN, SEX, AGE, DEPT) 课程(课程号, 课程名) C(C#, CN) 学生选课(学生号, 课程号, 成绩) SC(S#, C#, GREADE)

查询所有比“王华”年龄大的学生姓名、年龄和性别,正确的SELECT语句是 A 。查询选修四门以上课程的学生总成绩(不统计不及格的课程),并按总成绩的降序排列出来,正确的SELECT语句是 B 。 A. SLECLT SN, AGE, SEX FROM S

WHERE AGE>(SELECT AGE FROM S WHERE SN=?王华?); B. SELECT SN, AGE, SEX FROM S

WHERE SN=?王华?;

C. SLECLT SN, AGE, SEX FROM S

WHERE AGE>(SELECT AGE WHERE SN=?王华?); D. SELECT SN, AGE, SEX FROM S

1

WHERE AGE>王华.AGE; A. SLECLT S#, SUM(GRADE) FROM SC

WHERE GRADE>=60 GROUP BY S#

ORDER BY 2 DESC HAVING COUNT(*)>=4

B. SLECLT S#, SUM(GRADE) FROM SC

WHERE GRADE>=60 GROUP BY S#

HAVING COUNT(*)>=4 ORDER BY 2 DESC

C. SLECLT S#, SUM(GRADE) FROM SC

WHERE GRADE>=60 HAVING COUNT(*)>=4 GROUP BY S#

ORDER BY 2 DESC

D. SLECLT S#, SUM(GRADE) FROM SC

WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#

HAVING COUNT(*)>=4

关系数据库规范化是为了解决关系数据库中 A 问题而引入的。 A. 插入、删除异常和数据冗余 B. 提高查询速度 C. 减少数据操作的复杂性 D. 保证数据的安全性和完整性 在关系数据库中,任何二目关系模式的最高范式必定是 D 。 A. 1NF B. 2NF C. 3NF D. BCNF 在关系模式中,若属性A和B存在1:1的联系,则说 C 。 A. A→B B. B→A C. A←→B D. 以上都不是 关系模式R中的属性全部是主属性,则R的最高范式必定是 B 。 A. 2NF B. 3NF C. BCNF D. 4NF E-R图中的联系可以与 C 实体有关。 A. 0个 B. 1个 C. 一个或多个 D. 多个 数据流程图(DFD)是用于描述数据库设计方法中 A 阶段的工具。 A. 需求分析 B. 可行性分析 C. 概念结构设计 D. 物理设计 事务的原子性是指 B 。

A. 事务一旦提交,对数据库的改变是永久的 事务中包括的所有操作要么都做,要么都不做

一个事物内部的操作及使用的数据对并发的其它事务是隔离的 事务必须是使数据库从一个一致性状态变到另一个一致性状态

设有两个事务T1、T2,它们的并发操作如右所示, D 是对其正确的评价。 A. 该操作不存在问题

T1 T2 ① 读A=100 2

A=A*2写回 读A=100 ② ③ ROLLBACK 恢复A=100 B. 该操作丢失数据

C. 该操作不存在重复读 D. 该操作读“脏”数据

若数据库系统在运行中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为 B 。 A. 事务故障 B. 系统故障 C. 介质故障 D. 运行故障 一个数据库系统至少应包括数据、硬件、软件和 B 四种成分,其中软件主要是指 C 。 A. 环境 B. 用户 C. 界面 D. 管理 A. 数据库 B. 操作系统 C. 数据库管理系统 D.文件系统

按要求计算、证明或说明。(30分) 设关系R和S如右图所示,计算: R1=﹁S R2= R-S R S A B C A B C R3= R∪S

b 5 6 a 1 7 R4=R×S

b 3 8 b 3 8 设有关系R(A, B, C),证明:当且仅当函数依赖A→B在Ra 2 4 上成立时,

R(A, B, C) = π1, 2(R) ?π1, 3(R)

已给出关系模式和函数依赖集,指出它们分别是第几范式?并说明理由。 (1) R(X, Y, Z) F={XY→Z} (2) R(X, Y, Z) F={Y→Z, XZ→Y} (3) R(X, Y, Z) F={Y→Z, Y→X, X→YZ} (4) R(X, Y, Z) F={X→Y, X→Z} (5) R(W, X, Y, Z) F={X→Z, WX→Y}

设有函数依赖集F={AB→C, D→EG, C→A, BE→C, BC→D, CG→BD, ACD→B, CE→AG},属性全集U={A, B, C, D, E, G},求(BD)F+。

设有如下关系模式,它们的码均用下划线标出:(20分) 供应者:SUPPLIER(SNO, SNAME, CITY); 零件:PART(PNO, PNAME, WEIGHT); 工程:JOB(JNO, JNAME, CITY);

联系关系:SPJ(SNO, JNO, PNO, QTY); (其中,QTY为数量) 这里,一个供应者可为多个不同工程提供多种不同零件;同一个工程的同一零件可为多个供应者提供。

用SQL和ALPHA语言分别表示下列查询: 查找CITY的值为上海的工程号与名称; 查找给工程J1提供零件的供应者号SNO; 查找给工程J1提供零件P1的供应者号SNO;

查找给上海或武汉的工程提供零件的供应者号SNO; 查找上海供应者不提供P2号零件的工程号JNO。 一个图书借阅管理数据库要求提供下述服务:(15分)

可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。 可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。

当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的

3

出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。

根据以上情况和假设,试作如下设计: 画出满足需求的E-R图。 转换为等价的关系模型结构。

设T1、T2是并行执行的两个事务,并设A的初值为5。 (15分) 如图所示的调度是否为可串行化的?为什么?写出其执行结果。 这两个事务是否都遵循两段锁协议?为什么?

T1 T2 请给出一个对这两个事务调度的实例:它们既遵循SLOCK A 两段锁协议,又会发生死锁。

X=A XLOCK A 答案:

UNLOCK A 等待 XLOCK B · 一、(1) B (2) C (3) D (4) B (5) CB=X+1 SLOCK B UNLOCK B (6) D (7) B (8) A (9) B (10) A 等待 (11) D (12) C (13) B (14) C (15) AA=B+1 UNLOCK A (16) B (17) D (18) B (19) B (20) C

UNLOCK B 二、

R1 R2 R3 R1 1.

A B C A B C A B C A B C A B

a 1 8 b 5 6 b 5 6 b 5 6 a 1

a 3 7 a 2 4 b 3 8 b 5 6 b 3

a 3 8 a 2 4 b 3 8 a 1 b 1 7 a 1 7 b 3 8 b 3 b 1 8 a 2 4 a 1 b 3 7 a 2 4 b 3

2. 证明:∵A→B,则在R中,对于A的一个确定值均有一个B值与之对应

又∵π1, 2(R) ?π1, 3(R) ={R1.A, R1.B, R2.A, R2.C} ∴当R1.A=R2.A时,B值确定,上式等于{A, B, C}

3.(1) R是BCNF。R候选关键字为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选关键字。

(2) R是3NF。R候选关键字为X Y和XZ,R中所有属性都是主属性,不存在非主属性对候选关键字的传递依赖。

(3) R是BCNF。R候选关键字为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部都包含了任一候选关键字,∴R是BCNF。

(4) R是BCNF。R候选关键字为X,而且F中每一个函数依赖的左部包含了候选关键字X。 (5) R是1NF。R候选关键字为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候选关键字的部分函数依赖。 4. 解:设X=BD X(0)=BD

在F中找出左边是BD子集的函数依赖,结果为:D→EG,所以X(1)=X(0)EG=BDEG。显然X(i+1)≠X(i) (i=0)。

在F中继续寻找左边是BDEG子集的函数依赖,但用过的函数依赖不再考虑,其结果是BE

4

C 7 8 7 8 7 8 →C,于是X(2)=X(1)C=BCDEG。显然X(i+1)≠X(i) (i=1)。 在F中寻找左边是BCDEG子集的未用过的函数依赖,其结果是:C→A, BC→D, CG→BD, CE→AG

在这些函数依赖中,未在X(2)中出现过的属性为A,于是X(3)=X(2)A=ABCDEG。这时X(i+1)≠X(i) (i=2),在F中还有未用过的函数依赖,但我们发现X(3)中已包含了属性集U中的全部属性,再计算下去,X(i)也不会增加新属性,计算完毕。 输出结果:(BD)F+=ABCDEG 三、SQL

SELECT JNO, JNAME FROM JOB

WHERE CITY= ?上海?; SELECT SNO FROM SPJ

WHERE JNO= ?J1?; SELECT SNO FROM SPJ

WHERE PNO= ?P1? AND JNO= ?J1?; SELECT SNO FROM SPJ

WHERE JNO IN(SELECT JNO FROM JOB WHERE CITY=?上海? OR CITY= ?武汉?); SELECT JNO FROM JOB

WHERE (?上海?, ?P2?) NOT IN (SELECT CITY, PNO FROM SUPPLIER, PART

WHERE(SNO,PNO) IN(SELECT SNO,PNO FROM SPJ

WHERE JNO=JOB.JNO)); ALPHA

GET W (JOB.JNO, JNAME) : JOB.CITY = ?上海? GET W (SPJ.SNO) : SPJ.JNO = ?J1?

GET W (SPJ.SNO) : SPJ.PNO = ?P1? AND SPJ.JNO = ?J1? RANGE JOB JX

GET W (SPJ.SNO) : ? JX(SPJ.JNO=JX.JNO∧(JX.CITY=?上海?∨JX .CITY= ?武汉?)) RANG SUPPLIER SX

GET W (SPJ.JNO) : ?SX(SPJ.SNO=SX.SNO∧SPJ.PNO≠?P2?∧SX .CITY=?上海?) 四、1.

姓名 单位 借书日期 书号 书名 出版社名 电报编号

m n m 1

借书人 图书 出版社 借阅 出版

借书证号 还书日期 数量 位置 邮编 地址 电话

2. 借书

5

本文来源:https://www.bwwdw.com/article/y11h.html

Top