【数据库原理及应用】期末复习汇总高校期末真题试卷11

news/2024/5/20 22:04:28

试卷

一、填空题(每题 1 分,共10 分)   

1. 数据库管理技术的发展经历了三个阶段:人工管理阶段,文件系统阶段和__________阶段。

2.实体完整性约束规定__________的取值不能为空值。

3. 计算机系统有三类安全性问题,即____________ 、管理安全类和政策法律类。

4. 关系模式规范化考虑数据间的依赖关系,已经提出了多种类型的数据依赖,其中最重要的是函数依赖和___________。

5. DBMS执行查询所花费最主要的代价是______________。

6.查询优化主要包括_____________和物理优化 。

7. ________ 是用来记录事务对数据库的更新操作的文件。

8.数据转储按照每次转储的数据量是否为全部数据,分为海量转储和___________。

9.基本的封锁类型包括共享锁和______________。

10.多个事务并发执行,判定某个并发调度是否正确的依据是看其执行结果是否与某一__________结果相同。

二、选择题(每题 2 分,共 20 分)

1.描述数据库总体逻辑结构特征的是(  )。

A.外模式                      B.模式   

C.内模式                      D.概念模式

2.数据库的内部结构用(   )实现了数据的独立性。

A.物理模式                    B.逻辑模式   

C.三级模式之间的两层映射      D.概念模型

3.以下关于码的说法,错误的是(   )。

A.候选码就是主码,主码就是候选码                    

B.码可以包含一个或者多个属性  

C.码是唯一标识实体的属性集      

D.关系可能有一个以上的候选码

4.关于数据库的存取控制,以下说法正确的是(   )。

A.存取控制机制就是限制所有用户不能改写数据                    

B.强制存取控制规定,主体许可证密级>=客体密级时,主体可以读写相应客体  

C.自主存取控制就是用户可以自由访问数据      

D.存取控制方法包括自主存取控制和强制存取控制

5.以下(   )不属于实现数据库系统安全性的主要技术和方法。

A.存取控制                    B.视图   

C.封锁                        D.审计

6. 关系模式R中的属性全是主属性,则R的最高范式可到达(   )。

A.1NF                         B.2NF   

C.3NF                         D.BCNF

7.数据依赖集F和G,有F+=G+,以下说法正确的是(   )。

A.F和G等价                   B.F和G数据依赖个数相同  

C.F和G完全相同           D.G必定是F的最小覆盖

8.下列关于查询优化的说法,正确的是(  )。

A.关系数据库中,优化的作用不明显                   

B.选择运算尽可能先做是代数优化中最重要的一条准则

C.优化最好由应用程序来完成

D.查询优化包括启发式优化和逻辑优化

9. 关于事务的持续性,以下说法正确的是(   )。

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

B.事务一直运行不能结束

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

D.持续性也叫一致性

10.关于数据库中的死锁,以下说法正确的是(   )。

A.死锁一旦产生,需要重新启动DBMS服务才能解除                   

B.死锁和活锁一样,改变服务策略就能解决

C.两段锁协议可以预防死锁

D.数据库中允许死锁产生,然后诊断解除死锁

三、应用题(共 40 分)   

2. 某“图书读者数据库”Book_Reader_DB,其中有图书BOOK、读者READ和借阅BORROW三个表,经过需求分析,确定其结构为:

图书(书号,类别,出版社,作者,书名,定价,备注);

读者(编号,姓名,单位,性别,电话);

借阅(书号,读者编号,借阅日期)。

在DBMS“SQL SERVER2008R2”上实施的表结构如下,下划线标注的列为主码:

BOOK(B_Number,B_Classification,B_ Publishing,B_Author,B_Name,B_Price,B_Remark);

READER(R_Number,R_Name,R_Department,R_Sex,R_Telephone);

BORROW(B_NumberR_Number,BorrowDate)。

请用关系代数完成以下(1-2)小题。(4分)

(1)查询“软件工程”类图书的书号和书名。(2分)

