2018 年上半年数据库系统工程师考试上午真题+下午真题

更新时间:2024-01-16 11:44:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2018 年上半年数据库系统工程师考试真题

上午题+下午题

● 计算机运行过程中,遇到突发事件,要求 CPU 暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为__(1)__,其处理过程中保存现场的目的是__(2)__。

(1)A.阻塞

B.中断

C.动态绑定 D.静态绑定

(2)A.防止丢失数据

B.防止对其他部件造成影啊 C.返回去继续执行原程序 D.为中断处理程序提供数据

● 流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是( )的的倒数。 (3)A.最短流水段操作时间

B.各段流水的操作时间总和 C.最长流水段操作时间

D.流水段数乘以最长流水段操作时间 ● 计算机中机械硬盘的性能指标不包括__(4)__。(4)A.磁盘转速及容量

B.盘片数及磁道数 C.容量及平均寻道时间 D.磁盘转速及平均寻道时间

● 算术表达式采用后缀式表示时不需要使用括号,使用( )就可以方便地进行求值。a-b(c+d 山)(其中,—、+、*表示二元算术运算减、加、乘)的后缓式为( ),

与该表达式等价的语法树为()。

(5)A.队列

B.数组

C.栈

D.广义表

(6)A.a b c d -*+

B. a b c d*+ -

C.ab-c*d+

D.a b c d+*-

(7)A.

● 设有 n 阶三对角矩阵 A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组 B 表示,A 的元素下标从 0 开始,B 的元素下标从 1 开始。已知 A[0,0]存储在 B[1],A[n-1,n-1]存储在 B[3n-2],那么非零元素 A[i,j](0≤ i<n,0≤ j<n,│i-j│≤1)存储在 B[( )]

B.

C.

D.

(8)A. 2i+j-1

B. 2i+j C. 2i+j+1 D. 3i-j+I

● 用哈希表存储元素时,需要进行冲突(碰撞)处理,冲突是指__(9)__。

(9)A.关键字被依次映射到地址编号连续的存储位置

B.关键字不同的元素被映射到相同的存储位置 C.关键字相同的元素被映射到不同的存储位置 D.关键字被映射到哈希表之外的位置

● 对有 n 个结点、e 条边且采用数组表示法(即邻接矩阵存储)的无向图进行深度优先遍历,时间复杂度为( )。 (10)A.O(n)

2

B.O(e) C.O(n+e) D.O(n*e)

● 数字信封技术能够(

2

)。

(11)A.保证数据在传输过程中的安全性

B.隐藏发送者的真实身份

C.对发送者和接收者的身份进行认证证 D.防止交易中的抵赖发生

● 在安全通信中,S 将所发送的信息使用 (12) 进行数字签名,T 收到该消息后可利用__(13)__验证该消息的真实性。 (12)A.S 的公钥

B.S 的私钥 C.T 的公钥 D.T 的私钥

(13)A.S 的公钥

B.S 的私钥

C.T 的公钥 D.T 的私钥

● 在网络安全管理中,加强内防内控可采取的策略有__(14)__ ①控制终端接入数量

②终端访问授权,防止合法终端越权访问 ③加强终端的安全检查与策略管理 ④加强员工上网行为管理与违规审计

(14)A.②③

B.②④

C.①②③④ D.②③④

● 攻击者通过发送一个目的主机已经接收过的报文来达到攻击目的,这种攻击方式属于 __(15)__攻击。 (15)A.重放

B.拒绝服务 C.数据截获 D.数据流分析

● 以下关于计算机软件著作权的叙述中,正确的是__(16)__。

(16)A.非法进行拷贝、发布或更改软件的人被称为软件盗版者

B.《计算机软件保护条例》是国家知识产权局颁布的,用来保护软件著作权人的权益 C.软件著作权属于软件开发者,软件著作权自软件开发完成之日起产生 D.用户购购买了具有版权的软件,则具有对该软件的使用权和复制权 ● 王某是某公司的软件设计师,完成某项软件开发后按公司规定进行软件归档,以下关于该软件的著作权的叙述中,正确的是__(17)__。 (17)A.著作权应由公司和王某共同享有

