【写在前面】
这是2017年的卷子,复习备考的时候做了并与同学校对了答案。答案仅供参考。这张难度不大,比起前一年的并没有增加什么知识点。这一年好像没有简答题。
一、 单选题(每小题 2 分,共 20 分)
1 、数据库的概念模型独立于( )。
( A )具体的机器和 DBMS ( B ) E-R 图
( C )信息世界(D )现实世界
2 、对关系 R(A,B,C) 和 S(B,C,D) ,下列关系代数表达式不成立的是( )
( A ) π B (R) ⋈ π B , D (S)
( B ) R ∪ S
( C ) π B (R) ∩ π B (S)
( D ) R ⋈ S
3 、如果一个关系 R 中的属性全部都是主属性,则 R 至少可以达到( )。
( A ) 2NF ( B ) 3NF
( C ) BCNF ( D ) 4NF
4 、在 E-R 模型中,如果有 3 个不同的实体集, 3 个多对多的联系, 则应转换为( )个关系模式。
( A ) 3 ( B ) 6 ( C ) 9 (D ) 4
5 、关于死锁,下列说法正确的是( )
( A )死锁是操作系统中的问题,数据库中不存在
( B )数据库中防止死锁的方法是禁止两个用户同时访问数据库
( C )当两个用户竞争相同的资源时不会发生死锁
( D )只有出现并发操作时,才有可能出现死锁
6 、写一个修改到数据库中,与写一个表示这个修改的记录到日志文件中 的操作,应该( )。
【这个知识点老熟人了】
( A )前者先做
( B )由程序员安排
( C )后者先做
( D )由系统决定哪一个先做
7 、查询优化策略中,首先应该做的是()
( A )对数据进行预处理
( B )尽早执行选择运算
( C )尽早执行笛卡尔乘积运算
( D )投影运算
8 、在第一个事务以 S 封锁方式读数据 A 时,第二个事务对数据 A 的读取 方式会遭到失败的是( )。
( A )实现 X 封锁的读
( B )实现 S 封锁的读
( C )不加锁的读
( D )实现意向共享锁的读
9 、视图建立后,在数据字典中存放的是( )。 【这道题挺好的,要注意,有几年没考了】
( A )查询语句
( B )组成视图的表的内容
( C )视图的定义
( D )视图对应的表的定义
10 、设有关系 R ( A, B, C, D ),依赖集 F={A → B, B → C} ,则属性集 BD 关于 F 的闭包 (BD) + F 为( )。
( A ) BD
( B ) BCD
( C ) BC
( D ) CD
【答案】
ABBBD CBACB
二、一个图书借阅管理数据库要求提供下述服务:(共 15 分)
( 1 )可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。
( 2 )可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、 借书日期和还书日期。 这里约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。
( 3 )当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。这里约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。
根据以上情况和假设,试作如下设计:
( 1 )构造满足需求的 E - R 图。( 7 分)
( 2 )转换为恰当的关系模式,并标出主码和外码。( 8 分)
【答案】
2023年,也就是今年的题就跟这道差不多,改了一两个属性而已。所以有时刷刷题还是有点用的(虽然这个题目也很简单)
三、设有如下关系模式(共 10 分)
书店(书店编号,书店名,地址)
图书(书号,书名,定价)
图书馆(馆号,馆名,城市,电话)
图书发行(馆号,书号,书店号,数量)
( 1 )用 SQL 语句查询已发行图书中最贵的图书的书名和定价。( 5 分)
( 2 )写出以下 SQL 语句的含义(查的是什么?)( 5 分)
SELECT 馆名
FROM 图书馆
WHERE 馆号 IN
(SELECT 馆号
FROM 图书发行
WHERE 书号 IN
(SELECT 书号
FROM 图书
WHERE 书名=’数据库系统概念’));
【答案】
(1)我用的嵌套查询,方法应该不止一种
(2)查询藏有已发行图书《数据库系统概念》的图书馆的馆名
四、(共 15 分)
( 1 )设有关系模式 R ( X, Y, Z ),依赖集 F={XY → Z, XZ → Y, Y → Z} ,判断
R 最高满足第几范式并说明理由。( 8 分)
( 2 )设关系模式 R ( A, B, C ),其关系 r 如下表所示。判断 A → B, BC → A,
B → A 各自在 r 上是否成立,并说明理由。( 7 分)
【答案】
(1)3NF;主码XY,XZ,不存在非主属性,故至少有3NF。但是Y→Z,决定因素不含码,故不能到BCNF。
这道题在前一年的2016考题中考过了,思路一样的,所以说这个模式那几年很流行。
(2)A→B 成立;BC→A 不成立;B→A 不成立
五、举例说明连接操作的排序-合并实现方法(10 分)
【答案】
《数据库系统概论》第6版 书P305
六、并发
下图中的事务是否为冲突可串行化?说明理由。如果是,请给出一 个等价的串行调度。(10 分)
【答案】
显然这是无法交换的,不论T1还是T2谁在前。
如果试图交换T1在前,对于B的读和写是互斥的,不可能交换。
如果试图交换T2在前,则会遇到对于A的读写冲突。
七、恢复
系统出现故障时,恢复子系统将根据事务的不同状态采取不同的恢复策略。说明下图中 T 1 ~T 5 五个事务对应的恢复策略(无操作,REDO 或 UNDO ),并说明理由( 10 分)
这种题是前几年的老熟人了,不过从今年(2023)开始对恢复的考察开始改了不用这种无脑的方法了。
【答案】
八、
在学习了关系数据库以后,你觉得它主要的好处是什么?它又有哪些缺陷导致它无法胜任某些应用?(10 分,非标准答案,根据理解自由发挥)
【最近不考扩展题了,没做】