(2)查询“经济”类且价格在50元以上的图书的书号,书名及价格。(2分)

请用SQL语言完成以下(3-8)小题。(15分)

(3)查询“软件工程”类图书的书号和书名。(2分)

(4)查询“经济”类且价格在50元以上的图书的书号,书名及价格。(2分)

(5)插入一本新书记录:《Android开发案例教程》,编号“201508090226”,价格58元,高等教育出版社,作者是张三。 (2分)

(6)查询没有借阅过图书的所有读者姓名。(3分)

(7)查询“清华大学出版社”出版的各类图书的平均定价。(3分)

(8)查询订购图书最多的出版社及订购图书的数量。(3分)

3. 关系模式R(A,B,C),F={A->B,B->A,B->C,A->C,C->A},请完成以下问题:

(1)R的候选码是什么?(3分)

(2)求F的最小覆盖Fmin。(7分)

4. 现在有两个事务,分别包含下列操作:

事务T1:读B;A=B+2;写回A

事务T2:读A;B=A*2;写回B

若A,B的初值均为3,请完成以下问题,:

(1)若T1,T2并发执行,可能正确的结果是什么?(2分)

(2)请给出一个遵循两段锁协议的并发调度,并给出执行结果。(3分)

四、简答题(10 分)

1.完整性约束条件是指数据库中的数据应该满足的语义约束条件。什么是的参照完整性约束?如果用户操作违背了参照完整性约束,DBMS如何处理?(5分)

2.DBMS发生系统故障时,可能会造成数据库处于不一致状态: 一是未完成事务对数据库的更新可能已写入数据库; 二是已提交事务对数据库的更新可能还留在缓冲区,没来得及写入数据库。请简要描述系统故障的恢复方法。(5分)

五、设计题(20 分)

1. 设计大型系统的概念模型,通常先根据各子系统的需求结果设计子系统分E-R图,再进行合并。合并分E-R图时可能碰到的冲突有哪几类?划分实体与属性的原则是什么?(5分) 

2.某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及 设计如下: 

I.医院医师具有编号, 姓名,科室, 职称, 出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。 

II.患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表 2-1 所示,其中,就诊类型为医师的出诊类型。

表2-1   XX医院门诊挂号单

收银员:13011           时间:2015年2月1日8:58

就诊号

姓名

科室

医师

就诊类型

挂号费

20150201015

叶梦

内科

杨宇明

专家门诊

5元

III.患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 2-2 所示)并生成门诊处方单(如表 2-3 所示):

表2-2  药品库

药品编码

药品名称

类型

库存

货架编号

单位

规格

单价

12007

牛蒡子

中药

51590

B1401

G

0.0340

11090

百部

中药

36950

B1523

G

0.0313

表2-3  XX医院门诊处方单

就诊号

20150201015

病人姓名

叶梦

医师姓名

杨宇明

金额总计

0.65

项目总计

2

收银员

21081

药品编码

药品名称

数量

单位

单价

金额(元)

12007

牛蒡子

10

G

0.0340

0.34

11090

百部

10

G

0.0313

0.31

IV.由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下所示:

1.实体联系图

2.关系模式 

挂号单(就诊号,病患姓名,医师编号,时间,(5) ) 

收银员(编号,姓名,级别) 

医师(编号,姓名,科室,职称,出诊类型,出诊费用) 

门诊处方  (  (6)  ,收银员,时间 )  

处方明细(就诊号,  (7)) 

药品库  (药品编码,,药品名称,(8) )

[问题1]分) 

根据问题描述,填写 图2-1 实体联系图中(1) ~ (4)处联系的类型。 

[问题2]分) 

图 2-1 中还缺少几个联系?请指出每个联系两端的实体名,格式如下:实体 1:实体 2。

例如,收银员与门诊处方之间存在联系,表示为: 

收银员:门诊处方  或  门诊处方:收银员

[问题3]分) 

根据实体联系图 2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空(5)~(8)处,并指出挂号单、门诊处方和处方明细关系模式的主码。