B.著作权应由公司享有 C.著作权应由王某享有

D.除署名权以外,著作权的其他权利由王某享有

● 假设铁路自动售票系统有 n 个售票终端,该系统为每个售票终端创建一个进程 Pi(i=1,2,…,n)管理车票销售过程。假设 Tj(j=1,2,…,m)単元存放某日某趟车的车票剩余票数,Temp 为 Pi 进程的临时工作单元,x 为某用户户的购票张数。P 进程的工作流程如下下图所示,用 P 操作和 V 操作实现进程间的同步与互斥。初始化时系统应将信号量 S 赋值为__(18)__。图中(a)、(b)和(c)处应分别 (19) 。

(18)A.n-1

B.0 C.1 D.2

(19)A.V(S)、P(S)和 P(S)

B.P(S)、P(S)和 V(S) C.V(S)、V(S)和 P(S) D.P(S)、V(S)和 V(S)

● 若系统正在将__(20)__文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。

(20)A.目录

B.空闲块 C.用户程序 D.用户数据

● I/O 设备管理软件一般分为 4 个层次,如下图所示。图中①②③分别对应( )。

(21)A.设备驱动程序、虚设备管理、与设备无关的系统软件B.

设备驱动程序、与设备无关的系统软件、虚设备管理C.与设备无关的系统软件、中断处理程序、设备驱动程序D.与设备无关的系统软件、设备驱动程序、中断处理程序

● 在互联网中,各种电子媒体按照超链接的方式组织,通常使用用__(22)__来描述超链接信息。

(22)A. HTML

B. XML C. SGML D. VRML

● 在下列机制中,__(23)__是指过程调用和响应调用所需执行的代码在运行时加以结合;而__(24)__是过程调用和响应调用所需执行的代码在编译时加以结合。

(26)A.软件可靠性测试的目的是评估软件系统的可靠性B.

软件可靠性测试前应先确定软件可靠性的目标C.应平衡地考虑对软件开发进度和成本的影响D.应选用适用于所有软件的标准的可靠性测试模型

(23)A.消息传递

B.类型检查 C.静态绑定 D.动态绑定

(24)A.消息传递

B.类型检查 C.静态绑定 D.动态绑定

● 耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合程度不取决于( ) (25)A.调用模块的方式

B.各个模块之间接接口的复杂程度 C.通过接口的信息类型 D.模块提供的功能数

● 以下关于软件可靠性测试的叙述中,错误的是__(26) 。

● 某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续天数,则完成该项目的最少时间为( )天。活动 EH 和 IJ 的松弛时间分别为 (27) 天。

(27)A.17

B.19 C.20 D.22

(28)A.3 和 3

B.3 和 6 C.5 和 3 D.5 和 6

● 下列网络互连设备中,属于物理层的是__(29)__ (29)A.交换机

B.中继器 C.路由器 D.网桥

● 在 地 址 http: //www.dailynews.com.cn/channel/welcome.html 中 , www.dailynews.com.cn 表示__(30)__, welcome.htm 表示__(31)__。

(30)A.协议类型

B.主机

C.网页文件名 D.路径

(31)A.协议类型

B.主机域名 C.网页文件名 D.路径

● 主域名服务器在接收到域名请求后,首先查询的是 (32) 。 (32)A.本地 hosts 文件

B.转发域名服务器 C.本地缓存

D.授权域名服务器

● __(33)__是按用户的观点对数据和信息建模,强调其语义表达功能,易于用户理解。(33)A.关系模型

B.概念数据模型C.网状模型D.面向对象模型

● 假设某企业信息管理系统中的 5 个实体:部门(部门号,部门名,主管,电话),员工(员工号,姓名,岗位号,电话),项目(项目号,名称,负责人),岗位(岗位号,基本工资),亲属(员工号,与员工关系,亲属姓名,联系方式)。该企业有若干个部门,每个部门有若干名员工;每个员工承担的岗位不同其基本工资也不同;每个员工可有多名亲属(如:父亲、母亲等);一个员工可以参加多个项目,每个项目可由多名员工参与。下面__(34)__属于弱实体对强实体的依赖联系。

