计算机三级(数据库技术)模拟试卷38 (题后含答案及解析)
题型有:1. 选择题 3. 应用题 4. 设计与应用题
选择题
1. 设有关系模式R(A,B,C, D),其函数依赖集为F={A一>D,B一>D,C一>D}。如果将R分解为R1(A,B,C)和R2(C, D),则该分解是( )。
A.同时保持函数依赖和无损连接的分解 B.保持函数依赖但不保持无损连接的分解 C.保持无损连接但不保持函数依赖的分解
D.既不保持函数依赖也不保持无损连接的分解
正确答案:C
解析:对模式进行分解时,既要保证分解具有“无损连接性”,又要保证分解“保持函数依赖”。所谓“无损连接”指分解的若干连接重组时可以精确恢复到原来的数据表,数据记录既没有增加也没有减少。“保持函数依赖”是指原关系模式含有的属性之间的隐含关系在分解后不能丢失。本题由所给的F可以看出A,B,C为关系中的主键,D为非主属性,D依赖于A,B,C分解可恢复出原关系,但其中隐含的D对A、B的依赖却丢失了。
2. 下面关于模式分解的说法,错误的是( )。 A.分解并不总能提高查询效率
B.分解通常使得涉及属性少的查询执行效率更高 C.分解通常使得简单的更新事务执行效率更高
D.分解总是能降低存储空间的要求,因为它能消除冗余数据
正确答案:D
解析:分解使得一个关系变为多个关系,常用于关系模式规范化。一般情况下可以减少部分数据冗余,但不恰当的分解也可能增加冗余。
3. 设有关系表:职工(职工号,姓名,领导职工号),其中职工号是主码,领导职工号是外码。当前表中没有任何数据。现在依次向该表中插入如下数据 (1)(e1,Tom,e2) (2)(e3,Jerry,null) (3)(null,Foo,null) (4)(e2,Fake,e2) (5)(e1,Ghost,e3) (6)(e4,Who,e1) 则最终该表中有( )行数据。
A.2 B.3 C.4 D.5
正确答案:C 解析:一张关系表中的主码不能为空且具有唯一性。外码取值可能为被参照
关系中已存在的主码值或空值。最终该表中插入的数据为(1),(2),(4),(6),共4行数据。
4. 数据库物理设计阶段是根据数据库逻辑设计的结果设计合适的数据库物理结构。下列关于数据库物理设计的说法,错误的是( )。
A.物理设计着眼于数据库底层的物理存储与存取,与操作系统和硬件环境及数据库管理系统密切相关
B.物理设计时需要合理安排不同的存储介质,索引文件一般存储在高速磁盘中,日志文件可以考虑存储在磁带中
C.物理设计过程中需要考虑设置合理的数据库管理系统参数和操作系统相关参数
D.物理设计过程中需要考虑RAID级别、操作系统的文件管理机制、数据库管理系统支持的索引类型
正确答案:B 解析:为了提高系统的性能,应该根据应用情况将数据的易变部分和稳定部分、经常存取部分和存取频率较低的部分分开存放,较常用的放在高速读写的磁盘上,但并没有说索引一定要在高速磁盘,日志一定要在低速磁带,要根据访问频率决定。
5. 三层浏览器/服务器架构是现在比较流行的应用系统架构。下列关于此架构的说法,错误的是( )。
A.表示层使用Web浏览器实现,位于客户端,一般无需安装其他程序 B.数据层位于数据库服务器,由DBMS完成数据存储和数据存取等数据管理功能
C.此架构将人机交互、应用业务逻辑和数据管理三类功能分离,提高了可维护性
D.与二层的客户/服务器架构相比,此架构在交互性、运行速度方面优势明显
正确答案:D 解析:三层架构将更多的任务传给服务器端计算,所以增加了网络的通信量,其运行速度受制于网络,并不一定会提高。在适用Internet、维护工作量等方面,B/S比C/S强;在运行速度、数据安全和人机交互等方面,不如C/S。
6. 设有下列关于数据库分析、设计与实现的工作: Ⅰ.用概念数据模型表示数据对象的特征及其相互间的关联关系 Ⅱ.进行数据库的备份与恢复等日常维护 Ⅲ.在ER图的基础上确定数据库关系模式 Ⅳ.调整数据库逻辑模式,确定文件组织与存取方式,评估物理模式 Ⅴ.考虑分析DBAS运行过程中备份数据库策略,如备份时间点和备份周期 Ⅵ.事务和应用程序的编码及测试 上述工作中,属于DBAS系统设计阶段工作的是( )。
A.仅Ⅰ、Ⅱ、Ⅲ、Ⅳ和Ⅴ B.仅Ⅰ、Ⅱ、Ⅲ和Ⅳ C.仅Ⅰ、Ⅲ和Ⅳ
D.全部
正确答案:C
解析:Ⅰ属于设计数据库设计中的概念结构设计,Ⅲ属于逻辑结构设计,Ⅳ属于物理设计。Ⅱ、Ⅴ、Ⅵ属于数据库的实现与维护。所以选择C选项。
7. 下列是关于关系数据模型和关系表的说法: Ⅰ.关系数据模型以集合论为基础表示和处理数据 Ⅱ.关系数据模型同时支持非过程化语言和过程化语言直接存取数据 Ⅲ.“create table…”语句用于定义关系表的结构及数据完整性约束 Ⅳ.在关系表上执行select或delete操作时,DBMS会检查数据完整性约束 上述说法中正确的是( )。
A.仅Ⅰ和Ⅲ B.仅Ⅱ和Ⅳ C.仅Ⅲ和Ⅳ D.仅Ⅰ和Ⅳ
正确答案:A 解析:关系数据语言分为关系代数语言、关系演算语言和兼具两者双重特点的语言,如SQL,但所有这些语言的共同特点是非过程化的集合操作语言,所以Ⅱ错误。Ⅳ是因为查询数据表时SQL 语句不会检查数据的完整性约束。
8. 在进行数据库物理设计时,为了保证系统性能,需要综合考虑所选择的数据库管理系统的特性及软硬件具体情况。下列关于数据库物理设计的说法,错误的是( )。
A.在频繁执行插入、修改和删除操作的表上建立索引可能会降低系统整体性能
B.在一张表的某列上需要频繁执行精确匹配查询时,可以考虑为此列建立哈希索引
C.为了提高写入性能,数据库一般应尽量避免存储在RAID10的磁盘存储系统中
D.如果系统中存在频繁的多表连接操作,可以考虑将这些基本表组织为聚集文件,以提高查询效率
正确答案:C
解析:RAID10比RAID5在写数据上更稳定、速度更快,所以C选项中应尽量避免存储在RAID5的磁盘存储系统中。
9. 类图技术是面向对象方法的核心技术。下列所示UML的类图,正确的是( )。
A. B. C.
D.
正确答案:B
解析:本题考察了有关UML的类图表示。这里的区别主要在四种表示上:类的UML表示(空心三角实线连接)、接口的UML表示(空心三角虚线连接)、聚合关系的UML表示(空心菱形实线连接)以及合成关系的UML表示(实心菱形实线连接)。类的表示指的是子类对父类关系的继承;接口与子类继承比较相似,区别主要在于多继承上;聚合关系主要表示一种弱的拥有关系,如A对象可以包含B对象,但B对象不是A对象的一部分;而合成是一种强拥有,体现了严格的部分和整体关系。此题中,车架和车轮是车的严格组成部分,如果缺少一样,车就没法开,所以对车来说是必不可少的部分。所以选择B选项。
10. 设在SQL Server 2008某数据库中有表SC(Sno,Cno,Grade),其中Grade列的类型为int。若在查询成绩时,希望将成绩按“优”、“良”、“中”、“及格”和“不及格”形式显示,则下列Case函数中正确的是( )。
A.Case Grade When Grade between 90 and 100 THEN Grade=‘优’ When Grade between 80 and THEN Grade=‘良’ When Grade between 70 and 79 THEN Grade=‘中’ When Grade between 60 and 69 1HEN Grade=‘及格’ Else Grade=‘不及格’ End
B.Case Grade When Grade between 90 and 100 THEN’优’ When Grade between 80 and THEN’良’ When Grade between 70 and 79 THEN’中’When Grade between 60 and 69 THEN’及格’ Else’不及格’ End
C.Case When Grade between 90 and 100 THEN Grade=‘优’ When Grade between 80 and THEN Grade=‘良’ When Grade between 70 and 79 THEN Grade=‘中’ When Grade between 60 and 69 THEN Grade=‘及格’ Else Grade=‘不及格’ End
D.Case When Grade between 90 and 100 THEN’优’ When Grade between 80 and THEN’良’ When Grade between 70 and 79 THEN’中’ When Grade between 60 and 69 THEN’及格’ Else’不及格’ End
正确答案:D
解析:此题考察了SQL中CASE WHEN语句的用法。如果是简单的赋值查询,比如数据库表示性别:1表示男,2表示女。则用 CASE sex When’1’THEN’男’ When’2’THEN’女’ ELSE’其它’ END 即可以表示。但如果条件较为复杂或包含判断式等,则用D所表示的方式。
11. 设在SQL Server 2008某数据库中有销售表(商品号,销售时间,销售数量,销售价格),其中商品号的类型为char(6),销售价格的类型为int。现要定义统计指定商品销售总价的标量函数。有下列定义该标量函数的语句: Ⅰ.Create FUNCTION dbo.GetTotal(@GoodID char(6)) Returns int AS BEGIN Return(SELECT SUM(销售价格)FROM销售表WHERE商品号=@GoodID) END Ⅱ.Create FUNCTION dbo.GetTotal(@GoodID char(6)) Returns int AS BEGIN Returns(SELECT SUM(销售价格)FROM销售表
WHERE商品号=@GoodID) END Ⅲ.Create FUNCTION dbo.GetTotal(@GoodID char(6)) Returns int BEGIN Retum(SELECT SUM(销售价格)FROM销售表WHERE商品号=@GoodID) END Ⅳ.Create FUNCTION dbo.GetTotal(@GoodlD char(6)) Returns int Returns(SELECT SuM(销售价格)FROM销售表WHERE商品号=@GoodID) 上述语句中,正确的是( )。
A.仅Ⅰ和Ⅱ B.仅Ⅲ和Ⅳ C.仅Ⅱ和Ⅳ D.仅Ⅰ和Ⅲ
正确答案:D
解析:标量函数返回一个确定类型的标量值。函数体语句定义在BEGIN—END语句内,其中包含了可以返回值的Transact—SQL命令。 创建标量函数的语法如下: CREATE FUNCTION[owner_name.]function_name ([{@parameter_name[AS][type_schema_name.]parameter_data_type [=default]} [,…n] ] ) RETURNS return_data_type [AS] BEGIN function_body RETURN scalar_expression END [;]
12. 分区表是将一个表的数据按水平方式划分为不同的子集,从而可以更快速有效地访问数据子集。现有表R(A, B)以及针对该表的如下SQL语句,如果基于列A对R进行范围分区,该分区设计方案能提高其性能的SQL语句是( )。
A.SELECT A,SUM(B)FROM R GROUP BY A B.SELECT A FROM R ORDER BY B,A C.DELETE FROM R WHERE A<>10 D.SELECT MAX(A)FROM R WHERE B=10
正确答案:A
解析:A属性基于对R进行水平划分,即区别子集主要是通过A属性。B、D选项都是基于B属性对R的划分。C选项只是删除了R表中不等于10的记录,不属于划分分区表的方式。因此选择A选项。
13. 下列关于SQL Server 2008架构的说法,错误的是( )。
A.在一个数据库中,一个用户可以拥有多个架构,一个架构只能属于一个用户
B.架构相当于数据库对象的容器,在同一个数据库中架构不能重名
C.架构是数据库中的逻辑命名空间,同一个数据库的不同架构中可以存在同名表
D.在同一个架构中可以定义表、视图等不同数据库对象
正确答案:A 解析:架构是形成单个命名空间的数据库实体的集合。命名空间也是一个集合,其中每个元素的名称都是唯一的。架构与用户的关系是一对多的关系,一个
用户只能对应一个架构,但多个用户可以共享一个架构,所以选择A选项。
14. 设数据库管理员为SQL Server 2008默认实例中的某数据库实施了基于维护计划的数据库备份任务。配置完成后,发现此维护计划并未执行但数据库运行正常。有关此维护计划未执行的原因,下列说法中最有可能的是( )。
A.“SQLServer(MSSQLSERVER)”服务未启动 B.“SQL Server代理(MSSQLSERVER)”服务未启动 C.“SQL Server Browser”服务未启动 D.“SQL Server VSS Writer”服务未启动
正确答案:B
解析:SQL Server Agent是一个任务规划器和警报管理器,在实际应用环境下,可以先将那些周期性的活动定义成一个任务,然后让其在SQL Server Agent的帮助下自动运行。假如考生是一名系统管理员,则可以利用SQL Server Agent向自己通知某些警告信息,从而定位出现的问题以提高管理效率。SQL Server Agent主要包括以下几个组件:作业、警报和操作。所以选择B选项。
15. 下列关于SQL Server 2008数据库文件的说法,错误的是( )。 A.一个数据库可以包含多个数据文件,但这些数据文件不能放置在同一个物理磁盘上
B.数据库的数据文件和日志文件最好分别存放在不同的物理磁盘上
C.用户数据库中包含很多系统信息,这些系统信息必须存储在主要数据文件中
D.数据库的主要数据文件必须存放在PRIMARY文件组中
正确答案:A 解析:一个数据库可以包含多个数据文件,这些文件可以存放在一个物理磁盘上,也可以放在不同的物理磁盘上。
16. 在SQL Server 2008中,某用户仅具有登录到某SQL Server实例的权限。下列关于该用户能够进行的操作的说法,正确的是( )。
A.仅能够查询master、model和msdb系统数据库中的部分数据 B.能够查询和修改master、model和msdb系统数据库中的部分数据 C.仅能够查询master和msdb系统数据库中的部分数据
D.能够查询和修改master和msdb系统数据库中的部分数据
正确答案:C
解析:SQL Server实例就是在数据库中存在的现实的数据库例子,它是后台进程和数据库文件的集合。仅具有登录权限的用户对SQL Server只能进行系统数据库中有关SQLServer的一些系统信息的查询,即只能对master、msdb数据库部分数据进行查询。所以选择C选项。
17. SQL Server 2008提供了方便的数据导入/导出向导,现利用该向导将S1服务器上某数据库中Tl表的数据导入到S2服务器某数据库中已有的T2表中。
在数据源上的操作由用户U1完成,在目的服务器上的操作由用户U2完成。则U1和U2需要具有的权限是( )。
A.U1需要T1表的查询权限和T2表的插入权限,U2无需任何权限 B.U2需要Tl表的查询权限和T2表的插入权限,U1无需任何权限 C.U1需要T1表的查询权限,U2需要T2表的插入权限
D.U1需要T1表的查询权限和S2服务器的登录权限,U2需要T2表的插入权限和S1服务器的登录权限
正确答案:C
解析:U1要将T1表中的数据导出,所以要有对数据的查看权限。而U2负责将数据导入到T2表中,则要对表T2有写入权限。所以选择C选项。
18. 事务是数据库中非常重要的概念。下列关于事务的说法,错误的是( )。
A.当数据库出现事务故障或系统故障时,可以通过数据库日志文件进行恢复
B.事务并发执行可能导致数据错误,采用三级加锁协议可以保证数据的一致性
C.为了检测死锁,数据库管理系统会在执行每个事务时检测事务等待图中是否出现回路
D.数据库管理系统可以采用先来先服务的方式防止活锁现象的出现
正确答案:C
解析:检测死锁有多种方法,包括超时法、等待图法等。事务等待图法动态地反映了所有事务的等待情况,并发控制的子系统周期性地生成事务等待图进行检测,而不是在执行每个事务时进行检测。所以选择C选项。
19. 在数据库运行过程中,数据库管理员应对数据库运行情况进行监控。设有如下可能需要监控的内容: Ⅰ.数据库空间使用情况 Ⅱ.数据库服务器网络是否通畅 Ⅲ.数据库缓冲区命中率情况 Ⅳ.数据库用户向数据库发送的每条SQL语句 V.数据库中索引使用情况 上述工作中属于数据库日常监控内容的是( )。
A.仅Ⅰ、Ⅲ和Ⅴ B.仅Ⅰ和Ⅲ
C.仅Ⅱ、Ⅲ、Ⅳ和Ⅴ D.全部均是
正确答案:A 解析:本题是对数据库维护的考查,服务器网络的检测不是数据库管理员的职责,而应是操作系统管理员的职责。用户向数据库发送的SQL数量庞大而且没有稳定的衡量指标,所以不属于日常监控范围。故选择A选项。
20. 下列关于数据库性能优化的说法,错误的是( )。 A.增加派生性冗余列可以降低查询过程中的计算量
B.增加冗余列可以减少查询过程中的UNION操作
C.适当降低关系模式的规范化程度,可以减少查询过程中的JOIN操作 D.当一个表的数据量超过一定规模时,可以采用分割表的方法提高效率
正确答案:B 解析:增加冗余列指的是在多个表中添加相同的列,这样虽然增加了数据库服务器存储的负担,但可以减少查询过程中的JOIN(连接)操作,而不是UNION(并)操作。所以选择B选项。
21. 为了减少数据库管理系统中的死锁,有下列措施: Ⅰ.事务按同一顺序访问资源 Ⅱ.检测事务等待图并撤销回路中的某个事务 Ⅲ.将大事务切分成若干个小事务 Ⅳ.使用绑定连接 上述措施中,属于可以在应用程序设计过程中采取的措施是( )。
A.仅Ⅰ和Ⅱ B.仅Ⅰ、Ⅲ和Ⅳ C.仅Ⅱ和Ⅲ
D.仅Ⅱ、Ⅲ和Ⅳ
正确答案:B 解析:Ⅱ.检测事务等待图并撤销回路中的某个事务是在数据库应用系统运行过程中由DBMS完成的工作,不是应用程序设计过程中采取的措施。剩下三个属于在应用程序设计中预防死锁的办法。所以选择B选项。
22. 设有某商场的数据库应用系统,在其生命周期中有下列活动: Ⅰ.在系统上线之前模拟客户的消费行为,生成销售数据,测试系统是否能正确完成销售业务 Ⅱ.为应对商场业务迅速增长带来的数据快速增长而扩展硬盘空间 Ⅲ.监控数据表的使用情况,根据表访问率的不同对系统进行优化 Ⅳ.系统上线后,在正常营业期间运行模拟数据生成器向正在运行的数据库模拟生成大量销售数据,测试系统的性能 Ⅴ.在系统上线运行的正常营业期间,手动切断所有数据库服务器电源,测试数据库系统在发生软故障后的恢复能力 Ⅵ.在非营业时间停机后给数据库服务器增加内存以提升服务器性能 以上活动属于商场数据库系统运维活动的是( )。
A.仅Ⅱ和Ⅵ B.仅Ⅱ、Ⅲ和Ⅵ C.仅Ⅱ、Ⅲ、Ⅴ和Ⅵ D.全是
正确答案:B
解析:Ⅰ属于数据库测试,Ⅳ、Ⅴ不可行。
23. SQL Server 2008提供了多种备份机制,其中数据库差异备份所备份的内容是( )。
A.从最近的一次完整备份到当前时间数据库中变化的数据
B.从最近的一次完整备份到当前时间数据库中变化的数据和日志
C.从最近的一次差异备份到当前时间数据库中变化的数据
D.从最近的一次差异备份到当前时间数据库中变化的数据和日志
正确答案:B
解析:差异备份是指备份自上一次完全备份之后有变化的数据。SQL Server 2008中除了备份变化的数据外还要备份日志文件,这是因为在恢复时要根据日志中的事务过程进行恢复操作。所以选择B选项。
24. 当数据库系统出现故障时,可以通过数据库日志文件进行恢复。下列关于数据库日志文件的说法,错误的是( )。
A.数据库出现事务故障和系统故障时需使用日志文件进行恢复
B.使用动态转储机制时,必须使用日志文件才能将数据库恢复到一致状态 C.在OLTP系统中,数据文件的空间使用量比日志文件大得多,使用日志备份可以降低数据库的备份空间
D.日志文件的格式主要有以记录为单位的日志文件和以数据块为单位的日志文件两种
正确答案:C
解析:数据文件的空间使用量未必比日志文件大,因为日志是快速增长的。此外,使用日志备份并不能降低数据库的备份空间。所以选择C选项。
25. 在SQL Server 2008中,设某日上午10点对DB1数据库进行了一次完整备份,在上午11点时DBl数据库突然因硬件故障造成部分数据损坏,但该数据库的日志文件没有遭到破坏。为了尽可能减少数据丢失,下列操作中最可行的是( )。
A.首先对DBl进行一次完整备份,然后再恢复数据库 B.首先对DBI进行一次差异备份,然后再恢复数据库 C.首先对DBl进行一次结尾日志备份,然后再恢复数据库 D.首先清空日志文件内容,然后再恢复数据库
正确答案:C
解析:10点备份过数据库之后,数据库发生故障导致部分数据损坏,此时再进行完整备份或差异备份都没有意义。由于日志文件没有损坏,所以应首先执行结尾日志备份,然后根据上次的完整性备份和新备份的结尾日志文件,找到上次备份的时间点,而后重新执行时间点之后的事务操作,所以选择C选项。
26. 现有一个大型公司的数据库系统,其业务主要以更新事务为主,并且不同部门的用户访问不同的数据子集。随着用户数量的增加,出现了性能瓶颈。该公司希望采用分布式数据库技术解决该问题。下列最适合该应用的数据分配方式是( )。
A.集中式 B.分割式 C.复制式 D.混合式
正确答案:B
解析:分布式数据库的分配方式包括集中式、分割式、全复制式和混合式。集中式指所有数据片断都安排在一个场地上;分割式指全局数据有且只有一份,它们被分割成若干片段,每个片段被分配在一个特定场地上;全复制式是在每个站点上,都有全局数据的复制样本,数据的冗余性最大;混合式是指部分站点上是全局数据的若干片段,部分站点上是全局数据的副本。仅仅根据题目要求,不同部门访问不同的数据子集,并没有强调某个部门要访问全局信息,所以不考虑有全局数据的副本的必要,即选择B选项。
27. 在一个分布式数据库中,数据集S被分片为Sl和S2。S1存储在场地1的DB2数据库中;S2有两个副本,一个副本存储在场地2的SQL Server数据库中,另一个副本存储在场地3的Oracle数据库中。用户在开发数据库应用程序时,统一采用ODBC访问数据源。用户程序控制两个副本的访问顺序:先访问场地2的副本,如果失败,则转向场地3的副本。根据以上描述,判断该分布式数据库具有的透明性级别是( )。
A.分片透明性 B.位置透明性
C.全局数据模型透明性 D.局部数据模型透明性
正确答案:D
解析:分布透明性包括分片透明性、位置透明性、局部数据模型透明性。分片透明性是最高层次,指的是用户或应用程序只对全局关系进行操作而不必考虑关系分片的情况。位置透明性是下一层次,指用户或应用程序只需了解数据分片情况,而不必了解片段的存储场地。局部数据模型透明性指的是用户或用户程序不必了解局部场地上使用的是哪种数据模型,但是必须了解全局数据的分片情况,还需了解各片断的副本复制情况及各片断和它们副本的场地位置分配情况。由于本题中考虑到场地2和场地3的选择,所以位置对用户来说并不透明,应选择D选项。
28. 在并行数据库中,有关系R(A, B)和S(A, C),需要将它们根据A属性拆分到不同的磁盘上。现有查询SELECT B FROM R,S WHERE R.A=S.A。下列拆分方式中最适合该查询的是( )。
A.轮转法 B.散列划分 C.范围划分 D.列表划分
正确答案:B
解析:轮转法:对关系顺序扫描,将第i个元组存储到标号为Di mod n的磁盘上,该方式保证了元组在多个磁盘上均匀分布。散列划分:选定一个值域为{0,l,…,n一1}的散列函数,对关系中的元组基于划分属性进行散列,如果散列函数返回i,则将其存储到第i个磁盘。范围划分:根据表中某个属性取值区间
划分成不同的子区间,然后根据表中的属性值所属的不同区间将表分成不同的子表。根据属性A对表进行散列划分,然后在每个划分内部执行select语句,会大幅提高查询效率。
29. 设有如下所示的某商场购物记录集合。每个购物篮中包含若干商品:现在要基于该数据集进行关联规则挖掘。如果设置最小支持度为60%,最小置信度为80%,则如下关联规则中,符合条件的是( )。
A.啤酒→尿布
B.(面包,尿布)→牛奶 C.面包→牛奶
D.(面包,啤酒)→尿布
正确答案:A
解析:关联规则是形如x一>Y的蕴涵表达式。关联规则的强度可以用它的支持度(s)和置信度(c)度量。支持度确定规则可以用于给定数据集的频繁程度,而置信度确定Y在包含X的事务中出现的频繁程度。两者可以用公式表示:从题目中可以看到事务总数是5,A的{啤酒、尿布}支持度计数是3,{啤酒}支持计数是3,所以s=0.6,c=1。同理可得B{面包、尿布}支持计数为3,{面包、尿布、牛奶}支持计数是2,所以s=0.4,c=2/3。C中,{面包、牛奶}支持计数为3,{面包}支持计数为4,所以s=0.6,c=0.75。D中,{面包、啤酒}支持计数为2,{面包、啤酒、尿布}支持计数为2,所以s=0.4,c=1。综上所述,应选择A选项。
30. 设某银行有基于关系型数据库的数据仓库系统,其中有下列数据: Ⅰ.账户余额快照数据 Ⅱ.DBMS的数据字典 Ⅲ.账户存取明细数据 Ⅳ.数据表结构说明文档 Ⅴ.数据抽取日志 以上数据不属于元数据的是( )。
A.仅Ⅰ和Ⅲ B.仅Ⅳ和Ⅴ C.仅Ⅱ和Ⅳ
D.仅Ⅰ、Ⅲ和Ⅴ
正确答案:D
解析:元数据是关于数据的数据,或者叫做描述数据的数据。元数据描述了数据的结构、内容、链和索引等项内容。在关系数据中,这种描述就是对数据库、表、列等其他对象的定义。因此可推出,Ⅰ、Ⅲ和Ⅴ不属于元数据。所以选择D选项。
应用题 31. SQL Server中根据索引的实现方式,索引技术可以分成有序索引和【1】两大类。
正确答案:散列索引
解析:根据索引的实现方式,索引技术被分成两大类:有序索引和散列索引。
32. 在分布式数据库中,使用【2】模式来描述各片段到物理存放场地的映像。
正确答案:分配 解析:分布式数据库总的数据分布策略可以从数据分片和数据分配两个角度来考虑,一般先数据分片,再数据分配。分片是对关系的操作,而分配是对分片结果的操作。分片模式是描述每个数据片断以及全局关系到片段的映像,分配模式是描述各片断到物理存放场地的映像。
33. SQL Server中有五种约束类型,分别是主键约束、【3】、唯一性约束、缺省约束和检查约束。
正确答案:外键约束
解析:SQL Server中有五种约束类型,分别是主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、唯一(UNIQUE)约束、缺省(DEFAULT)约束和检查(CHECK)约束。
34. 触发器有3种类型,即INSERT类型、UPDATE类型和【4】。
正确答案:DELETE类型
解析:DML触发器有三类:①INSERT触发器;②UPDATE触发器;③DELETE触发器。触发器的组成部分:①触发器的声明,指定触发器定时,事件,表名和类型;②触发器的执行,PL/SQL块或对过程的调用;③触发器的条件,通过Where子句实现。
35. 在SQIL Server 2008中,设有顾客表(顾客号,顾客名,所在地区,年龄),应用系统中需统计指定地区的顾客人数和平均年龄。请补全下列存储过程代码以完成该功能。 CREATE PROC P_Count@area varchar(20) AS SELECT COUNT(*)AS人数,【5】As平均年龄FROM顾客表WHERE所在地区=@area
正确答案:AVG(年龄)
解析:应用系统中需统计指定地区的顾客人数和平均年龄,COUNT( )函数返回匹配指定条件的行数,语法为: SELECT COUNT(*)FROM table_name; AVG函数返回数值列的平均值,语法为: SELECT AVG(column_name)FROM table_name; NULL值不包括在计算中。 则统计年龄即可用AVG(年龄)。
36. 在SQL Server 2008中,要授予某数据库中的某个用户具有该数据库中全部用户数据表的插入、删除和修改权限,比较合理的做法是将该用户添加到系统提供的【6】数据库角色中。
正确答案:db_datawriter
解析:SQL Server 2008中固定数据库角色是在数据库级别中定义的,并且存在于每个数据库中,不同的角色拥有不同的操作权限。其中db_datawriter固定数据库角色的成员具有插入、删除和修改数据库中所有用户数据的权限。
37. 事务是由一系列操作组成的,事务的执行表现为事务中各个操作的执行。每个事务应具有结束操作。当一个事务发生故障需要终止并取消所有已执行的数据修改时应执行【7】操作。
正确答案:UNDO
解析:当事务故障(即事务在运行至正常终止点前被终止)发生时,恢复子系统应利用日志文件撤销(UNDO)此事务已对数据库进行的修改。事务故障的恢复是由系统自动完成的,对用户透明。
38. 在SQL Server 2008中,某数据库用户User在此数据库中具有对于表数据的查询和更改权限。现要收回User对于T表的数据更改权,下述是实现该功能的语句,请补全该语句。【8】UPDATE ON T FROM User。
正确答案:REVOKE
解析:对数据的访问是通过SQL Server 2008的权限层次结构进行管理的。可以通过GRANT、DENY和REVOKE语句来管理这个权限层次结构。三种语句的作用分别为:①GRANT:允许一个数据库用户或角色执行所授权限指定的操作;②DENY:拒绝一个数据库用户或角色的特定权限,并且阻止它们从其他角色中继承这个权限;③REVOKE:收回已经授予的权限。
39. 设某数据库中作者表(作者号、城市)和出版商表(出版商号,城市)。请补全如下查询语句,使该查询语句能查询出在作者表里而不在出版商表中的城市。 SELECT城市FROM作者表作者 【9】 (SELECT城市FROM出版商表)
正确答案:WHERE作者.城市NOT IN
解析:要查询有作者但是没有出版社的结果集,可以采用子查询手段,即从作者表中查询城市,且城市不在出版社所在的城市。这时我们可以用NOT IN来实现,NOT IN的结果集是在外查询中存在,但是在内查询中不存在的记录。
40. 某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做。为了保证该操作的完整,需要利用到事务性质中的【10】性。
正确答案:原子性
解析:事务是数据库的逻辑工作单位,事务中包括的诸多操作要么操作,要么都不操作。
41. 在动态转储中,利用转储文件只能将数据库恢复到转储过程的某个状态,且转储文件中的数据可能不一致,只有和【11】文件综合起来使用,才能使
数据库恢复到一致状态。
正确答案:日志或LOG
解析:在动态转储中为了保证数据的有效性同时又不会降低数据库的可用性,需要引入日志文件,用它记录转储期间各事务对数据库的修改活动记录,然后使用动态转储的备份副本加上日志文件就可以将数据库恢复到某一时刻的正确状态。
42. 在数据仓库设计和建设过程中,设计者需要调查用户的决策或数据处理需求,并将功能相近且需要相关联数据支持的需求进行归类,得到不同的需求集合,并在企业数据模型中寻找能够满足各个需求集合的数据集合,然后针对各个数据集合开展数据仓库数据模型的设计。这种设计方法称为【12】的设计方法。
正确答案:面向主题 解析:面向主题的数据组织方式,就是在较高层次上对分析对象数据的一个完整并且一致的描述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,即按照主题进行数据组织的方式具有更高的数据抽象级别。与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据面向主题进行组织。例如,一个生产企业的数据仓库所组织的主题可能有产品订货分析和货物发运分析等。
43. OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。 OLAP的实现方式主要有三种:MOLAP、【13】和HOLAP。
正确答案:ROLAP
解析:OLAP的实现技术主要分为以下三类:①基于关系型数据库的DLAP(ROLAP,Re—lational OLAP);②基于数据库的OLAP(MOLAP,Multi—Dimensional OLAP);③混合型OLAP(HOLAP,Hybrid OLAP)
44. 【14】只记录自上次完整数据库备份后发生更改的数据。
正确答案:差异备份
解析:数据库备份分为以下几种:①完全备份,备份所有数据和日志;②差异备份,备份自上一次数据库完全备份以来产生的数据改变。
45. 【15】可以把两个或多个SELECT语句的查询结果组合成一个结果集,使用时要求所有SELECT语句的列数应相同,对应列的数据类型相容。
正确答案:UNION 解析:UNION操作符用于合并两个或多个SELECT语句的结果集。请注意,UNION内部的SELECT。语句必须拥有相同数量的列,而且对应列的语义应该相同。列也必须拥有兼容的数据类型。同时,每条SELECT语句中的列的顺序必须相同。
设计与应用题
46. 在一个数据库中,有如下关系模式: T1(a1,a2,a3),,12(a3,a4),T3(a6,a7),T4(a1,a3,a6,a8)。 其中标下划线的是关系模式的主码。不同关系模式之间的同名属性代表它们之间存在主外码参照关系。 试画出相应的ER图,使得可以从该ER图推导出上述关系模式定义,其中实体和联系的名称可以自定。 请写出创建T1表的T—SQL语句,设所有列的数据类型均为整型。
正确答案:(1)(2) create table T1 (a1 int primary key, a2 int. a3 int foreign key a3 references T2(a3) );
解析:ER图向关系模式转换涉及两方面:①实体的转换;②实体间联系的转换。 实体的转换:在从ER图转换为关系模式时,一个实体转换成一个关系模式,实体的属性就是关系模式的属性,实体的键就是关系的主键。 实体间联系的转换:实体间存在三种联系,即1:l(一对一)联系,1:m(一对多)联系,m:n(多对多)联系。在从ER图向关系模式转换时规则如下: (1)1:1(一对一)联系 方法一:联系转换为的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由两个实体中的任意一个键构成。 方法二:联系与一端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。; (2)1:m(一对多)联系 方法一:联系转换为的关系模式;模式的属性由联系本身的属性及两个实体的键构成;主键由m端实体的键组成。 方法二:与m端的实体的关系模式合并,即将联系的属性加入到实体的关系模式内,主键不变。 (3)m:n(多对多)联系。转换成新的的模式,模式的属性由联系本身的属性及两个实体的键构成,主键由两端实体的键组合而成。 本题考查的是关系模式向ER图转换,可以将ER图向关系模式转换做反向求解。 通过以上分析发现,实体在关系模式中只有实体本身的主码和属性;一对多的联系对应的关系属性除了有多端的主码和属性外,还有别的实体的主码;多对多的联系对应的关系属性由各个实体的码和联系本身的属性组成。 本题中,T2和T3乃两个关系模式只有自己的主码和属性,故T2和T3可以单独列为实体,T2对应的实体名称是A2,T3对应的实体名称是A3。 T1中既有A2中的主码,又有本身的主码和属性,根据一对多转换法则方法一可知,T1对应的实体Al的属性是a1和a2,外码是a3,且A2和A1之间是一对多关系。 根据多对多转换方法可以推知,A1、A2、A3之间存在对多多关系,关系的属性是a8。
47. 设在SQL Server 2008某数据库中有商品表和销售表,表的定义如下: CREATE TABLE商品表( 商品号char(10)PRIMARY KEY, 商品名char(20), 类别char(10), 进货单价int) CREATE TABLE销售表( 商品号char(10), 销售时间datetime, 销售数量int, 销售单价int, PRIMARY KEY(商品号,销售时间), FOREIGN KEY(商品号)REFERENCES商品表(商品号)) 现要创建一个具有如下功能的存储过程:查询指定类别的每个商品的商品号和销售总利润,包括没有被销售过的商品(未被销售过的商品的利润为0)。请补全下列代码。 CREATE【1】p_Profit@lb char(10) AS SELECT商品表.商品号, CASE WHEN销售表.商品号【2】THEN 0 ELSE 【3】((销售单价一进货单价)*数量) END AS销售总利润 FROM商品表【4】JOIN销售表ON商品表.商品号=销售表.商品号 WHERE类别=【5】 GROUP BY 【6】
正确答案:【1】PROC或PROCEDURE 【2】IS NULL 【3】SUM 【4】OUTER 【5】@lb 【6】商品表.商品号
解析:本题考查的是存储过程的使用。创建存储过程的语法: CREATE{PROC|PROCEDURE}存储过程名[{@存储过程参数参数类型]}[=默认值][OUT|OUTPUT] AS SQL语句对比语法可知【1】处应填写:PROC或PROCEDURE。 在数据库中未被销售的产品是空的,用NULL标识。题目要求“未被销售过的商品的利润为0”表示,在存储过程中,【2】后面有0,可以推断出【2】处作用是用来处理“未被销售过的商品的利润为0”功能的。根据语法规则【2】处应填写:IS NULL。 题目要求是求商品的总利润,SQL语句中求和是SUM( )函数,因此【3】处应该填写:SUM。 内联接(INNER JOIN):主表和从表都存在的记录才会查出来;外联接(OUTER JOIN)如果主表中存在的记录,从表中不存在则用NULL替代,根据题目特点,外链接符合题目要求,故【4】处应填写:OUTER。 题目要求是指定的商品类别,因此商品类别需要通过变量输入,故【5】处应填写:@lb。 题目要求是“查询指定类别的每个商品的商品号”,因此分组的依据应该是商品表中的商品号,故【6】处应填写:商品表.商品号。
48. 在数据库中存在销售单据明细表,其建表语句为:CREATE TABLE销售单据明细表(销售单据编号varchar(8),商品编号varchar(8),单价real,数量int,总价real);为了保持数据一致性,此表中存在符合业务要求的触发器:CREATE TRIGGER AutoCountSum ON销售单据明细表FOR INSERT,UPDATE AS DECLARE@UnitPrice real,@Quantity int,@Amount real SELECT@UnitPrice=单价,@Quantity=数量FROM inserted SET@Amount=@UnitPrice*@Quantity UPDATE销售单据明细表SET总价=@Amount WHERE销售单据编号IN(SELECT销售单据编号FROM inserted)AND商品编号IN(SELECT商品编号FROM inserted)在系统运行一段时间后,此表中有近千万条数据,此时发现对此表以“销售单据编号”和“商品编号”为条件,对其他字段进行修改时操作速度很慢。请分析原因,并在不改变硬件和SQL语句的前提下,给出优化方法。在解决了①中的问题系统平稳运行3年后,用户反映系统速度很慢,管理员考虑更换硬件。经过一段时间的监控,系统资源使用情况如下:CPU使用率一般不超过70%内存使用率95%磁盘IO使用率高峰期90%—95%,主要为读操作请根据以上数据,说明在此次更换硬件过程中,应该着重提高哪方面硬件性能,并给出原因。
正确答案:(1)对字段修改时操作速度很慢的原因是大量数据的查询速度慢,从而引起修改慢。优化的方法是在“销售单据编号”和“商品编号”上建立索引。(2)更换硬件时应该提高内存容量,磁盘在经济条件许可的条件下才有RAID10磁盘阵列。
解析:(1)索引技术是一种快速数据访问技术,建立索引的目的就是为了提高查询的效率。查询的性能在很大程度上取决于存在什么样的索引来加快选择和联接的处理。对于大量数据,只有快速的定位、减少查询的时间就会增加修改的速度。(2)对于CPU、内存、磁盘等硬件设备在空闲时使用率超过90%,说明硬件资源匮乏。如果在高峰时使用率小于90%说明硬件资源充足。本题中,内存
和磁盘的使用率都高于90%,而CPU的使用率不高于70%,说明内存、硬盘的资源匮乏,需要调整,而CPU的资源充足不需要调整。因此在硬件调整时,应提高内存的容量和硬盘的访问效率。使用RAID时,可以将基本表和建立在表上的索引分别放在不同的磁盘上,这样访问基本表时,存放数据和存放索引的磁盘驱动器并行工作,可以得到较快的文件读写速度;类似的,日志文件与数据对象(表、索引等)也可分别存放在不同磁盘上以改善系统的I/O性能。在RAID中,RAID10是一个RAID0与RAID1的组合体,它继承了RAID0的快速和RAID1的安全,同时读写速度均提高。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务