1、全国计算机等级考试四级笔试真题数据库工程师考试时间120分钟,满分100分一、 选择题(1)(20)每题1分,(21)(30)每题2分,共40分)二、 (1)、在数据库应用系统的需求分析阶段,需要考虑数据的安全性规定。下列不属于数据安全性需求分析内容的是( )A、分析数据的安全性需求,以拟定每个关系表定义的数据约束可以满足使用规定全性需求分析内容的是B、分析全局用户对数据的存取需求,以拟定没个关系表上定义的数据约束可以满足使用规定C、分析特殊用户对数据的存取需求,以保证数据库的安全控制策略可以满足其使用规定D、分析各类用户对数据的存取需求,以拟定各类用户可以操作的数据(2)有学生表(学号, 姓
2、名, 性别, 身份证号, 出生日期, 所在系号),在此表上使用如下语句建立索引:CREATE NONCLUSTERED INDEX Idx_Name ON学生表(姓名);此索引被称为 A)非聚集散列索引 B)非聚集辅索引 C)非聚集顺序索引 D)非聚集主索引(3)在数据库物理设计阶段,使用聚集文献组织数据可以提高一些查询的效率。下列关于聚集文献和聚集键的描述错误的是 A)聚集文献将不同关系表中有关联关系的记录存储在一起,以减少系统的物理I/O次数 B)聚集键应当选用频繁用于进行自然连接的属性或属性组 C)聚集文献可以提高某些连接查询的速度,但是它也许导致其他类型的查询解决变慢D)关系表中某个属
3、性的数据反复率越高,越适合作聚集键(4)己知有描述科研项目及负责教师的关系模式:科研项目(项目号, 项目名称, 经费, 负责教师号, 姓名, 职称),该关系模式满足函数依赖集:F=项目号项目名称, 项目号经费, 项目号负责教师号, 负责教师号姓名, 负责教师号职称。下列分解中最合理的符合3NF的关系模式是A)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称) B)科研项目(项目号, 项目名称, 经费),教师(教师号, 姓名, 职称, 项目号) C)科研项目(项目号, 项目名称, 经费, 负责教师号),教师(教师号, 姓名, 职称) D)科研项目(项目号, 项目名称, 经费)
4、,项目_教师(项目号, 负责教师号), 教师(教师号, 姓名, 职称)(5)在IDEF0图中矩形框代表功能活动。关于连接到矩形框4条边上的箭头的语义,下列说法错误的是 A)左边的箭头表达完毕功能活动需要的数据,它强调被活动消耗或变换的内容 B)上边的箭头表达影响这个活动执行的事件或约束,它强调被活动变换的内容 C)右边的箭头表达实行该活动的手段或完毕活动需要的资源,它强调如何做D)下边的箭头表达实行该活动的手段或完毕活动需要的资源,它强调如何做(6)数据库的运营管理与维护重要由数据库管理员负责,工作内容重要涉及平常维护、系统监控与分析、性能优化等。下列关于数据库管理员工作内容的说法错误的是A)
5、数据库的备份和恢复是重要的维护工作,数据库管理员应根据不同的应用规定制定不同的备份计划,在备份计划中应包含备份的时间、周期、备份方式和备份内容等B)性能优化是数据库管理员的重要工作,性能优化的重要手段有查询优化、索引调整、模式调整等,这些工作一般无需开发人员参与C)数据库管理员应监控数据库中各种锁的使用情况,并解决也许出现的死锁情况,若发现问题应及时告知相关人员D)数据库管理员需要定期检查存储空间使用情况并根据需求扩展存储空间,这些工作一般无需最终用户参与(7)若系统中存在4个等待事务T0、T1、T2、T3,其中T0正等待被T1锁住的数据项Al,T1正等待被T2锁住的数据项A2,T2正等待被T
6、3锁住的数据项A3,T3正等待被T0锁住的数据项A0。根据上述描述,系统所处的状态是A)活锁 B)死锁 C)封锁 D)正常(8)在SQL Server 2023中,某数据库中有教师表(教师号, 姓名, 职称),其中教师号的数据类型是整型,其他均为字符类型。若教师表中当前没有数据,用户在数霜尾币藕次执行下列语句:.BEGIN TRANSACTION T1.INSERT INTO教师表VALUES(1000,张三,助教);.INSERT INTO教师表VALUES(1001,王二,助教);.COMMIT T1;.BEGIN TRANSACTION T2.INSERT INTO教师表VALUES(1
7、002,王三,讲师);.INSERT INTO教师表VALUES(1003,李四,讲师);.COMMIT T2;在执行的时候数据库所在的服务器忽然掉电,当数据库系统重新启动后,教师表中包含的数据条数为A)4条B)3条C)2条D)0条 (9)已知学生关系(学号, 姓名, 性别, 课程号, 成绩, 所在系号)有下列函数依赖.(学号, 课程号 - 课程号 .(学号, 课程号) -成绩.(学号, 课程号) -所在系号 .(学号, 课程号) -姓名,性别.(学弓, 桌程号) -学号以上函数依赖属于非平凡函数依赖的是A)仅I和VB)仅和VC)仅和D)仅II、和(10)数据库管理系统采用三级加锁协议来防止并
8、发操作也许导致的数据错误。在三级加锁协议中,1级加锁协议可以解决的问题是A)丢失修改B)不可反复读C)读脏数据D)死锁(11)在SQL Server 2023中,假设某数据库使用一段时间后,其数据文献和日记文献的空间均己快用完,假如要以手工方式扩大该数据库的空间,下列说法对的的是A)可以扩大单个数据文献的大小,但不能扩大单个日记文献的大小B)可以一次按比例扩大整个数据库的数据文献和日记文献的大小C)可以添加一块新的磁盘,并在新的磁盘上为数据库建立新的数据文献和日记文献D)可以一次按比例扩大整个数据文献的大小,但不能扩大日记文献的大小(12)在SQL Server 2023中,设有职工表(职工号
9、, 职工名, 电子邮箱),现要限制电子邮箱的最后几位的取值为“”;,且“”前至少有一位字符。下列添加约束的语句对的的是A)ALTER TABLE职工表ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE _%)B)ALTER TABLE职工表ADD CONSTRAINT chk_email CHECK(电子邮箱 = _%)C)ALTER TABLE职工表ADD CONSTRAINT chk_email CHECK(电子邮箱LIKE )D)ALTER TABLE职工表ADD CONSTRAINT chk_email CHECK(电子邮箱 = )(13)OLE DB是一种
10、通用数据访问接口。下列关于OLE DB的说法错误的是A)OLE DB是Microsoft OLE对象标准的一个实现,它由一系列的COM接口组成B)与ODBC驱动程序需要支持几乎所有的DBMS特性不同,OLE DB允许只支持DBMS的部分功能C)OLE DB支持访问关系数据库和非关系数据库D)OLE DB定义了数据提供者、数据消费者和数据驱动理序三类数据访问组件(14)日记文献是数据库系统出现故障以后,保证数据对的、一致的重要机制之一。下列关于日记文献的说法错误的是A)日记的登记顺序必须严格按照事务执行的时间顺序进行B)为了保证发生故障时能对的地恢复数据,必须保证先写数据库后写日记C)检查点记录
11、是日记文献的一种记录,用于改善恢复效率D)事务故障恢复和系统故障恢复都必须使用日记文献(15)统一建模语言UML是一种定义良好、易于表达、功能强大、通用的可视化建模语言,下列关于UML说法错误的是A)在UML的用例模型中,一个角色可以执行多个用例,一个用例可以被多个角色使用B)UML也合用于对象建模,其中的类图和对象图用于描述类模型、对象模型以及它们之间的动态关系,这两种图都属于UML的动态视图C)UML的包图是表白包以及包之间的关系的类图,包是对模型中涉及的元素进行分组后得到的结果。在进行元素分组时,应尽量追求包间低耦合、包内高内聚的目的D)UML中的顺序图和协作图都描述交互,但是顺序图强调
12、的是时间,协作图强调的是空间(16)对数据库中的数据进行及时转储是保证数据安全可靠的重要手段。下列关于静态转储和动态转储的说法对的的是A)静态转储过程中数据库系统不能运营其他事务,不允许在转储期间执行数据插入、修改和删除操作B)静态转储必须依赖数据库日记才干保证数据的一致性和有效性C)动态转储需要等待正在运营的事务结束后才干开始D)对一个24小时都有业务发生的业务系统来说,比较适合采用静态转储技术(17)设某并行数据库系统中有表T(al, a2, . . .,an),因数据量大,需采用一维划分法将数据划分到不同的磁盘上,以提高系统效率。设al是划分属性,针对表T的查询操作多数为点查询,则适合采
13、用的元组划分策略是A)轮转法与范围划分B)轮转法与散列划分C)散列划分与范围划分D)以上都不合适(18)软件开发模型是对软件开发过程的一种规范描述,用于表达软件开发过程的整体框架和软件开发活动各阶段间的关系。下列模型属于软件开发模型的是.爆布模型 .快速原型模型.增量模型 .螺旋模型A)仅和B)仅、和C)仅和D)、II、和(19)设有某大型联锁商场,建立有面向业务的数据库应用系统和面向决策支持的数据仓库系统,数据仓库系统天天夜间需要从数据库应用系统的数据库导入新数据。在下列数据表中,最不适合采用快照方式从数据库应用系统中获取数据的是A)商品表和商品类别表B)员工表和供应商表C)商品销售表和商品
14、采购表D)商场组织机构表(20)在数据库应用系统中,查询效率是考核数据库应用系统的一个重要方面。下列方法中,通常有助于提高查询效率的是.尽也许避免无用的排序操作.尽也许消除对大型表行数据的顺序存取.尽也许避免使用否认查询.尽也许避免使用外连接操作.尽也许用子查询代替连接查询A)仅I、和B)仅I、和C)仅II、和VD)所有(21)数据库概念设计需要对一个公司或组织的应用所涉及的数据进行分析和组织。现有下列设计内容.分析数据,拟定实体集.分析数据,拟定实体集之间的联系.分析数据,拟定每个实体集的存储方式.分析数据,拟定实体集之间联系的基数.分析数据,拟定每个实体集的数据量.分析数据,拟定每个实体集
15、包含的属性以上内容不属于数据库概念设计的是A)仅I、和B)仅和C)仅、和D)仅和(22)客户端、服务器(C/S)架构和浏览器/服务器(B/S)架是现在常用的两种数据库应用系统架构。关于C/S和B/S架构,下列说法错误的是A)在C/S和B/S架构中,数据库服务器都承担了数据共享和管理的功能B)假如系统的最终用户群体大,用户地区分布广,一般应采用B/S架构C)C/S架构的应用程序需要发布给每个用户,并在每个用户计算机上进行安装。B/S架构一般以通用浏览器为业务应用界面,较为复杂的数据解决功能一般还可通过与浏览器进行交互的组件实现D)一般来说,对于功能需求相同的数据库应用系统项目,C/S架构的应用开
16、发成本要高于B/S架构的应用开发成本(23)数据库应用系统环境中存在各种类型的数据,设有如下数据.为提高查询效率建立的索引.描述表结构信息的数据字典.用于优化查询的记录分析数据.用户会话信息.用户查询结果以上数据一般会存储在数据库中的是A)仅、和B)仅和C)仅、和D)仅II、和(24)在数据库应用系统生命周期中,系统规划与分析是一个重要的环节。关于系统规划与分析,下列说法错误的是A)规划与分析是数据库应用系统生命周期的起点。规划与分析阶段的重要工作涉及系统规划与定义、可行性分析和项目规划B)系统规划与定义是规划与分析的重要环节,它需要在系统设计过程中逐步完毕C)可行性分析是从技术、经济和操作等
17、方面进行项目可行性的分析,它在明确目的和任务之后,评估系统在给定条件下是否可行D)项目规划是对项目所需的资源、成本和进度进行合理估算,并制定初步的项目开发计划(25)在SQL Server 2023中,某数据库的数据量比较大,且存储在无磁盘阵列的存储设备上。为尽也许提高数据的操作效率,下列构建数据库文献的方法中,最合适的是A)尽也许选择一块足够大的磁盘,并在此磁盘上建立一个数据文献和一个日记文献B)尽也许建立多个数据文献,让每个数据文献位于不同的磁盘上,并尽也许将日记文献一与数据文献分别建立在不同的磁盘上C)尽也许建立多个数据文献,将这些数据文献建立在一块足够大的磁盘上,并将所有日记文献建立在
18、另一块足够大的磁盘上D)尽也许建立多个数据文献,让每个数据文献位于不同的磁盘上,并尽也许将日记文献与数据文献建立在相同的磁盘上(26)设有某大型连锁超市的数据库应用系统,在系统实行或改造过程中,需要对系统进行测试。设有下列测试活动.模拟客户消费行为,生成销售数据,测试系统是否能对的完毕销售业务.编写模拟数据生成器,每秒生成2千笔与销售业务相应的销售数据,测试系统吞吐率.在数据库中模拟生成5亿条销售数据,同时启动所有的收银台,测试系统平均响应时间.模拟销售连续一周时间,在此期间,天天审核系统结账功能是否对的.测试数据库应用系统能否对的地完毕银联卡消费业务以上测试活动,属于性能测试的是A)仅、和B
19、)仅、和C)仅和D)仅I、和(27)在SQL Server 2023中,设有课程表(课程号,课程名,学分,开课学期),现要在此关系表上建立一个查询指定学期开设的课程总门数和总学分数的内嵌表值函数,函数名为f _FindTotal。实现这个函数的对的代码是A)CREATE FUNCTION f_FindTotal(semester int)RETURNS tableASRETURN(SELECT COUNT(课程号)as课程门数, SUM(学分)as总学分FROM课程表WHERE开课学期 = semester)B)CREATE FUNCTION f_FindTotal(semester int)
20、RETURNS tableASRETURN(SELECT COUNT(课程号)as课程门数, COUNT(学分)as总学分FROM课程表WHERE开课学期 = semester)C)CREATE FUNCTION f_FindTotal(semester int)RETURNS tableASRETURN(SELECT SUM(课程号)as课程门数, SUM(学分)as总学分FROM课程表WHERE开课学期= semester)D)CREATE FUNCTION f_FindTotal(semester int)RETURNS tableASRETURN(SELECT SUM(课程号)as课程
21、门数, COUNT(学分)as 总学分FROM课程表WHERE开课学期 = semester)(28)设商场业务系统中有销售单据表(销售单据号, 收款员, 销售时间),销售明细表(销售明细条目号, 销售单据号, 商品号, 数量, 单位, 金额)和商品表(商品号, 商品名, 价格)。该系统业务繁忙,保存的数据量非常大,每次换班时要记录收款员的收入总额,天天停业后要记录各个商品的当天销售量,销售过程中经常需要查询某笔销售业务的情况。为了优化系统性能,下列优化方案合理的是A)在销售单据表的收款员属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引B)在
22、销售单据表的销售单据号属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计记录相应数据C)在销售单据表的销售时间属性和收款员属性上分别建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计记录相应数据D)在销售单据表的销售单据号属性和收款员属性上分别建立聚集索引,在销售明细表的商品号属性上建立聚集索引(29)在SQL Server 2023中,假设运用备份设备对某个数据
23、量和日记量都比较大的数据库进行完全备份。下列说法对的的是A)假如各个磁盘上的剩余空间均局限性以存储数据库的备份,但所有磁盘的剩余空间总和大于备份数据库所需的空间,则可以将这些磁盘的剩余空间组织起来建立一个备份设备以实行备份B)假如各个磁盘上的剩余空间均局限性以存储数据库的备份,但所有磁盘的剩余空间总和大于备份数据库所需的空间,则可以将数据库中的数据和日记分别备份到位于不同磁盘的备份设备上,以解决单个磁盘空间局限性的问题C)可以只对数据库中的数据进行备份,并且可以备份到位于不同磁盘的备份设备上,以最大限度地减少备份该数据库占用的空间D)假如各个磁盘上的剩余空间均局限性以存储数据库的备份,但所有磁
24、盘的剩余空间总和大于备份数据库所需的空间,则可以在每个磁盘上分别建立一个备份设备,并同时运用这些设备备份数据库(30)在某分布式数据库系统中,设某数据表的模式为S(al, a2, a3, a4, a5),其中al为主码,该表中数据量大,a2取值空间为1,2,3。设有两个数据分片方案,分别为PS1S11, S12, S13和PS2S21, S22, S23,任取分片S1i,S1i的模式为(al, a2, a3, a4, a5),且S1i中的任一元组t都属于S,且t在属性a2上的取值为i。任取分片S2i,有S2i与S元组数相同,且其主码为al,S21的模式为(al, a2),S22为(a1, a3
25、, a4),S23为(al, a5)。则关于PS1和PS2的分片机制,下列说法对的的是A)PS1为水平分片,PS2为垂直分片B)PS1为垂直分片,PS2为导出分片C)PS1为水平分片,PS2为导出分片D)P1为垂直分片,PS2为水平分片二、应用题(1)在SQL Server 2023中,现要在employees表的first_name和last_name列上建立一个唯一的非聚集复合索引,其中first_name列数据的反复率是5%,last_name列数据的反复率是10%。请补全下列语句使以first_name和last_name列作为条件的查询效率最高。CREATE UNIQUE NONCL
26、USTERED INDEX Idx_NameON employees( 【1】 )(2)在SQL Server 2023中,设有顾客表(顾客号, 顾客名, 所在地区, 年龄),应用系统中需记录指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完毕该功能。CREATE PROC P_Countarea varchar(20)ASSELECT COUNT(*)AS 人数, 【2】 AS平均年龄FROM顾客表WHERE所在地区=area(3)设有顾客表(顾客号, 顾客名, 联系电话)和购买表(商品号, 顾客号, 购买时间),现要记录有购买记录的顾客人数。请补全下列实现该功能的语句。SELECT【
27、3】FROM购买表(4)在VB 6.0中,为简化访问数据库数据的编程,经常使用Adodc数据控件来访问数据库中的数据。该控件中用于描述服务器连接信息的属性是【4】 。(5)在SQL Server 2023中,要授予某数据库中的某个用户具有该数据库中所有用户数据表的插入、删除和修改权限,比较合理的做法是将该用户添加到系统提供的【5】数据库角色中。(6)设有学生表(学号, 姓名, 性别, 所在系),这些列均不允许有空值。现要建立一个视图,记录“计算机系”的男生人数和女生人数。请补全下列语句。CREATE VIEW V_CountASSELECT【6】 , COUNT(*)A
28、S人数FROM学生表WHERE所在系=计算机系【7】(7)事务是由一系列操作组成的,事务的执行表现为事务中各个操作的执行。每个事务应具有结束操作。当一个事务需要终止并取消所有已执行的数据修改时应执行的语句是【8】。(8)数据仓库是一个面向【9】的、集成的、非易失的,且随时间变化的数据集合。(9)事务对一个数据项的操作类型决定了数据项上的锁的类型。锁的类型重要有互斥锁(简称X锁)和【10】锁(简称S锁)两种。(10)在SQL Server 2023中,现要将数据库DB1差异备份到备份设备BK上,并且不覆盖BK上的已有内容。请补全下列备份数据库DBI的语句。BACKUP 【11】 DB1 TO B
29、K【12】 , NOINIT(11)在SQL Server 2023中,某数据库中有图书表(书号, 图书名称, 类别)和销售表(书号, 销售时间, 销售数量),其中销售数量大于0。现要查询2023年10月销售的图书名称和类别。请补全下列实现该功能的查询语句。SELECT图书名称, 类别FROM图书表WHERE EXISTS(SELECT*FROM销售表WHERE销售时间BETWEEN 2023/10/1 AND 2023/10/31【13】 )(12)OLAP重要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式重要有三种:MOLAP、【14】和HOLAP。(1
30、3)在分布式数据库系统中,数据分布透明性是方便用户使用数据的重要保证。数据分布透明性的最高级别是【15】透明性。三、设计与应用题(1)设有某简化的网上购物系统,其ER图如下:该系统数据之间存在下列约束:. 一个客户(编号唯一)可以拥有多个订单,每个订单仅属于一个客户;. 一个订单(编号唯一)可以包含多个订购细目,每个订购细目只属于一个订单;. 一种商品可以出现在多个订购细目中,一个订购细目只包含一种商品;. 一个商品类别可以包含多种商品,一种商品只属于一个商品类别。 请根据以上约束,标出ER图中各实体集之间联系的基数。(2分) 请将ER图转换成符合3NF的关系模式,并给出各关系模式的主码和外码
31、。(4分) 请修改所设计的关系模式使之支持下列功能(仅列出发生修改的关系模式)。(4分). 使客户能方便了解每个订购细目的解决状态和到货时间;. 使客户能方便查询商品供应商的编号、名称、所在城市、联系电话和信誉。(限定一个供应商可以供应多种商品,一种商品只选自一个供应商)(2)某学校的学籍管理系统实现了对学生学籍信息的管理,其中学生表结构为:学生表(学号, 姓名, 性别, 系号, 是否有学籍),此表中除学号列有唯一索引外,其它列均无索引。设学籍管理系统中经常执行如下形式的操作:SELECT*FROM学生表WHERE姓名=张三 AND 系号=10 AND 是否有学籍=有系统运营中发现这类操作的效
32、率比较低,系统工程师建议:由于查询条件中使用了”系号”、”姓名”和”是否有学籍”三列,建议在这三个列上分别建立索引,以提高查询效率。请问其建议建立的三个索引是否都能提高查询效率?请简要说明因素。设学生表中有下列数据:并且已经在学生表的姓名列上建立了一个非聚集索引(按姓名拼音升序排序)。请给出查找码“姓名”相应的稠密索引示意图。(4分)(3)在SQL Server 2023中,设有教师表(教师号, 姓一名, 所在部门号, 职称)和部门表(部门号, 部门名, 高级职称人数)。请编写满足下列规定的后触发型触发器(设触发器名字为tri_zc)。(10分)每当在教师表中插入一名具有高级职称(“专家副”或
33、“专家”)的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师的职称) 答案:1-5ABDDB 6-10BBCDA 11-15CADBB 16-20ACDCB 21-25DDCBD 26-30CACDA应用题1. first_name ASC,last_name DESC2. AVG(年龄)3. COUNT(DISTINCT 顾客名)4. CONNECTIONSTRING5. db_ddladmin6. GROUP BY 性别7. UNDO8. 主题9. 共享10. DATABATE WITH DIFFERENIAL11
34、. and 书号=图书表.书号12. rolap13. 分片设计与应用题一、1. 客户拥有订单包含点购细目出现商品11nnn12. userInfo(userID,username,userTel,userEmail,orderID)主码 userID,外码 orederID;orderInfo(orderID,orderDate,itemID)主码 orderID,外码 itemID;iteminfo(itemID,itemNum,itemSum)主码 itemID;commodiyInfo(comID,comName,comPrice,comDate,typeID,itemID)主码com
35、ID,外码 typeID,itemID;comtype(typeID,typeName,comID)主码 typeID外码 comID;3. 在订购细目中添加发货时间和到货时间;添加供应商关系模型,修改商品关系模型businessInfo(businessID,businessName,businessCity,businessTel,businessCredit)主码 businessID; commodityInfo(comID,comName,comPrice,comDate,typeID,itemID,businessID)主码 comID,外码 typeiD,itemID,busin
36、essID;二、1. 不能。使用索引是需要付出代价的,增长了系统维护时间和占用了系统时间。学籍、系号这两个字段反复比较多,因此在这两个字段上添加索引不会显著的增长查询速度,减少用户的响应时间。相反,由于需要占用空间,反而会减少数据库的整体性能。2. 3. CREATE TRIGGER tric_zcON 教师表AFTER INSERT,UPDATEASBEGINDECLATEzc varchar(10),dept varchar(30)SEL ze = (select 所在部门号 FROM inserted)IF zc = 专家or 副专家Update 部门表Sel 高级职称人数 = 高级职称人数 + 1Where 部门号 = deptEnd