湖南大学-数据库系统-2017期末考试解析

2024-01-09 12:52

本文主要是介绍湖南大学-数据库系统-2017期末考试解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【写在前面】

这是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 分,非标准答案,根据理解自由发挥)

【最近不考扩展题了,没做】

这篇关于湖南大学-数据库系统-2017期末考试解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/587179

相关文章

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Redis中高并发读写性能的深度解析与优化

《Redis中高并发读写性能的深度解析与优化》Redis作为一款高性能的内存数据库,广泛应用于缓存、消息队列、实时统计等场景,本文将深入探讨Redis的读写并发能力,感兴趣的小伙伴可以了解下... 目录引言一、Redis 并发能力概述1.1 Redis 的读写性能1.2 影响 Redis 并发能力的因素二、

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

利用Python和C++解析gltf文件的示例详解

《利用Python和C++解析gltf文件的示例详解》gltf,全称是GLTransmissionFormat,是一种开放的3D文件格式,Python和C++是两个非常强大的工具,下面我们就来看看如何... 目录什么是gltf文件选择语言的原因安装必要的库解析gltf文件的步骤1. 读取gltf文件2. 提

Java中的runnable 和 callable 区别解析

《Java中的runnable和callable区别解析》Runnable接口用于定义不需要返回结果的任务,而Callable接口可以返回结果并抛出异常,通常与Future结合使用,Runnab... 目录1. Runnable接口1.1 Runnable的定义1.2 Runnable的特点1.3 使用Ru