湖南大学-数据库系统-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

相关文章

MySQL字符串转数值的方法全解析

《MySQL字符串转数值的方法全解析》在MySQL开发中,字符串与数值的转换是高频操作,本文从隐式转换原理、显式转换方法、典型场景案例、风险防控四个维度系统梳理,助您精准掌握这一核心技能,需要的朋友可... 目录一、隐式转换:自动但需警惕的&ld编程quo;双刃剑”二、显式转换:三大核心方法详解三、典型场景

SQL 注入攻击(SQL Injection)原理、利用方式与防御策略深度解析

《SQL注入攻击(SQLInjection)原理、利用方式与防御策略深度解析》本文将从SQL注入的基本原理、攻击方式、常见利用手法,到企业级防御方案进行全面讲解,以帮助开发者和安全人员更系统地理解... 目录一、前言二、SQL 注入攻击的基本概念三、SQL 注入常见类型分析1. 基于错误回显的注入(Erro

C++ 多态性实战之何时使用 virtual 和 override的问题解析

《C++多态性实战之何时使用virtual和override的问题解析》在面向对象编程中,多态是一个核心概念,很多开发者在遇到override编译错误时,不清楚是否需要将基类函数声明为virt... 目录C++ 多态性实战:何时使用 virtual 和 override?引言问题场景判断是否需要多态的三个关

Springboot主配置文件解析

《Springboot主配置文件解析》SpringBoot主配置文件application.yml支持多种核心值类型,包括字符串、数字、布尔值等,文章详细介绍了Profile环境配置和加载位置,本文... 目录Profile环境配置配置文件加载位置Springboot主配置文件 application.ym

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文解析C#中的StringSplitOptions枚举

《一文解析C#中的StringSplitOptions枚举》StringSplitOptions是C#中的一个枚举类型,用于控制string.Split()方法分割字符串时的行为,核心作用是处理分割后... 目录C#的StringSplitOptions枚举1.StringSplitOptions枚举的常用

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat