2021年上半年数据库系统工程师考试

基础知识

● 在 CPU 中,用 (1) 给出将要执行的下条指令在内存中的地址。

(1) A.程序计数器

​ B.指令寄存器

​ C.主存地址寄存器

​ D.状态条件寄存器

参考答案:(1)A

● 以下关于 RISC 和 CISC 计算机的叙述中,正确的是(2)

(2) A.RISC 不采用流水线技术,CISC 采用流水线技术

​ B.RISC 使用复杂的指令,CISC 使用简单的指令

​ C.RISC 采用很少的通用寄存器,CISC 采用很多的通用寄存器

​ D.RISC 采用组合逻辑控制器,CISC 普遍采用微程序控制器

参考答案:(2)D

在RISC中,CPU中通用寄存器数量相当多, 以硬布线控制逻辑为主,不用或少用微码控制。而在CISC中普遍采用微程序控制器。

● 采用 DMA 方式传送数据时,每传送一个数据都需要占用一个(3)

(3) A.指令周期

​ B.总线周期

​ C.存储周期

​ D.机器周期

参考答案:(3)B

在DMA传送数据时要占用系统总线。

● 若磁盘的转速提高一倍,则(4)

(4) A.平均存取时间减半

​ B.平均寻道时间加倍

​ C.转等待时间减半

​ D.数据传输速率加倍

参考答案:(4)C

● 一个栈的输入序列为 12.3.4,5,不可能得到的输出序列是(5)

(5) A.2,3,4,1,

​ B.5.4.1.3.2

​ C.2,3,1,4.5

​ D.1.5.4.3.2

参考答案:(5)B

(6)算法是不稳定的排序算法。

(6) A.简单选择

​ B.冒泡

​ C.直接插入

​ D.归并排序

参考答案:(6)B

不稳定的排序算法主要有以下四种:1、选择排序; 2、快速排序; 3、希尔排序(shell); 4、堆排序。

(7) 是一种先进先出的线性表,只允许在表的一端插入元素,而在表的另一端删除元素。

(7) A.栈

​ B.队列

​ C.串

​ D.树

参考答案:(7)B

● 一颗 5 层的二叉树,其最多有(8)个结点,第 5 层最多有(9)个结点。

(8) A.15 B.16 C.31 D.32

(9) A.15 B.16 C.31 D.32

参考答案:(8)C (9)B

(10) 排序又被称为缩小增量排序,是对直接插入排序方法的改进。

(10) A.简单选择

​ B.冒泡

​ C.快速

​ D.希尔

参考答案:(10)D

● 以下关于计算机安全原则的叙述中,不正确的是(11)

(11)A.在系统设计时,实现安全措施应具有简洁性

​ B.系统的保护机制不应该公开

​ C.用户和程序在操作时应当使用尽可能少的特权

​ D.多用户系统中允许多个用户共享资源的机制应该最小化

参考答案:(11)B

●攻击者使网络中的服务器充斥着大量需要回复的信息,消耗带宽,导致系统停止正常服务或者响应很慢,这种攻击类型属于(12)

(12) A.直注入攻击

​ B.TCP 会话动持

​ C.DoS 攻击

​ D.ARP 欺骗攻击

参考答案:(12)C

● 以下关于蜜罐的叙述中,不正确的是(13)

(13) A.蜜罐对攻击者更有吸引力

​ B.对蜜罐的任何连接都被确定为入侵

​ C.蜜罐计算机中有吸引力的文件使入侵者逗留并留下证据

​ D 蜜罐能够主动发现攻击者

参考答案:(13)D

● 不属于 SQL 注入防范措施的是(14)

(14) A.使用预编译语句,绑定变量

​ B.对用户提交的数据进行严格过滤

​ C.使用安全函数

​ D.使用动态 SQL 语句

参考答案:(14)D

SQL注入其实就是恶意用户通过在表单中填写包含SQL关键字的数据来使数据库执行非常规代码的过程。
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。
2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。
3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。
4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。

● 5 防止重放攻击最有效的方法是(15)

(15) A.对用户密码进行加密存储使用

​ B.使用一次一密的加密方式庭的机学

​ C.强制用户经常修改用户密码

​ D.强制用户设置复杂度高的密码

参考答案:(15)B

