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

试卷

一、填空题(每题 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.mfbz.cn/a/622106.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ARM据称将开发AI芯片,计划在2025年秋季开始量产

KlipC报道:软银集团下的芯片设计公司ARM将成立一个AI芯片部门,目标在2025年推出首批产品。 ARM是日本软银旗下的公司,成立34年,一直在科技行业中扮演着不可或缺的角色。此次,ARM将承担初期开发成本,预计将…

交易复盘-20240513

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 双成药业 (1)|[9:30]|[3566万]|0.34 中通客车 (1)|[9:43]|[7678万]|0.15 嘉华股份 (2)|[9:30]|[36…

Ubuntu22.04怎么安装cuda11.3

环境: WSL2 Ubuntu22.04 问题描述: Ubuntu22.04怎么安装cuda11.3 之前是11.5 解决方案: 在Ubuntu 22.04上安装CUDA 11.3需要一些步骤,因为CUDA 11.3不是为Ubuntu 22.04官方支持的版本。但是,您仍然可以通过以下步…

机器学习中表格数据预处理

目录 缺失值处理 在dataframe中进行填补 使用模型填补缺失值(随机森林) 异常值 数据无量纲化 中心化 数据归一化 数据标准化 缩放处理 转换数据类型 文本—>数值preprocessing.LabelEncoder:标签专用,能够将分类转换为…

使用Docker+Jar方式部署微服务工程(前后端分离)看着一篇就够了

本篇教程的使用到的技术有springboot、springcloud、Nacos、Docker、Nginx部署前后端分离访问的微服务。 部署一下Nacos 首先我们需要在服务器中(或者本地部署启动一下Nacos),这里我采用服务器的方式进行部署,这里有一点不一样的…

【Web后端】Tomcat简介_安装_解决乱码_idea配置

1.1 简介 tomcat是在oracle公司的ISWDK(lavaServer Web DelevopmentKit)的基础上发展起来的一个优秀的开源的servlet容器tomcat使用java语言编写。运行稳定、可靠、效率高,可以和目前 主流web服务器一起工作(如IIS、Apache、 Nginx)tomcat是Apache软件基金会(Apach…

CSS表格

标准的表格结构 table标签:定义表格 caption标签:定义表格标题,这个标题会居中显示在表格上,一个表格只能定义一个标题 th标签:定义表格的表头,通常成粗体居中表示 tr标签:定义表格的一行 td标…

【八十二】【算法分析与设计】2421. 好路径的数目,928. 尽量减少恶意软件的传播 II,并查集的应用,元素信息绑定下标一起排序,元素通过下标进行绑定

2421. 好路径的数目 给你一棵 n 个节点的树(连通无向无环的图),节点编号从 0 到 n - 1 且恰好有 n - 1 条边。 给你一个长度为 n 下标从 0 开始的整数数组 vals ,分别表示每个节点的值。同时给你一个二维整数数组 edges &#xff…

OS复习笔记ch5-4-2

引言 承接上文我们介绍了信号量机制和应用信号量机制实现的进程同步和互斥,这一节我们将围绕一些经典问题对信号量机制展开更深入地探讨。 读者/写者问题 读者/写者问题与我们之前遇到的问题类型不同,它描述的是: 有读者和写者两组进程&am…

SpringSecurity6集成数据库

本文章对应视频可在B站查看SpringSecurity6对应视频教程,记得三连哦,这对我很重要呢! 温馨提示:视频与文章相辅相成,结合学习效果更强哦! 系列文章链接 1、初识SpringSecurity,认识主流Java权限…

近屿OJAC带你解读:什么是大模型幻觉?

忠实性幻觉也可以细分,分为指令不一致(输出偏离用户指令)、上下文不一致(输出与上下文信息不符)、逻辑不一致三类(推理步骤以及与最终答案之间的不一致)。 具体解析 大模型产生幻觉的原因可能…

Linux 第三十章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

Ubuntu与Windows之间互传文件

Ubuntu与Windows之间互传文件 前言: 使用工具:FTP 客户端软件, FileZilla 下载地址如下:https://www.filezilla.cn/download 1、打开软件 2、建立连接 3、连接信息 4、如果连接不上可能是Ubuntu没有开启FTP 服务,先…

台服dnf局域网搭建,学习用笔记

台服dnf局域网搭建 前置条件虚拟机初始化上传安装脚本以及其他文件至虚拟机密钥publickey.pem客户端配置如果IP地址填写有误,批量修改IP地址 前置条件 安装有vmvarecentos7.6镜像:https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/isos/x86…

01-项目功能,架构设计介绍

稻草快速开发平台 开发背景就是通过此项目介绍使用SpringBoot Vue3两大技术栈开发一个拥有动态权限、路由的前后端分离项目,此项目可以继续完善,成为一个模板为将来快速开发做铺垫。 实现功能 开发流程 通过命令构建前端项目在VSCode中开发&#xff…

JavaScript数字(Number)个数学(Math)对象

目录 前言: Number(数字)对象 前言: nfinity(正负无穷大): NaN(非数字): Number的属性 Number的方法 构造函数 静态方法 实例方法 Math(数学)对象…

阿里天池基于LLM智能问答系统学习赛排到第一名了

阿里天池基于LLM智能问答系统学习赛排到第一名了 0. 引言1. 05-09分数排到第一名了 0. 引言 5.1 假期期间发现阿里天池基于LLM智能问答系统学习赛正好是我工作上用到的技术,就抱着玩一玩的心里挑战了一下。 这个比赛包含了text_comprehension(RAG&…

【Linux】Linux安装JDK

一、卸载Linux自带的JDK #查询已有的JDK rpm -qa | grep jdk ①将查询到的JDK全部卸载掉 #直接复制一整行的JDK名称 yum -y remove java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64 ②卸载完第一个后再次查询 ③继续卸载,卸载完成后再次查询 ④查询…

2024 年中国大学生程序设计竞赛全国邀请赛(郑州)暨第六届CCPC河南省大学生程序 设计竞赛Problem L. Toxel 与 PCPC II

//sort bug下标 遍历dp. //没修负的bug肯定连续 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],dp[n]; signed main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>a>>b;for(int i1;…

高铁列车班组信息宣传投稿我喜欢上了这个好方法

作为高铁列车班组的一名工作人员,我肩负着对外信息宣传的重任。随着高铁列车的快速发展,我们班组不仅需要提供优质的服务,还需要通过媒体向外界传递我们的声音,展示我们的风采。然而,在投稿的过程中,我经历了一段充满挑战和困惑的时光。 起初,我采用传统的邮箱投稿方式,将精心撰…