(34)A.部门与员工的“所属”联系

B.员工与岗位的“担任”联系 C.员工与亲属的“属于”联系 D.员工与项目的“属于”联系 ● DBMS 提供的 DDL 功能不包含__(35)__。

(35)A.安全保密定义功能

B.检索、插入、修改和删除功能 C.数据库的完整性定义功能

D.外模式、模式和和内模式的定义功能

● 以下关系模型的描述不正确的是__(36)__。

(36)A.与网状模型和层次模型相比,关系模型更复杂

B.关系模型是由若干个关系模式组成的集合

C.关系是一个实例,对应于程序设计语言中变量的概念

D.关系模型是采用表格结构来表达实体集以及实体集之间的联系

● 给定关系 R(A,B,C,D)和关系 S(A,C,D,E,F),对其进行自然连接运算 R??S 后的属性列为( )个;与σR.C>S.F(R??S)等价的关系代数表达式为( )。

(37)A.4

B.5 C.6 D.9

(38)A.σ3>9(RxS)

B. π1,2,3,4,8,9(σ1=5∧3=6∧4=7∧3>9(R×S)) C.σ'3'>'9'(R×S)

D. π1,2,3,4,8,9(σ1=5∧3=6∧4=7∧'3'>'9'(R×S))

● 给定教师关系 Teacher(T_no, T name, Dept name, Tel),其中属性 T_no、T_name、

Dept_name 和 Tel 的含义分别为教师号、教师姓名、学院名和电话。用 SQL 创建一个“给定学院名求该学院的教师数”的函数如下:

Create function Dept count(Dept name varchar(20))

( )

Begin

(

)

select count(*)into d count

from Teacher

where Teacher. Dept_name= Dept_name

return d count

end

(39)A.returns integer

B.returns d_count integer C.declare integer

D.declare d_count integer

(40)A.returns integer

B.returns d_count integer C.declare integer

D.declare d_count integer

● 给定关系 R(A,B,C,D,E)与 S(B,C,F,G),那么与表达式π(R??S))等价的 SQL 语句如下: SELECT (

)

FROM R,S

WHERE (

);

2,4,6,7