答案

一、填空题(每题 1 分,共10 分)   

1数据库系统

2主属性

3技术安全

4多值依赖

5 I/O代价

6代数优化

7日志文件

8增量转储

9排它锁

10串行

二、选择题(每题 2 分,共 20 分)

1   B

2   C

3   A

4   B

5    C

6   D

7   A

8   B

9   C

10   D

三、应用题(共 40 分)  

1(6分)

A

B

C

D

E

F

a1

1

c1

1

e4

f2

a2

2

c1

2

e3

f3

a3

3

c2

3

e2

f1

a3

3

c2

3

e4

f4

a4

1

c3

1

e4

f2

 

2

(1)(2分) ∏B_Number,B_Name(σ B_Classification=”软件工程”(BOOK))

(2)(2分)∏B_Number,B_Name,B_Price(σ B_Classification=”经济” ^B_Price>=50 (BOOK) ) 

(3)(2分)

select  B_Number,B_Name 

from  BOOK

where  B_Classification=”软件工程”;

(4)(2分)

select  B_Number,B_Name,B_Price 

from  BOOK

where  B_Classification=”经济” and B_Price>=50;

(5)(2分)

insert into BOOK

values(‘201508090226’,NULL,’高等教育出版社’,‘张三’, ‘Android开发案例教程’, 58,NULL,);

(6)(3分)

select R_Name

from READER

where not exists

(select *

from BORROW

where BORROW.R_Number=RADER.R_Number);

(7)(3分)

select  B_Classification ,avg(B_Price)

from  BOOK

where  B_Publishing=’清华大学出版社’

group by B_Classification;

(8)(3分)

select  TOP 1  B_Publishing ,count(*)

from  BOOK

group by  B_Publishing

order by COUNT(*) desc;

3

(1)(3分)

[解] 求得(A)F+=ABC,(B)F+=ABC,(C)F+=ABC,故R(A,B,C)

的候选码为A,B,C。

(2)(7分)

[解]

1. F中各依赖的右部均为单列,满足极小化条件。

2.检验A->B,令G=F-{A->B},求得(A)G+=AC,不包含B,故 A->B不冗余,依上述方法检验知:B->A冗余,B->C不冗余,A->C冗余,C->A不冗余。

3. F中各依赖的左部均为单列,满足极小化条件。

故Fmin={A->B,B->C,C->A}。

注:该题答案不唯一,若改变上述第2步检验顺序,求得Fmin={A->B,B->A,A-C>,C->A}亦为正确答案。

4

(1)(2分)

[解]

串行T1,T2:

A=5,B=10

串行T2,T1:

A=8,B=6

以上均为T1,T2并发执行可能的正确结果。

(2)(3分)

        T1                T2          

  Slock B

  R(B)

  Xlock A

                     SLock A

  A=B+2             wait 

W(A)              wait

Unlock B           wait

Unlock A           wait

                   R(A)

                   Xlock B

B=A*2

W(B)

Unlock A

Unlock B

执行结果为A=5B=10。(注:答案不唯一)

四、简答题(10 分)

(1)

参照完整性约束(2分)