● 根据(计算机软件保护条例》的规定,对软件著作权的保护不包括(16)

(16) A.目标程序

​ B.软件文档

​ C.源程序

​ D.开发软件所用的操作方法

参考答案:(16)D

● 甲、乙两公司于 2020 年 7 月 7 日就各自开发的库存管理软件分别申请“宏达”和“鸿达”商标 v 注册,两个库存管理软件相似,甲第一次使用时间为 2019 年 7 月,乙第一次使用时间为 2019年 5 月,此情形下,(17)能获准注册。

(17) A.“宏达”

​ B.“宏达”和“鸿达”均

​ C.由甲、乙协商哪个

​ D.“鸿达”

参考答案:(17)D

● CPU 的速度要远快于打印机的速度,为解决这个速度不匹配的问题,可以使用(18)

(18) A.并行技术

​ B.缓存技术

​ C.虚拟内存技术就微

​ D.交换技术

参考答案:(18)B

● 假设所有的作业同时到达,平均周转时间最短的调度算法是(19)

(19)A.先来先服务

​ B.优先级调度

​ C.短作业优先

​ D.轮转算法

参考答案:(19)C

先来先服务调度算法(FCFS):就是按照各个作业进入系统的自然次序来调度作业。这种调度算法的优点是实现简单,公平。其缺点是没有考虑到系统中各种资源的综合使用情况,往往使短作业的用户不满意,因为短作业等待处理的时间可能比实际运行时间长得多。

短作业优先调度算法(SPF): 就是优先调度并处理短作业,所谓短是指作业的运行时间短。而在作业未投入运行时,并不能知道它实际的运行时间的长短,因此需要用户在提交作业时同时提交作业运行时间的估计值。

时间片轮转调度算法:每个进程被分配一个时间段,称作它的时间片,即该进程允许运行的时间。如果在时间片结束时进程还在运行,则CPU将被剥夺并分配给另一个进程。如果进程在时间片结束前阻塞或结束,则CPU当即进行切换。调度程序所要做的就是维护一张就绪进程列表,当进程用完它的时间片后,它就会被移到队列的末尾。

基于优先级调度算法(HPF):每一个作业规定一个表示该作业优先级别的整数,当需要将新的作业输入并调入内存处理时,优先选择优先级别数最高的作业。
作业周转时间(Ti)=完成时间(Tei)-提交时间(Tsi)
作业平均周转时间(T)=周转时间/作业个数

● 同一进程的多个线程之享的内容不包括(20)

(20) A.地址空间

​ B.栈

​ C.全局变量

​ D.记账信息

参考答案:(20)B

线程共享地址空间,但线程的私有数据、线程栈等又是需要单独保存的。所以,地址空间、全局变量、记账信息都是可共享的。

● 在死锁产生的必要条件中,可以使用(21)方法破坏“不可剥夺条件”。

(21) A.假脱机

​ B.预先静态分配

​ C.强制剥夺资源

​ D.所有资源排序使用

参考答案:(21)C

产生死锁的四个必要条件:

互斥条件:一个资源每次只能被一个进程使用。

请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。

不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。

循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。

这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。

假脱机方法用于破坏互斥条件。有些资源天生不可强制剥夺,因此不能使用强制剥夺资源,否则会导致任务失败。所有资源排序使用可以用来破坏循环等待条件。预先静态分配方法可以破坏“不可剥夺条件”。

● 在程序设计语言中,(22) 表示了构成语言的各个记号和使用者的关系,而语境是指理解和实现程序设计语言的环境,包括(23) 环境和运行环境。

(22)A.语法 B.语义 C.语用 D.词法

(23)A.开发 B.调试 C.测试 D.编译

参考答案:(22)C (23)D

在程序设计语言中,语用表示了构成语言的各个记号和使用者的关系,而语境是指理解和实现程序设计语言的环境,包括编译环境和运行环境。

● 在程序编译过程中,执行类型分析和检查是在(24)阶段。

(24)A.词法分析

​ B.语法分析

​ C.语义分析

​ D.代码优化

参考答案:(24)C

一般的编译程序工作过程包括词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成,以及出错处理和符号表管理,如下图所示。

img

● ISO 软件质量模型由 3 个层次组成,分别是质量特性,质量子特性和最度指标。例如(25)质量子特性属于可靠性质量特性。

(25) A.依从性

​ B.成熟性

​ C.易操作性

​ D.易安装性

参考答案:(25)B

ISO软件质量模型:
软件质量的6大特性:功能性、可靠性、易用性、效率、维护性、可移植性
软件质量的27个子特性:
功能性:适合性、准确性、互操作性、安全性、功能性的依从性
可靠性:成熟性、容错性、可恢复性、可靠性的依从性
易用性:易理解、易学习、易操作、吸引性、可使用性的依从性
效率:时间特性、资源特性、效率的依从性
维护性:易分析性、稳定性、易变更性、易测试性、可维护性的依从性
可移植性:适应性、易安装性、遵循性、易替换性、可移植性的依从性

●在 UML 图中,(26)展现了一组对象以及它们之间的关系,描述了类实例的静态快照。

(26) A.类图

​ B.对象图

​ C.序列图

​ D.状态图

参考答案:(26)B

(27) 强调风险分析,比较适用于庞大、复杂且高风险的系统。

(27) A.瀑布模型

​ B.螺旋模型

​ C.V 模型

​ D.原型化模型

参考答案:(27)B

● 软件能力成熟度模型(CMM)是对软件组织进化阶段的描述,分为5个成熟度级别,其中在(28)级别,说明该组织已经建立了基本的项目管理过程来跟踪成本和进度。

(28) A.可重复级

​ B.已定义级

​ C.已管理级

​ D.优化级

参考答案:(28)A

软件能力成熟度模型(CMM)分为5个等级:

初始级:软件过程的特点是无秩序的,甚至是混乱的,软件处于无章法和步骤可循的状态,或者制订的规范未能覆盖基本的关键过程要求,且执行没有政策、资源方面的保证,那么仍被视为初始级。
可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。焦点集中在软件管理过程上。一个可管理的过程就是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。
定义级:用于管理和工程的软件过程均已文档化、标准化,并已形成整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合、适当修改后的标准软件过程来进行操作。要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。
管理级:软件过程和产品质量有详细的度量报告,软件产品和过程得到了定量的认识和控制。
优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。

●在地址栏中输入 www.abe com,测览器默认的应用层协议是(29)

(29) A.HTTP

​ B.DNS

​ C.TCP

​ D.FTP

参考答案:(29)A

● WLAN 的含义是(30)

(30) A.无线局域网

​ B.无线广域网

​ C.有线网络

​ D.共享网络

参考答案:(30)A

● 防火墙的主要功能不包括(31)。

(31) A.包过滤

​ B.访问控制

​ C.加密认证

​ D.应用层网关

参考答案:(31)A

防火墙的主要功能:包过滤、访问控制、应用层网关等。

●下列协议中,属于安全远程登录协议的是(32)

(32) A.TLS

​ B.TCP

​ C.SSH

​ D.TFTP

参考答案:(32)C

● 数据模型中,唯一标识实体的属性集称为(33)

(33) A.外码

​ B.码

​ C.属性

​ D.元组

参考答案:(33)B

●关系模型中,一组具有相同数据类型的值的集合称为(34)

(34) A.域

​ B.变量

​ C.分量

​ D.元组

参考答案:(34)A

● 相比于文件系统,用数据库系统管理数据,具有(35)的优势。

(35) A.数据冗余高

​ B.数据独立性高

​ C.数据结构化程度低

​ D.数据联系弱

参考答案:(35)B

● 在一个关系表中,一个表的列代表一个(36)

(36) A.关系

​ B.记录

​ C.元组

​ D.属性

参考答案:(36)D

● 如下表所示,有两个关系 E 和 F,若它们经过某一关系运算后的结果为{计算机学院},这一关系运算为(37)

(37)A.E*F

​ B.F*E

​ C.E/F

​ D.F/E

参考答案:(37)C

● 某公司开发系统记录员工基本信息。假设每个员工只在一个部门工作:每个员工必须提供工作和家庭两部电话号码。(38) 不满足 1NF。

(38) A.R1(员工编号,姓名,性别)

​ B.R2(员工编号,姓名,家庭电话,工作电话)

​ C.R3(员工编号,姓名,部门)

​ D.R4(员工编号,姓名,电话{家庭电话,工作电话}

参考答案:(38)D

● 结构化查询语言(SQL)的出现,极大地促进了(39)的应用。

(39) A.层次数据库

​ B.网络数据库

​ C.关系数据库

​ D.文件管理系统

参考答案:(39)C

●有一进口商品数据表 item_info(item_id,item_type,unit_price,item_count),其中 item_id 是自动编号字段,其他属性可以为 NULL 如果用 SQL 语句:INSERT INTO item_info(unit_price, item_count) VALUES (9.99, 150)向数据表中插入元组时,则该元组的 item_type 属性值为(40)

(40) A.NULL

​ B.任意值

​ C.0

​ D.插入失败,不存在该元组

参考答案:(40)A

●原子性、一致性、持久性、(41)是数据库事务的四个特征。

(41) A.只读性

​ B.封装性

​ C.隔离性

​ D.恢复性

参考答案:(41)C

●假设有两个数据库表isurance和epoeer分别记录了某地所有工作人员的社保信息和基本信息:

insurance (id, is valid),各属性分别表示身份证号、社保是否有效,其中 is_ valid=1 表示社保有效,is valid=0 表示社保无效。

employee (id, name, salay, is local),各属性分别表示身份证号、姓名、每月工资,户口是否在当地,其中 is_local=1 表示户口在当地,is local=0 表示户口不在当地。

2021 年农历新年,为防控疫情,鼓励留在工作地过年,决定对社保有效且户口不在当地的人群发放津贴。可筛选出满足补贴发放条件人员的 SQL 语句为(42)

(42) A.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.is_Valid=1

​ B.SELECT * FROM employee, insurance WHERE insurance.is valid= 1 AND employee.is local=0

​ C.SELECT * FROM employee, insurance WHERE insurance.id = employee.id AND insurance.is_valid= 1 AND insurance.is local=0

​ D.SELECT * FROM employee, insurance WHERE insuranceid = employee.id AND insurance.is_valid= 1 AND employee.is local=1

参考答案:(42)C

● 在一个数据库中,如果要赋予用户 userA 可以查询 department 表的权限,应使用语句(43)

(43) A.GRANT SELECT ON department TO userA

​ B.REVOKE SELECT ON department FROM userA

​ C.GRANT SELECT ON department FROM userA WITH GRANT OPTION

​ D.REVOKE SELECT ON department TO userA

参考答案:(43)A

●要从数据库中删除 people 表及其所有数据,以下语句正确的是(44)

(44) A.DELETE table people

​ B.DROP table people

​ C.ERASE table people

​ D.ALTER table people

参考答案:(44)B

●某电影院某日电影入座情况如下表所示。为调整场次,要统计 2021 年 2 月 21 日到场人数总数大于 100 的电影,可满足要求的 SQL 语句是(45)

(45) A.SELECT film,sum(attendance) FROM movie WHERE pdate='20210221' HAVING sum(attendance)> 100
B.SELECT film,sum(attendance) FROM movie WHERE pdate=‘20210221’ AND attendance >100 GROUP BY film
C.SELECT film,sum(attendance) FROM movie WHERE pdate=‘20210221’ GROUP BY film HAVING sum(attendance)> 100
D.SELECT film,sum(attendance) FROM movie WHERE pdate=‘20210221’ AND sum(attendance)>100 GROUP BY film

参考答案:(45)C

● 设有关系模式:选课(学号,课程号,课程名,成绩),其函数依赖集为{课程号+课程名,课程名一>课程号,(学号,课程号)→成绩}。则关于该关系模式,以下说法错误的是(46)。将“选课”分解为两个关系模式: SC (学号,课程号,成绩)和 C(课程号,课程名),则 SC 和 C 最高分别属于(47)。对于关系模式“选课'来说,(学号,课程号)→课程号是特殊的多值依赖,本质上是(48)

(46)A.每个非平凡函数依赖的决定因素都包含码

​ B.不存在非函数依赖的多值依赖

​ C.不存在非主属性对码的部分函数依赖

​ D.不存在非主属性对码的传递函数依赖

(47)A.3NF 和 3NF

​ B.BCNF 和 3NF

​ C.3NF 和 BCNF

​ D.BCNF 和 BCNF

(48)A.非函数依赖的多值依赖

​ B.平凡的多值依赖

​ C.非平凡的函数依赖

​ D.平凡的函数依赖

参考答案:(46)A (47)D (46)D

● 以下关于数据库事务的叙述中,正确的是(49)

(49) A.一个数据库应用程序只能包含一个数据库事务

​ B.一个数据库事务仅包含条 SQL 语句

​ C.一个数据库事务仅包含一个存储过程

​ D.一个数据库事务可以包含一组 SQL 语句

参考答案:(49)D

● 关于模式分解,(50)不是分解前后模式等价性的准则。

(50) A.分解后关系模式要达到最高范式

​ B.分解具有无损连接性

​ C.分解要保持函数依赖

​ D.分解既要保持函数依赖,又要具有无损连接性

参考答案:(50)A

●关系模式 R(U, PD 中,属性集 U=(A,B,C, D, E},函数依赖集 F=(A→BC,C→D,BD→A,AD→E,BD→E}。则(CE)F+=(51)

(51) A. CE

​ B. BCE

​ C.CED

​ D.BCED

参考答案:(51)C

● 以下关于数据库事务的说法中,错误的是(52)

(52) A.数据库事务是恢复和并发控制的基本单位

​ B.数据库事务必须由用户显式地定义

​ C.数据库事务具有 ACID 特性

​ D.COMMIT 和 ROLLBACK 都代表数据库事务的结束

参考答案:(52)B

●下表是某两个事务并发执行时的调度过程,这里不会出现不可重复读的问题,是因为这两个事务都使用了(53);两个事务的并行执行结果是正确的,是因为这两个事务都使用了(54);在执行过程中没有发生死锁,这是因为(55)导致的。

(53)A.三级封锁协议

​ B.二级封锁协议

​ C.两段锁协议

​ D.一次封锁法

(54)A.二级封锁协议

​ B.三级封锁协议

​ C.两段锁协议

​ D.排他锁

(55)A.排他锁

​ B.共享锁

​ C.两段锁协议

​ D.偶然的调度

参考答案:(51)A (52)C (51)D

一级封锁协议:事务T在修改数据对象R之前必须先对其加X锁,直到事务结束才释放。

二级封锁协议: 在一级封锁协议的基础上,事务T在读取R之前先对其加S锁,读完后即可释放S锁。

三级封锁协议:在一级封锁协议的基础上,事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。

一级封锁协议解决了丢失修改,二级封锁协议解决了脏读,三级封锁协议解决了不可重复读。

两段锁可以保证多个事务的并发执行是可串行化的调度。所以答案是C。

两段锁是不能保证死锁的,没有发生是因为这次的调度刚好没有出现而已。所以答案是D。

● 以下关于触发器的说法中,错误的是(56)

(56) A.触发器可以带参数

​ B.触发器不能被应用程序显式调用

​ C.触发器可以关联到基本表

​ D.一个基本表上可以定义多个触发器

参考答案:(56)A

● 在数据库中新建存储过程的关键字是(57)

(57) A.CREATE PROCEDURE

​ B.INSERT PROCEDURE

​ C.CREATE TRIGGER

​ D.INSERT TRIGGER

参考答案:(57)A

● 数据库故障恢复中,根据日志文件进行的撤销操作是(58)

(58) A.REDO

​ B.ROLLBACK

​ C.UNDO

​ D.COMMIT

参考答案:(58)C

● 数据库系统中的运算溢出属于(59)

(59) A.事务故障

​ B.系统故障

​ C.介质故障

​ D.硬件故障

参考答案:(59)A

事务故障是由于程序执行错误而引起事务非预期的、异常终止的故障。它发生在单个事务的局部范围内,实际上就是程序的故障。有的事务故障可以通过事务程序本身发现。

● 以下关于并发调度的说法中,正确的是(60)。

(60) A.以不同串行方式调度执行两个事务,结果都相同

​ B.并发调度结果与某一种串行调度结果相同,是并发调度正确的必要条件

​ C.不满足两段锁协议的并发调度,其结果一定是错误的

​ D.满足两段锁协议的并发调度不会产生死锁

参考答案:(60)B

● 在数据库设计中,下列步骤排序正确的选项是(61)

①需求分析

②物理结构设计

③概念结构设计

④逻辑结构设计

(61) A.①②③④

​ B.③①②④

​ C.①④③②

​ D.①③④②

参考答案:(61)D

● 以下关于数据库设计的说法中,正确的是(62)。

(62) A.在逻辑结构设计阶段,规范化程度越高越好

​ B.逻辑结构设计的结果必须满足 BCNF

​ C.在物理结构设计阶段,聚族可提高特定属性的查询效率

​ D.在物理结构设计阶段,若选择 B+树索引存取方法,关系上定义的索引数越多越好

参考答案:(62)C

● 数据的逻辑独立性由(63)的映射实现。

(63) A.外模式到逻辑模式

​ B.外模式到内模式

​ C.逻辑模式到内模式

​ D.内模式到逻辑模式

参考答案:(63)A

(64)要求关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

(64)A.1NF

​ B.2NF

​ C.3NF

​ D.4NF

参考答案:(64)D

●某公司的数据库在试运行阶段发现 cpu 长时间占用率高于 95%,那么不可能的原因是(65)。在运行一段时间后,由于硬盘故障,该数据库无法运行,这属于(66)。

(65)A.CPU 性能过剩

​ B.应用复杂过高

​ C.查询执行成本过高

​ D.存在大量行锁冲突

(66)A.计算机病毒

​ B.事务内部故障

​ C.系统故障

​ D.介质故障

参考答案:(65)A(66)D

● 以下关于数据库的重组和重构的说法中,正确的是(67)。

(67) A.数据库的重组修改了原设计的逻辑和物理结构

​ B.数据库的重构不修改原设计的逻辑和物理结构

​ C.数据库的重组是指按原设计要求重新安排存储位置、回收垃圾、减少指针链以提高系统性能

​ D.数据库的重构是指按原设计要求重新安持存储位置、回收垃圾、减少指针链等,以提高系统性能

参考答案:(67)C

● 下列选项中,(68) 不属于分布式数据库的优点。

(68) A.可拓展性好

​ B.具有数据分布透明性

​ C.体系结构灵活

​ D.存取结构简单

参考答案:(68)D

● 以下(69)不属于 NoSQL.

(69) A.Cassandra

​ B.MongoDB

​ C.PostgreSQL

​ D.Neo4j

参考答案:(69)C

● 分布式数据库 CAP 理论中的 A 指的是(70)

(70) A.一致性

​ B.可用性

​ C.分区容错

​ D.原子性

参考答案:(70)A

●When we talk about a database, we must differentiate between the database_ (71)_ ,which is the logical design of the database, and the database_ (72) , which is a snapshot of the data in the database at a given instant in time. The concept of a relation corresponds to the programming‐language notion of a variable, while the concept of a relation schema corresponds to the programming‐language notion of type definition. In general, a relation schema consists of a listof(73)and their corresponding domains. The concept of a relation instance corresponds to the programming‐language notion of a value of a (74) . The valueof a given variable may change with time; similarly the contents of a relation instance may change with time as the relation is updated. In contrast, the_ (75) оfa relation does not generally change.

(71)A.schema B.instance C.table D.entity

(72)A.schema B.table C.instance D.entity

(73)A.variable B.attributes C.rows D.notions

(74)A.constant B.variable C.struct D.array

(75)A.table B.schema 5C.instance D.view

参考答案:(71)A(72)B(73)B(74)B(75)B

应用技术

试题一:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某社区蔬菜团购网站,为规范商品收发流程,便于查询客户订单情况,需要开发一个信息系统。请根据下述需求描述完成该系统的数据库设计。
【需求描述】
(1)记录蔬菜供应商的信息,包括供应商编号、地址和一个电话。
(2)记录社区团购点的信息,包括团购点编号、地址和一个电话。
(3)记录客户信息,包括客户姓名和一个电话。客户可以在不同的社区团购点下订单,不直接与蔬菜供应商发生联系。
(4)记录客户订单信息,包括订单编号、团购点编号、客户电话、订单内容和日期。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图1-1所示。

img

图1-1 实体联系图

【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
蔬菜供货商(供货商编号,地址,电话)
社区团购点(团购点编号,地址,电话)
供货(供货商编号,(a))
客户(姓名,客户电话)
订单(订单编号,团购点编号,订单内容,日期,(b))

【问题1】 (6分)
根据问题描述,补充图1-1的实体联系图。

参考答案:

【问题2】 (4分)
补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。

参考答案:

(a):团购点编号。主键为:(供货商编号,团购点编号),外键为:供货商编号,团购点编号。
(b):客户电话。 主键为:订单编号,外键为:团购点编号,客户电话。

【问题3】 (5分)
若社区蔬菜团购网站还兼有代收快递的业务,请增加新的“快递”实体,并给出客户实体和快递实体之间的“收取”联系,对图1进行补充。“快递” 关系模式包括快递编号、客户电话和日期。

参考答案:

试题二:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
为防控新冠疫情,一些公共设施需要定期消毒,管理部门为高效完成工作并记录必要的工作信息,设计了相应的数据库,其中有一个表用来记录公共汽车的消毒情况,表的结构如下:
消毒记录(日期,车牌号,行驶路线,消毒人员工号,消毒人员姓名)
其中车牌号和消毒人员工号唯一,同一辆车保持固定的行驶路线。假设同一人员每天可以负责多辆车的消毒工作。

【问题1】 (6分)
给出消毒记录表中成立且左侧只有一个属性的所有函数依赖关系。题中设计的消毒记录表是否满足2NF?请用100字以内的文字说明原因。

参考答案:
左侧只有一个属性的函数依赖关系有2个,分别为:
车牌号->行驶路线
消毒人员工号->消毒人员姓名
不满足2NF,根据题干可以得到消毒记录表的候选键为(日期,车牌号),由于存在车牌号->行驶路线,属于部分依赖。根据2NF的要求,存在非主属性对码的部分依赖,所以不满足2NF。

【问题2】 (6分)
如果要将消毒记录表规范化为满足3NF,请用100字以内的文字简要说明解决方案,并给出各个新表的主码和外码。

参考答案:
由于消毒记录表不满足2NF,需要将消毒记录表进行拆分成多个表,拆分的表如下:
毒记录1(车牌号,行驶路线)
消毒记录2(消毒人员工号,消毒人员姓名)
消毒记录3(车牌号,日期,消毒人员工号)
由于拆分后的三个表都不存在非主属性对码的部分和传递函数依赖,所以都满足3NF。

【问题3】 (3分)
如果每辆车每日有多次消毒,需要记录每次消毒的消毒时间,在问题2设计结果的基础上,如何在不破坏3NF且不增加冗余的前提下做到?请简单说明方案。

参考答案:
由于每辆车每日有多次消毒记录时间,可以在问题2的基础上增加表:
消毒记录4(车牌号,日期,消毒时间)

试题三:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某竞赛管理系统的部分数据库关系模式如下:
选手: PLAYER(PnO, Phame, Sex, Region, Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话;
竞赛项目: CONTEST(CnO, Chame, Type, Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;
选手参赛: PC(Pno, Cno, City, Rank, Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。
(3)一个选手参加一项竞赛有一个名次和一个积分,名次有4个取值('一','二','三','无' )。另外,竞赛所在城市不能为空。
根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。

【问题1】 (5分)
请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATE TABLE PC(
Pno CHAR(10) REFERENCES(a)(Pno),
Cno CHAR(3) REFERENCES(b)(Cno),
City CHAR(20)(c)
Rank CHAR(20)(d)
Point SMALLINT,
(e);
参考答案:
(a):PLAYER
(b):CONTEST
(c):NOT NULL
(d):CHECK(Rank IN('一','二','三','无'))
【问题2】(6分)
查询所有未参加'Al'类别竞赛的选手,要求输出选手的编号(Pno),查询结果按照选手编号的升序排列。此功能由下面的SQL语句实现,请补全。
SELECT Pno FROM (f)
WHERE Pno (g) (
SELECT (h) FROM PC, Contest
WHERE (i)
(j) Type='Al' )
(k) Pon;
参考答案:
(f):PLAYER
(g):NOT IN
(h):Pno
(i):PC.Cno=CONTEST.Cno
(j):AND
(k):ORDER BY
【问题3】 (4分)
由于某种原因,编号为'E06'的竞赛项目在正式举办前被取消了。而此前系统中已经记录了一些选手的报名参赛情况,因此需要在系统中删除'E06'的竞赛项目记录,以及该竞赛的所有报名参赛纪录。根据问题1在选手参赛表PC上定义的参照完整性约束,此功能可以由下面的SQL语句实现,请补全。
(l)FROM(m)WHERE Cno= ‘E06’;
(n)FROM(o)WHERE Cno= ‘E06’;

参考答案:
(l):DELETE
(g):PC
(h):DELETE
(i):CONTEST

试题四:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某企业网上书城系统的部分关系模式如下:
书籍信息表:books(book_no, book_name, press_no, ISBN, price, sale_type, all_nums)。其中属性含义分别为:书籍编码、书籍名称、出版商编码、ISBN、 销售价格、销售分类、当前库存数量。

书籍销售订单表:orders(order_no, book_no, book_nums, book_price, order_date,amount)。其中属性含义分别为:订单编码、书籍编码、书籍数量、书籍价格、订单日期和总金额。

书籍再购额度表:booklimit(book_no, sale_type, limit_amount)。其中属性含义分别为:书籍编码、销售分类、再购额度;

书籍最低库存表:bookminlevel(book_no, level) ,其中属性含义分别为:书籍编码,书籍最低库存数量;

书籍采购表:bookorders(book_no, order_amount),其中属性含义分别为:书籍编码和采购数量。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)根据书籍销售情况来确定书籍的销售分类:销售数量小于1万的为普通类型,其值为0;1万及以上的为热销类型,其值为1。
(3)系统具备书籍自动补货功能,涉及到的关系模式有:书籍再购额度表、书籍最低库存表、书籍采购表。其业务逻辑是:当某书籍库存小于其最低库存数量时,根据书籍的销售分类以及书籍再购额度表中的再购额度,生成书籍采购表中的采购订单,完成自动补货操作。

【问题1】(5分)
系统定期扫描书籍销售订单表,根据书籍总的销售情况来确定书籍的销售类别。下面是系统中设置某书籍销售类别的存储过程,结束时需显式提交返回。请补全空缺处的代码。

CREATE PROCEDURE UpdateBookSaleType(IN bno varchar(20))
DECLARE
all_nums number(6);
BEGIN
SELECT (a) (book_nums) INTO all_nums FROM orders
WHERE book_no = (b) ;
IF all_nums < (c) THEN
UPDATE books SET sale_type = 0 WHERE book_no = bno;
ELSE
UPDATE books SET sale_type = (d) WHERE book_no = bno;
END IF;
(e) ;
END;

参考答案:
(a)sum
(b)bno
(c)10000
(d)1
(e)commit

【问题2】 (6分)
下面是系统中自动补货功能对应的触发器,请补全空缺处的代码。

CREATE TRIGGER BookOrdersTrigger (f) update of (g) on books
(h)
WHEN (i) <(SELECT level FROM bookminlevel
WHERE bookminlevel.book_no = OLD.book_no)
AND (j) >=(SELECT level FROM bookminlevel
WHERE bookminlevel.book_no = OLD.book_no)
BEGIN
INSERT INTO (k)
(SELECT book_no,limit_amount
FROM booklimit as TMP
WHERE TMP.book_no = OLD.book_no
AND TMP.sale_type = OLD.sale_type);
END;

参考答案:
(f): after
(g): all_nums
(h): for each row
(i): NEW.all_nums
(j): OLD.all_nums
(k): bookorders

【问题3】 (4分)
假设用户1和用户2同时购买同一书籍,对应事务的部分调度序列如表4-1所示(事务中未进行并发控制),其中T0时刻该书籍的库存数量all_nums=500。
img
请说明T4时刻,用户2事务读取到的all_nums数值是多少?
请说明T8时刻,all_nums数据是否出现不一致性问题?如出现,请说明属于哪一种数据不一致性。

参考答案:
T4时刻,用户2事务读取到的all_nums数值是498。
在T8时刻,all_nums数据会出现不一致性的问题,由于用户2事务读到了用户1修改过的all_nums,然后在T7时刻用户1事务回滚了之前对all_nums的修改,把all_nums恢复到了500。最终用户2事务读到的数据是498,读到的是脏数据。所以是属于读脏数据的不一致。

试题五:阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。假设其部分日志文件如表5-1所示。日志记录内容中:CHECKPOINT表示检查点, 表示事务Ti开始执行, 表示事务Ti提交, 表示事务Ti将数据项D的值由V1改为V2,CRASH表明系统发生断电故障。假设各数据项的初始值为:I=3J=6,K=11。 img

【问题1】 (6分)
假设各数据项的初始值为: I=22, J=45, K=9,系统出错恢复后,I、J、K的数值会恢复为多少?

参考答案:
I,J,K的数值会恢复为I=3,J=5,K=9

【问题2】 (4分)
请给出系统恢复时需要重做(Redo)的事务列表和需要撤销(undo)的事务列表。

参考答案:
Redo: T2
Undo:T3

因为在checkpoint这个日志点之前,T1已经完成,T2在检查点之后完成的,T3还没有完成,所以,T2需要重做,T3需要回滚。

【问题3】 (5分)
假设掉电造成磁盘介质损坏,数据库无法启动,请用100字以内的文字简要说明其恢复过程。

参考答案:
(1)重装数据库
(1)装载故障前最近一次的备份和故障前的日志文件副本
(2)按照正常恢复过程执行Undo和Redo恢复。

posted @ 2024-05-22 18:33  王陸  阅读(86)  评论(0编辑  收藏  举报