(σ

2<7

(41)A. R.B, D, F,G

B. R.B, E, S.C, F, G C. R.B, R.D, S.C, F D. R.B, R.C, S.C, F

(42)A. R.B=S.B OR OR R.C=S.C OR R.B< S.G

B. R.B=S.B OR OR R.C=S.C OR R.B< S.C C. R.B=S.B AND R.C=S.B AND R.B

● 若将 Workers 表的插入权限赋予用户 User1,并允许其将该权限授予他人,那么对应的 SQL 语句为“GRANT( ) TABLE Workers TO User1__(43)__;”。

(43)A. INSERT

B. INSERT ON

C. UPDATE D. UPDATE ON (44)A. FOR ALL

B. PUBLIC

C. WITH CHECK OPTION D. WITH GRANT OPTION

● 在 SQL 中,通过使用 COMMIT 和和 ROLLBACK 语句可以结束事务。以下说法正确的是 __(45)__。

(45)A.某事务执行了 ROLLBACK 语句,表示事务正确地执行完毕

B.某事务执行了 ROLLBACK 语句,可将其对数据库的更新写入数据库 C.某事务执行了 ROLLBACK 语句,可将其对数据库的更新撤消

D.某事务执行了 COMIMIIT 语句,其影响可用 ROLLBACK 语句来撤销

● 将满足 3NF 的关系系( )后,可将其规范化为 BCNF。

(46)A.消除非主属性对码的部分函数依赖

B.消除非主属性对码的传递函数依赖

C.消除主属性对码的部分和传递函数依赖 D.消除非平凡且非函数依赖的多值依赖

● 设学生关系模型 Stu(学号,姓名,性别,学院)的主码是学号,成绩关系模型 SC(学号,课程号,成绩)的主码为(学号,课程号),若关系模型 R(学号,姓名,性别,学院,课程号,成绩)的主码为(学号,课程号),则 R 满足__(47)__。

(47)A.1NF

B.2NF C.3NF D.BCNE ● 关系模型 SC(学号,姓名,学院,学院领导,课程号,课程名,成绩),函数依赖集 F ={学号→(姓名,学院,学院领导),学院→学院领导,课程号→课程名,(学号,课程号)→成绩},则关系系 SC 中__(48)__,要满足第二范式,应将 SC 分解为( )。

(48)A.只存在部分依赖

B.只存在传递依赖 C.只存在多值依赖

D.存在部分依赖和传递依赖

(49)A.S(学号,姓名,学院,学院领导),C(课程号,课程名,成绩)

B.S(学号,姓名),D(学院,学院领导),C(课程号,课程名,成绩)

C.S(学号,姓名),D(学院,学院领导),C(课程号,课程名),SC(学号,课 程名,成绩)

D.S(学号,姓名,学院,学院领导),C(课程号,课程名),SC(学号,课程号, 成绩)

● 下列关于函数依赖的叙述中,错误的是( ) (50)A.若 A→B,B→C,则 A→C

B.若 A→B,B→C,则 A→BC C.若 A→BC,则 A→B,A→C D.若 A→BC,则 A→B,B→C

● 数据库的并发操作可能带来的问题包括( ) (51)A.增强数据独立性

B.非授权访问 C.丢失修改

D.增加数据冗余度

● 在数据库事务的四种隔离级别中,不能避免脏读的是( )。 (52)A. Serializable

B. Repeatable read C. Read committed D. Read uncommitted

● 以下对存储过程的叙述中,不正确的是__(53)__。

(53)A.存储过程可以定义变量

B.存储过程是一组为了完成特定功能的 SQL 语句组成的程序

C.存储过程不能嵌套调用

D.存储过程可以一次编译,多次执行

● 下表中两个事务的调度带来的问题是__(54)__。

(54)A.丢失修改

B.读脏数据 C.没有问题 D.不可重复读

● 为了防止一个事务的执行影响其他事务,应该采取__(55)__。

(55)A.索引机制

B.故障恢复 C.并发控制 D.完整性约束

● 解决并发操作带来的数据不一致性一般采用__(56)__ (56)A.封锁

B.恢复 C.授权 D.协商

● 设员工表(员工号,姓名,级别,工资)中,级别增加一级,工资增加 500 元,实现该约束的可行方案是__(57)__。

(57)A.在员工表上定义插入和修改作的触发器

B.在员工表上定义一个函数 C.在员工表上定义一个视图 D.在员工表上定义一个索引

● 以下对数据转储的叙述中,不正确的是( )

(58)A.静态转储在转储期间不允许对数据库进行更新

B.动态转储在转储期间允许对数据库进行读取,但不允许更新 C.海量转储是指每次转储全部数据

D.增量转储是指每次只转储上次转储后更新过的数据

● 设置日志文件的目的不包括__(59)__

(59)A.事务故障恢复

B.系统故障恢复 C.介质故障恢复 D.删除计算机病毒

● 以下对触发器的叙述中,不正确的是__(60)__。

(60)A.触发器可以传递参数

B.触发器是 SQL 语句的集合 C.用户不能调用触发器

D.可以通过触发器来强制实现数据的完整性和一致性

● 需求分析阶段生成的文档中,用来描述企业中各项业务流程的是__(61)__。 (61)A.数据字典

B.数据流图 C.E-R 图 D.关系图

● 下图所示的扩展 E-R 图中,属性“电话”属于( ),在逻辑结构设计中,该图中的( )属性将不会被转换到关系模式中。

(62)A.组合属性

B.派生属性

C.多值属性 D.单值属性

(63)A.性别

B.电话 C.年龄 D.工号

● 下列列描述的因素中,不属于数据库物理设计应该考虑的是__(64)__ (64)A.事务的执行频度

B.使用频繁的查询操作 C.视视图设计 D.索引设计

● 某数据库应用系统在运行过程中,发现随着数据量的不断增加,有部分查询业务和数据更新业务执行耗时越来越长。经分析,这些业务都与表 Table1 有关。假设 Table1 有 30 多个字段,分别为(Key,A1,A2,...Am,B1,B2,...Bn)。执行频度较高的查询业务都只用到 A1,A2,...Am 中的大部分属性,因此,DBA 决定将表 Table1 分解为 Table2(Key,A1,A2,...Am)和 Table3(Key,B1,B2,...Bn)。为了使所有对 Table1 的查询程序不必修改,应该__(65)__;为了使对 Table1 的更新业务能正确执行,应该 (66)__;这样实现了__(67)__。

(65)A.修改所有对 Tabel1 的查询程序

B.创建视图 Table1,为 Ttable2 和 Table3 的自然连接 C.只修改使用 A1,A2,...Am 中属性的程序 D.只修改使用 B1,B2,...Bn 中属性的程序

(66)A.修改所有对 Table1 更新的事务程序

B.创建视图 Table1,为 Table2 和 Table3 的自然连接 C.只修改对 A1,A2,...Am 中属性更新的事务程序 D.只修改对 B1,B2,...Bn 中属性更新的事务程序

(67)A.数据的逻辑独立性

B.数据的物理独立性 C.程序的逻辑独立性 D.程序的物理独立性

● __(68)__不是分布式数据库管理系统应该遵循的准则。 (68)A.本地自治

B.依赖中心结点 C.分片透明 D.位置透明

● E-R 图中的实体集 A、B 之前为 1:*联系,转换为关系模型时,在 B 实体集中增加 A 实体集的标识符作外码;而在面向对象数据模型中,__(69)__。

(69)A.在 B 对象中增加一个引用属性外,对 A 对象不作任何处理

B.在 B 对象中增加一个引用属性外,在 A 对象中增加一组引用属性 C.在 A 对象中增加一组引用属性外,对 B 对象不作任何处理

D.在 A 对象中增加一组引用属性外,在 B 对象中增加一组引用属性

● Redis 是一种 NoSQL 数据库,具体地说,是__(70)__存储数据库。 (70)A.键-值

B.文档 C.图形 D.XML

● A transaction is an action, or a series of actions, carried out by a single user

or ( ), that accesses or changes the contents of the database.

A transaction should possess the four basic or so-called ACID properties: Atomicity. The “all or nothing” property. A transaction is an ( ) unit that is either performed in its entirety or is not performed at all.

Consistency. A transaction must transform the database from one consistent state to another consistent state.

Isolation. Transactions execute independently of one another. In other words, the partial effects of ( ) transactions should not be visible to other transactions. Durability. The effects of a successfully completed (committed)transaction are permanently recorded in the database and must not be lost because of a subsequent failure.

The four properties above, only ( ) property is the responsibility of the concurrency control subsystem to ensure. It is the

responsibility of both

the(

)and the application developers to ensure consistency. To guarantee the

Atomicity and Durability properties after a failure, a log file is needed.

(71)A. application developer

B. all users

C. application program D. DBMS

(72)A.Indivisible

B.permanent C.infrequent D.infinite

(73)A.completed

B.incomplete C.aborted D.committed

(74)A.atomicity

B.consistency C.isolation

D.durability

(75)A.DBMS

B.DBA

C.end user D.DBS

2018 年上半年数据库系统工程师考试下午真题

● 试题一(共 15 分)

阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】

某医疗护理机构为老年人或有护理需求者提供专业护理。现欲开发一基于 Web 的医疗管理系统,以改善医疗护理效率。该系统的主要功能如下:

(1)通用信息查询。客户提交通用信息查询请求,査询通用信息表,返回查询结果。 (2)医生聘用。医生提出应聘/辞职申请,交由主管进行聘用/解聘审批,更新医生表,并给医生反馈聘用/解聘结果;删除解聘医生的出诊安排。

(3)预约处理。医生安排出诊时间,存入医生出诊时间表;根据客户提交的预约查询请求,查询在职医生及其出诊时间等预约所需数据并返回;创建预约,提交预约请求,在预约表中新增预约记录,更新所约医生出诊时间并给医生发送预约通知;给客户反馈预约结果。

(4)药品管理。医生提交处方,根据药品名称从药品数据中查询相关药品库存信息,开出药品,更新对应药品的库存以及预约表中的治疗信息;给医生发送“药品已开出”反馈。(5)报告创建。根据主管提交的报表查询请求(报表类型和时间段),从预约数据、通用信息、药品库存数据、医生以及医生出诊时间中进行查询,生成报表返回给主管。 现采用结构化方法对医疗管理系统进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。

【问题 1】(3 分)

使用说明中的词语,给出图 1-1 中的实体 E1~E3 的名称。 【问题 2】(5 分)

使用说明中的词语,给出图 1-2 中的数据存储 D1~D5 的名称。 【问题 3】(4 分)

使用说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。 【问题 4】(3 分)

使用说明中的词语,说明“预约处理”可以分解为哪些子加工?并说明建模图 1-1和图 1-2 时如何保持数据流图平衡?

● 试题二(共 15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】

某海外代购公司,为扩展公司业务,需要开发一个信息息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。

【需求描述】

(1)记录公司员工信息。员工信息包括工号、身份证号、姓名、性别和一个手机号,工号唯一标识每位员工,员工分为代购员和配送员。

(2)记录采购的商品信息。商品信息包括商品名称、所在超市名称、采购价格、销售价格和商品介绍,系统内部用商品条码唯一标识每种商品。一种商品只在一家超市代购。 (3)记录顾客信息。顾客信息包括顾客真实姓名、身份证号(清关缴税用)、一个手机号和一个收货地址,系统自动生成唯一的顾客编号

(4)记录托运公司信息。托运公司信息包括托运公司名称、电话和地址,系统自动生成唯一的托运公司编号。

(5)顾客登录系统之后,可以下订单购买商品。订单支付成功后,系统记录唯一的支付凭证编号。顾客需要在订单里指定运送方式:空运或海运。

(6)代购员根据顾客的订单在超市采购对应商品,一份订单所含的多个商品可能由多名代购员从不同超市采购。

(7)采购完的商品交由配送员根据顾客订单组合装箱,然后交给托运公司运送。托运公司按顾客订单核对商品名称和数量,然后按顾客的地址进行运送。【概念模型设计】

根据需求阶段收集的信息,设计的实体联系图(不完整)如如图 2-1 所示

【逻辑结构设计】

根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 员工(工号,身份号,姓名,性别,手机号)

商品(条码,商品名称,所在超市名称,采购价格,销售价格,商品介绍) 顾客(编号,姓名,身份证号,手机号,(a))

托运公司(托运公司编号,托运公司名称,电话,地址)

订单(订单 1D,画品条码,顺编号,(b),运送方式,支付凭证编号) 代购(代购 ID,代购员工号,订单 D2,(c))

运送(运送 ID,配送员工号,托运公司编号,订单 ID,发运时间)

【问题 1】(3 分)

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

补充逻辑结构设计结果中的(a)、(b)、(c)三处空缺。 【问题 3】(6 分)

为方便顾客,允许顾客在系统中保存多组收货地址。请根据此需求,增加“顾客地址”弱实体,对图 2-1 进行补充,并修改“运送”关系模式。 ● 试题三(共 15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】

某医院为了更好的为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部

分需求及设计如下: 【需求描述】

(1)患者到医院就诊,需提供本人医保卡或身份证,系统根据医保卡或身份证从外部医保信息库获取患者的其他详细信息,包括医保卡号、身份证号、姓名、性别、民族、出生日期等信息。

(2)医生信息包括医生编号、姓名、性别、出生日期、职称等信息。

(3)通过患者自述、化验结果分析等信息,医生对患者的病情进行诊断,开具处方,并填写病例。病例同时包含诊断和处方信息,包括编号、患者姓名、病情描述、诊断结论、主治医生、药品名称、药品数量、服用剂量等,处方中一般会有多种药品。

(4)病人凭医生开具的处方可在医院购买药品。医院记录药品的条码、名称、价格、生产厂商等信息。

【逻辑结构设计】

根据上述需求,设计出如下关系模式

医生(编号,姓名,性别,出生日期,职称)

患者(身份证号,医保卡号,姓名,性别,民族,出生日期) 药品(条码,名称,价格,生产厂商)

病例(编号,药品条码,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期,服用剂量,药品数量,购买日期)

【问题 1】(5 分)

对关系“患者”,请回答以下问题: (1)给出函数依赖集。 (2)给出所有候选码。

(3)判定属于第几范式,并说明理由。 【问题 2】(7 分)

对关系“病例”,存在如下的数据依赖:

DD={编编号→(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期),编号,药品条码)→→(服用剂量,药品数量,购买日期)}请回答以下问题

(1)该关系模式存在哪些问题?

(2)该关系模式是否属于 4NF?请给给出理由。

(3)如果“病例”不是 4NF,请分解,并指出分解后的关系模式所属范式。分解后的 关系名依次为:病例 1,病例 2,...。 【问题 3】(3 分)

针对【问题 2】的规范化要求,如果设计者分解出的多个关系模式其中中之一如下: 购药(病例编号,药品条码,服用剂量,药品数量,购买日期)

如果医院要求统计每名医生(编号和姓名)每天接诊的患者所购买的各个药品的条码和数量。基于上述设计,实现该统计共需哪几个关系?为提高该统计效率,允许对范式条件放宽要求,请修改“购药”关系模式以优化该统计。

● 试题四(共 15 分)

阅读下列说明,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 【说明】

某汽车租赁公司建立汽车租赁管理系统,其数据库的部分关系模式如下:

用户: USERS( UserId,Name, Balance),各属性分别表示用户编号、姓名、余额;汽车:CARS(CId, Ctype, CPrice,CStatus)各属性分别表示汽车编号、型号、价格(日租金)、状态;

租用记录: BORROWS(BRId, UserId,CId, STime, ETime),各属性分别表示租用编号、用户编号、汽车编号、租用用时间、归还时间;

不良记录:BADS(BId, UserId.BRId, BTime),各属性分别表示不良记录编号、用户编 号、租用编号、不良记录时间。 相关关系模式的属性及说明如下

(1)用户租用汽车时,其用用户表中的余额不能小于 500,否则不能租用。 (2)汽车状态为待租和已租,待租汽车可以被用户租用,已租汽车不能租用。

(3)用户每租用一次汽车,向租用记录中添加一条租用记录,租用时间默认为系统当前时间,归还时间为空值,并将所租汽车状态变为已租。用户还车时,修改归还时间为系统当前时间,并将该汽车状态改为待租。要求用户不能同时租用两辆及以上汽车.(4)租金从租用时间起按日自动扣除.

根据以上描述,回答下列问题题,将 SQL 语句的空缺部分补充完整。

【问题 1】(4 分)

请将下面建立租用记录表的 SQL 语句补充完整,要求定义主码完整性约束和引用完整性约束。

CREATE TABLE BORROWS(

BRID CHAR(20) UserId CHAR(10)

Cld CHAR(10) STime DATETIME

(a) (b)

,

,

(c)

(d)

,

,

ETime DATETIME, );

【问题 2】(4 分)

当归还时间为空值时,表示用户还未还车,系统每天调用事务程序从用户余额中自动扣除当日租金,每个事务修改一条用户记录中的余额值。由用户表上的触发器实现业务:如用户当日余额不足,不扣除当日租金,自动向不良记录表中加入一条记录,记录中的 BId 取值由 UserId+系统当前日期构成, Btime 采用 GETDATE()函数取系统当前时间。补全创建触发器 Bad_TRG 的 SQL 语句。 CREATE TRIGGER Bad_TRG (e) UPDATE

of Balance ON USERS

Referencing new row as nrow

For each row

When nrow.Balance< 0

BEGIN

(f)

//插入不良记录 INSERT INTO BADS

;

BRID,

SELECT CONCAT(BORROWs. UserId, CONVERT(varchar(100),

GETDATE(), 10)), BORROWS UserId, (g)

// CONVERTO 函数将日期型数据改为字符串型

//CONCATO 函数实现字符串拼接

FROM BORROWS

WHERE (h) AND ETime IS NULL;

END

【问题 3】(4 分)

不良记录是按日记录的,因此用户一次租车可能会产生多条不良记录。创建不良记录单视图 BADS_Detail,统计每次租车产生的不良记录租金费用总和大于 200 的记录,属性有 UserId、Name、BRId、CId、 Stime、 Etime 和 total(表示未缴纳租金总和)。补全建视图 BADS Detail 的 SQL 语句。

CREATE VIEW (i) AS

SELECT BADS. UserId, USERS. Name, BADS.BRId,

CARS. Cld, Stime, Etime,

(j)

=BADS.

UserId

GROUP BY BADS. UserId, USERS. Name, BADS.BRID, CARS. CId,

Stime, Etime

HAVING (1) ;

【问题 4】(3 分)

FROM BORROWS BADS. CARS. USERS

WHERE BORROWS.BRId=BADS. BRId

AND BORROWS.Cid=CARS. Cld

AND (k)

AS total

查询租用了型号为“A8”且不良记录次数大于等于 2 的用户,输出用户编号、姓名,

并按用户姓名降序排序输出。 SELECT USERS. UserId, Name FROM USERS,BORROWS, CARS

WHERE USERS. UserId= BORROWS. UserId AND BORROWS.Cid= CARS. CId

AND (m) AND EXISTS( SELECT * FROM BADS

WHERE BADS. UserId=BORROWS.UserId

(n)

GROUP BY UserId ORDER BY (0)

AND

HAVING COUNT(*)>= 2) ;

● 试题五(共 15 分)

阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 【说明】

某超市销售系统的部分关系模式如下

商品表: Commodity(Ccode, Cname, price,qty),其中属性含义分别为:商品编号、商品名称、价格、库存量,有专门的事务保证库存量足够大,销售时无需检测。 销售表: Sale(Sno,Ccode, amount, Stime),其中属性含义分别为:销售编号,商品编号、数量、时间。

其销售业务规则如下:顺客在超市挑选好商品后,带商品到结算处结算付款,结算处有多名结算员使用多台机器进行结算。结算员负责扫顾客购买商品的条码和数量,由系统后台结算程序计算出顺客购买商品的总金额,修改商品表的商品库存量,并将销售信息写入销售表。请根据上述描述,回答以下问题。

【问题 1】(3 分)

假设有两个顾客同时购买同一条码的商品,结算事务修改该商品的库存量(记为数据项 X)部部分的调度如图 5-1 所示。

如果购买前 X 的初值为 10,则上述调度执行完成后,X 的值是多少?属于哪一类不一致性?

【问题 2】(6 分)

引入独占锁指令 Clock()和解锁指令 Unlock(),对【问题 1】中的调度进行重写,要求满足两段锁协议,且事务 T1、T2 首条指令的相对请求时间与【问题 1】中的相同。【问题 3】(6 分)

下面是用 SQL 实现的结算程序,请补全空缺处的代码。

要求在保证销售信息不丢失的前提下,达到最大的系统并发度。

CREATE PROCEDURE buy(IN: CommNo VARCHAR(20), IN: AmountBuy INT)

BEGIN

//输入合法性验证

if(: AmountBuy<1) return-1;

SET TRANSACTION ISOL

LEVEL (a) ;

BEGIN TRANSACTION;

//插入销售记录 INSERT INTO Sale

VALUES(getGUID(),: CommNo, AmountBuy, getDATETIME()); //函数 getGUID():获取唯一值

//函数 getDATETIME():获取当前系统日期时间

if error ∥error 是由 DBMS 提供的上一句 SQL 的执行状态

BEGN

ROLLBACK; return-2;

END

//修改库存数量 UPDATE Commodity

SET

ATION

qty=

WHERE Ccode=: CommNo;

if error

BEGIN

(b)

ROLLBACK;

END

(c)

END

return-3;

本文来源:https://www.bwwdw.com/article/gxdo.html

Top