若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应(基本关系RS不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。

违约处理(3分)

视应用情况,DBMS有拒绝、级联和置空三种处理策略。

(2)(5分)

1.   正向扫描日志文件(即从头扫描日志文件),建立两个队列,

重做(REDO) 队列: 在故障发生前已经提交的事务。

这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录

撤销 (Undo)队列:故障发生时尚未完成的事务。

这些事务只有BEGIN TRANSACTION记录,无相应的COMMIT记录

2. 对撤销(Undo)队列事务进行撤销(UNDO)处理。

反向扫描日志文件,对每个UNDO事务的更新操作执行逆操作,即将日志记录中“更新前的值”写入数据库。

3. 对重做(Redo)队列事务进行重做(REDO)处理

正向扫描日志文件,对每个REDO事务重新执行登记的操作,即将日志记录中“更新后的值”写入数据库。

五、设计题(20 分)

1

冲突有哪几类(3分)注:答对大类即可得分

属性冲突:属性域冲突;属性取值单位冲突 。

命名冲突:同名异义,不同意义的对象在不同的局部应用中具有相同的名字;异名同义(一义多名),同一意义的对象在不同的局部应用中具有不同的名字。

结构冲突:同一对象在不同应用中具有不同的抽象;同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同;实体之间的联系在不同局部视图中呈现不同的类型。

划分实体和属性的原则(2分)

(1)属性不能再具有需要描述的性质。即属性必须是不可分的数据项,不能再由另一些属性组成。

(2)属性不能与其他实体具有联系。联系只发生在实体之间。

2

问题1(4分)

(1) 1

(2) *

(3) *

(4) *

问题2(4分)

缺少3个联系,具体如下:

挂号单:收银员

挂号单:医师

挂号单:门诊处方

问题3(7分)

(5)收银员编号

(6)就诊号

(7)药品编码,数量,单价

(8)类型,库存,货架编号,单位,规格,单价

挂号单主码

门诊处方主码

处方明细主码

就诊号

就诊号

就诊号,药品编码


http://www.mrgr.cn/p/04316545

相关文章

数仓安全:数据脱敏技术深度解析

GaussDB (DWS)产品8.1.1版本发布数据脱敏特性,提供指定用户范围内列级敏感数据的脱敏功能,具有灵活、高效、透明、友好等优点,极大地增强产品的数据安全能力。本文分享自华为云社区《GaussDB(DWS)安全管理之数据脱敏原理与使用方法介绍》,作者: VV一笑。 1. 前言适用版本:…

kubernate 基本概念

一 K8S 是什么? K8S 全称:Kubernetes 作用: 用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。 可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的…

delete 表数据,磁盘空间为什么没有被释放?【转】

最近有个上位机获取下位机上报数据的项目,由于上报频率比较频繁且数据量大,导致数据增长过快,磁盘占用多。 为了节约成本,定期进行数据备份,并通过delete删除表记录。 明明已经执行了delete,可表文件的大小却没减小,令人费解 项目中使用Mysql作为数据库,对于表来说,一…

新增分类——后端

实现功能: 代码开发逻辑: 页面发送ajax请求,将新增分类窗口输入的数据以json形式提交到服务端服务端Controller接收页面提交的数据并调用Service将数据进行保存Service调用Mapper操作数据库,保存数据 代码实现: Con…

MySQL变量的声明与使用

set userName 刘德华; SELECT userName : 刘青云; SELECT userName as 读取到的userName变量值; set x5,y7; SELECT x y as 57的结果; set dx0.55,dy2; SELECT dx dy; set result(select dx dy) SELECT result; set cityName1Kabul; SET cityName2Qandahar; SET cityName3…

metabase技术调研

1. 背景与需求 为了让运营团队更直观地获取相关数据,我们计划部署一个BI平台,并尽可能地将其集成在Admin运营平台中。这样,运营团队不仅能查看数据,还能通过图形化界面进行更深入的分析。2. BI 平台介绍 - Metabase 2.1 选型原因 Metabase以其用户友好性、多样化的数据可视…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Slider的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Slider的使用及说明 文章编号:…

Mybatis之Sqlsession、Connection和Transaction三者间的关系

前言 最近在看Mybatis的源码,搜到这篇文章Sqlsession、Connection和Transaction原理与三者间的关系,debug之后发现有不少疑惑,于是按照原文整理了一下,记录下debug中的一些困惑点。 对于我们开发来讲,不管跟任何关系…

Spring Boot2中Swagger3使用

1.依赖引入 <!-- 引入swagger --> <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-ui</artifactId><version>1.7.0</version> </dependency>2.常用注解介绍swagger2 OpenAPI 3…

MSP430学习过程

1. TI 专用ide:CCS 安装和配置参考文章《CCSv9.3安装与搭建msp430F5529LP库函数环境》(其中LP应该是 LaunchPad ——"评估板"的意思) 链接:https://blog.csdn.net/qq_44818024/article/details/117297836

网页根据屏幕宽度请求不同的CSS文件

网页根据屏幕宽度请求不同的CSS文件。 media="only screen and (min-width: 960px)"当屏幕宽度大于960px时请求的CSS文件 media="only screen and (max-width: 960px)"当屏幕宽度小于960px时请求的CSS文件网页根据屏幕宽度请求不同的CSS文件 前言:重在记录…

自定义鼠标设置-中键设置为后退

这个软件能够修改鼠标的很多设置 公司配置的鼠标没有侧边按键 导致没有后退按键可以使用,使阅读代码不够流畅 使用这款软件就能将中间设置为后退,使阅读代码更加流畅 下载网站为 https://www.highrez.co.uk/downloads/XMouseButtonControl.htm 汉化语言包链接为 https://www.hi…

pytorch技术栈

张量&#xff08;Tensors&#xff09;&#xff1a;PyTorch的核心数据结构&#xff0c;用于存储和操作多维数组。 自动微分&#xff08;Autograd&#xff09;&#xff1a;PyTorch的自动微分引擎&#xff0c;可以自动计算梯度&#xff0c;这对于训练神经网络至关重要。 数据加载…

【C++初阶】第十站:vector 中通用函数的模拟实现

目录 vector中的三个重要迭代器 默认成员函数 构造函数(无参构造) 构造函数(函数模板) 构造函数(带有默认参数) size_t int 拷贝构造函数 赋值重载 析构函数 迭代器相关函数 begin和end 容量和大小相关函数 size capacity resize 修改容器内容相关函数 reser…

apisix~jwt-auth插件

在网关开启jwt-auth插件之后,你的网关就具有了jwt解析和校验的功能,主要是校验jwt token的有效性,包含过期时间和签名等。https://apisix.apache.org/docs/apisix/plugins/jwt-auth/支持的签名算法"HS256" "HS512" "RS256" "ES256"…

python教程10-元祖

Python 的元组与列表类似,不同之处在于元组的元素不能修改。因此很少使用 元组使用小括号 ( ),列表使用方括号 [ ] 元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:元祖调用:修改元祖 元组中的元素值是不允许修改的,但我们可以对元组进行…

部署 Sentinel 控制台:实现流量管理和监控

序言 Sentinel 是阿里巴巴开源的一款流量防护与监控平台&#xff0c;它可以帮助开发者有效地管理微服务的流量&#xff0c;实现流量控制、熔断降级、系统负载保护等功能。本文将介绍如何在项目中部署和配置 Sentinel 控制台&#xff0c;实现微服务的流量防护和监控。 一、Sen…

云手机:海外舆情监控的新工具

在数字化时代&#xff0c;海外舆情监控对于企业、品牌和政府机构来说&#xff0c;已经变得至关重要。传统的舆情监控方法往往受限于地域、设备和技术&#xff0c;而云手机的出现&#xff0c;为海外舆情监控带来了全新的解决方案。 一、云手机与海外舆情监控的完美结合 云手机作…

RestTemplate使用

1. 简单介绍 RestTemplate 是 Spring 框架 中的一个工具类,它能让发送 HTTP 消息和处理响应变得简单。RestTemplate 类提供了许多功能,非常适合编写简单的 HTTP 客户端:支持所有标准 HTTP 方法(GET、POST 等)。 能够处理所有标准 MIME Type(JSON、XML、表单等)。 高级 A…

就业班 第三阶段(zabbix) 2401--5.9 day1 普通集zabbix 5.0部署 nginx部署+agent部署

文章目录 环境一、zabbix 5.0 部署1、安装yum源2、安装相关软件3、数据库安装和配置mariaDB数据库mysql57数据库 安装mysql万能卸载mysql代码&#xff1a;启动mysql并初始化4、数据表导入5、修改配置&#xff0c;启动服务6、配置 web GUI7、浏览器访问注意数据加密的选项不要勾…