计算机三级(数据库技术)模拟试卷71 (题后含答案及解析)
题型有:1. 选择题 3. 应用题 4. 设计与应用题
选择题 1. 在数据模型三个要素中,表述客观世界中数据对象之间关联的是( )。 A.数据操作 B.数据结构 C.数据视图 D.完整性约束
正确答案:B 解析:数据模型三个要素包括: ①数据结构 数据结构是所研究的对象类型的集合。它从语法角度表述了客观世界中数据对象本身的结构和数据对象之间的关联关系,是对系统静态特征的描述。 ②数据操作 数据操作是对数据库中对象的实例允许执行的操作的集合,主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。 ③数据完整性约束 数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
2. 数据库系统的三级模式结构从数据库系统管理角度考虑数据的组织与存储。下列不属于数据库三级模式结构的是( )。
A.逻辑模式 B.物理模式 C.外模式 D.应用模式
正确答案:D
解析:数据库三级模式结构: ①内模式也称存储模式或物理模式,它是数据物理结构和存储结构的描述,是数据在数据库内部的表示方式。并且一个数据库只有一个内模式。 ②模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用和所使用的开发工具及高级程序设计语言无关。 ③外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。 数据库系统的三级模式结构是指数据库由外模式、模式和内模式三级构成,并通过二级映象功能将三个模式联系起来。
3. 在信息系统的需求分析中,目前广为使用的结构化分析与功能建模方法
主要有DFD、IDEF0等。其中,DFD建模方法也被称为过程建模和功能建模方法,其核心是( )。
A.数据 B.软件 C.数据流 D.分析过程
正确答案:C
解析:数据流图(Data Flow Diagram,简称DFD)是便于用户理解系统数据流程的图形表示。DFD建模方法的核心是数据流,它能精确地在逻辑上描述系统的功能、输入、输出和数据存储等,从而摆脱了其物理内容。数据流图是系统逻辑模型的重要组成部分。 DFD特性: ①抽象性:在DFD中具体的组织机构、工作场所、物质流等都已经去掉,只剩下信息和数据存储、流动、使用以及加工的情况。所以描述的是抽象出来的数据。 ②概括性:它把系统对各种业务的处理过程联系起来考虑,形成一个总体,可反映出数据流之间的概括情况。
4. 设有关系模式R(A,B,C,D),存在函数依赖集:{A→B,C→D},则R最高可属于( )。
A.1NF B.2NF C.3NF D.BCNF
正确答案:A
解析:如果关系模式R中不包含多值属性,则R满足第一范式,简称1 NF,记作R1 NF。可知此题中R1NF,且R的所有非主属性不依赖于一个候选码,候选码(A、C)→(B、D)存在非主属性对主码的部分函数依赖,故不满足2NF,所以R最高1NF。因此选择A选项。
5. 数据库设计主要包括概念设计、逻辑设计和物理设计三个步骤。设有下列活动: Ⅰ.设计ER图 Ⅱ.将ER图转换为关系模式 Ⅲ.定义数据的约束条件 Ⅳ.用SQL语句描述事务活动 上述活动中,属于逻辑设计所包含活动的是( )。
A.仅Ⅰ、Ⅱ和Ⅲ B.仅Ⅱ、Ⅲ和Ⅳ C.仅Ⅱ和Ⅲ D.仅Ⅱ和Ⅳ
正确答案:C 解析:逻辑设计的主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式,这一步设计的结果就是所谓的“逻辑数据库”。ER图到关系模式的转换和定义数据的约束条件都是在逻辑设计层面上的操作,设计ER图是概念设计阶段的产物。
6. 从功能上讲,数据库应用系统设计包括四个层次。下列层次中包含索引设计的是( )。
A.表示层 B.业务逻辑层 C.数据访问层 D.数据持久层
正确答案:D
解析:数据库应用系统设计的四个层次分别为:①表示层;②业务逻辑层;③数据访问层;④数据持久层。在这四个层次中,数据持久层的设计工作属于数据组织与存储等方面的物理设计内容,而索引设计属于物理设计阶段。因此,索引设计是在数据持久层上的设计。
7. 在数据库应用系统生命周期中,当逻辑设计阶段完成后进入到物理设计阶段。下列不属于物理设计阶段活动的是( )。
A.确定关系表的文件组织形式 B.进行关系规范化设计 C.创建必要的索引 D.设置存储分配参数
正确答案:B
解析:数据库物理设计阶段活动包括:①数据库逻辑模式;②选择或配置基本关系表的文件组织形式,为基本关系表设计数据存取方法或存取路径;③数据分布设计;④安全模式设计;⑤确定系统配置;⑥物理模式评估。
8. 查询处理器和存储管理器是数据库管理系统中的核心模块。下列关于查询处理器和存储管理器的说法,错误的是( )。
A.查询处理器中的DML编译器会对用户提交的DML语句进行优化,并将其转换成能够执行的底层数据库操作指令
B.存储管理器中的查询执行引擎会根据编译器产生的指令完成具体数据库数据访问功能
C.存储管理器中的缓冲区管理器负责将从磁盘读出的数据块放人内存缓冲区,同时也负责对缓冲区中的数据块进行维护
D.查询处理器中的DDL编译器编译或解释用户提交的DDL语句,并将生成的元数据存储在数据库的数据字典中
正确答案:B
解析:查询处理器中最主要的模块是查询编译器和查询执行器,负责DML语句解析和执行,因此B项中所阐述的不是存储管理器的功能,应该是查询处理器的功能。
9. 下列简化的UML关系图中,最不恰当的是( )。 A.
B. C. D.
正确答案:D
解析:在UML类图中,常见的有以下几种关系:①泛化(【箭头及指向】:带三角箭头的实线,箭头指向父类);②实现(【箭头及指向】:带三角箭头的虚线,箭头指向接口);③关联(【箭头及指向】:带普通箭头的实心线,指向被拥有者);④聚合【(箭头及指向】:带空心菱形的实心线,菱形指向整体);⑤组合【(箭头及指向】:带实心菱形的实线,菱形指向整体);⑥依赖(【箭头及指向】:带箭头的虚线,指向被使用者)。D选项是属于组合关系,因此实心菱形的箭头应该指向“窗体”,即实心菱形应该标在窗体旁边。
10. 设有购买表(顾客号,商品号,购买时间)。现要查询2012年顾客A购买了但顾客B没有购买的商品。有下列查询语句: Ⅰ.SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’A’ AND商品号NOT IN( SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’B’) Ⅱ.SELECT商品号FROM 购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’A’ EXCEPT SELECT商品号FROM 购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’B’ Ⅲ.SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’A’ INTERSECT SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’B’ Ⅳ.SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号=’A’ UNION SELECT商品号FROM购买表 WHERE YEAR(购买时间)=’2012’AND顾客号<>’B’ 上述语句中,能够实现该查询要求的是( )。
A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅰ和Ⅳ D.全部
正确答案:A
解析:Ⅲ选项中INTERSECT返回两个集合皆有的数据,该SQL语句返回顾客A和B都购买的商品号,不符合题意;Ⅳ选项中的UNION查询出了顾客A购买的商品,通过UNION关键字合并了顾客B没有购买的商品,因此总的视图为顾客A购买的商品和B没有购买的商品总和,不符合要求。Ⅰ、Ⅱ实现的是顾客A购买商品集合与顾客B购买商品集合的差集。因此满足要求的为Ⅰ和Ⅱ,因此选择A选项。
11. 在SQL Server 2008中,设在某数据库中建有如下所示的存储过程: CREATE PROC P1 @a int=20,@b char(4) AS…… 设有下列调用该
存储过程的语句: Ⅰ.EXEC P1 100,’a01’ Ⅱ.EXEC P1’a01’ Ⅲ.EXEC P1@b=’a01’ Ⅳ.EXEC P1@a=default.@b=’a01’ 上述语句中,能够正确调用该存储过程的是( )。
A.仅Ⅰ和Ⅱ B.仅Ⅰ、Ⅱ和Ⅲ C.仅Ⅰ、Ⅲ和Ⅳ D.全部
正确答案:C
解析:由题目存储过程可知,存储过程P1定义了两个带有默认值的参数。执行多个输入参数的存储过程时,参数的传递方式有两种:按照参数位置传递值和按参数名称传递值。如果定义了默认值,则在执行存储过程时可以不必指定该参数的值。但若按照参数位置传递值时必须从左往右赋值,即不能跳过左边的某个默认参数而传递某个值。Ⅱ中的参数赋值采用按参数位置传值,必须从左到右赋值。其他三项均符合存储过程的调用规则。
12. 在SQL Server 2008中,设表T(a,b)上建有如下触发器: CREATE TRIGGER tri_update ON T FOR UPDATE AS IF EXISTS(SELECT*FROM inserted WHERE b not between 0 and 100) ROLLBAC K 设表T中已有数据:(‘a01’,90),如果执行语句: UPDATE T SET b=100 WHERE a=’a01’ 则触发器临时工作表及执行完该语句后表T中的数据为( )。
A.T表:(‘a01’,100) INSERTED表:(‘a01’,90) DELETED表:(‘a01’,100)
B.T表:(‘a01’,90) INSERTED表:(‘a01’,90) DELETED表:(‘a01’,100)
C.T表:(‘a01’,100) INSERTED表:(‘a01’,100) DELETED表:(‘a01’,90)
D.T表:(‘a01’,90) INSERTED表:(‘a01’,100) DELETED表:(‘a01’,90)
正确答案:C
解析:用FOR关键字定义的触发器为后触发型触发器,即只有在引发触发器执行的语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后才执行触发器。其中INSERTED表用于存储INSERT和UPDATE语句所影响行的新值的副本,DELETED表用于存储DELETE和UPDATE语句所影响行的旧值的副本。在执行“UPDATE T SET b=100WHERE a=’a01’之后,T表为:(‘a01’,100),INSERTED表内容变为:(‘a01’,100),DELETED表内容变为:(‘a01’,90)。继续判断约束检查“SELECT*FROM inserted WHERE b not between 0 and 100”,因为INSERTED表中的b等于100,因此约束不成立,故触发器不执行。
13. 下列关于SQL Server 2008视图的说法,错误的是( )。 A.数据库中只存储标准视图的定义,并不存储标准视图的内容
B.如果在视图上创建了唯一聚集索引,则数据库中将保存该视图的内容 C.索引视图的数据源可以是基本表,也可以是已建立的其他标准视图
D.索引视图引用的基本表必须与视图在同一个数据库中
正确答案:C
解析:创建索引视图的步骤:①使用SCHEMABINDING子句来创建一个视图。这个视图必须符合许多要求,例如,它只能引用同一数据库中的基表,而不能是其它标准视图。所有引用的函数必须是确定性的,行集函数、派生表和子查询都不能在索引视图中使用;②在视图上创建一个惟一索引。这个索引的叶子级由视图的完整结果集组成;③在聚集索引的基础上根据需求创建非聚集索引。非聚集索引可以按平常的方式创建;④创建并使用索引视图。
14. 在SQL Server 2008中,设要为数据库DB1添加一个新的数据文件,该文件的逻辑名为 filex,物理文件名为filex.ndf,存储位置为D:\DB1,初始大小和最大大小均采用系统默认值,增长方式为自动增长,每次增加20%。下列语句中正确的是( )。
A.ALTER DATABASE DBl ADD FILE( NAME=filex, FILENAME=D:\DB1\filex.ndf, FILEGROWTH=20)
B.ALTER DATABASE DB1 ADD FILE( NAME=filex, FILENAME=D:\DB1\filex.ndf, FILEGROWTH=20%)
C.ALTER DATABASE DB1 ADD FILE( NAME=filex, FILENAME=’D:\DB1\filex.ndf’, FILEGROWTH=20)
D.ALTER DATABASE DBl ADD FILE( NAME=filex, FILENAME=’D:\DB1\filex.ndf’, FILEGROWTH=20%)
正确答案:D
解析:在SQL Server 2008中,ALTER DATABAsE命令中的FILENAME对应的代码需要带上单引号,因此A选项和B选项错误。FILEGROWTH如果加上%则为百分比,如果省略%,数据库系统则默认采用增加单位是MB,因此A选项和C选项错误。故选择D选项。
15. 在SQL Server 2008中,建立索引视图的目的是为了提高数据查询的效率。下列关于索引视图的说法,错误的是( )。
A.当很少对基表数据进行更改操作时,适合建立索引视图
B.索引视图的数据被物理地保存在数据库中,因此建立索引视图会占用更多的存储空间
C.对于经常执行连接和聚合操作的查询,不适合建立索引视图
D.如果Group By列具有高基数度的数据聚合,则不适合建立索引视图
正确答案:C 解析:索引视图可以提高下列查询类型的性能:①处理大量行的联接和聚合;②许多查询经常执行联接和聚合操作;③决策支持工作负荷。索引视图通常不会提高下列查询类型的性能:①具有大量写操作的OLTP系统;②具有大量更新的数据库;③不涉及聚合或联接的查询;④GROuP BY键具有高基数度的数据聚合。高基数度表示列包含许多不同的值。当GROUP BY后跟的列值包含许多不同的值,导致视图图和表的行数相等,那么该列使用索引视图并不能提高查询效率。
16. 下列关于SQL Server 2008中guest用户的说法,错误的是( )。 A.guest用户没有对应的登录账户名
B.通过授权语句可以启用数据库中的guest用户
C.所有数据库用户都继承该数据库中guest用户的权限
D.任何SQL Server登录账户都可以访问启用了guest用户的数据库
正确答案:C
解析:所有的数据库用户不是继承数据库中guest用户的权限。
17. 下列关于SQL Server 2008身份验证模式的说法,错误的是( )。 A.在“Windows身份验证模式”下,不允许sa登录到SQL Server服务器 B.在“windows身份验证模式”下,所有Windows用户都自动具有登录到SQL Server服务器的权限
C.不管是哪种身份验证模式,Windows中的Administrator无需授权就可登录到SQL Server服务器
D.安装好SQL Server之后,可以根据需要随时更改身份验证模式
正确答案:B 解析:在“Windows身份验证模式”下,所有Windows用户登陆到SQL Server服务器都无需再提供用户名和密码,但SQL Server会从用户登录到Windows时提供的用户名和密码查找当前用户的信息,判断其是否是SQL Server的合法用户,不是,则拒绝登录。
18. 提高事务的并发度可以改进数据库应用系统的性能。有下列做法: Ⅰ.尽可能使用排它锁 Ⅱ.尽可能使用行锁 Ⅲ.设定较低的事务隔离等级 Ⅳ.将大事务切分成若干小事务 上述做法中,可以提高系统的事务并发度的是( )。
A.仅Ⅰ、Ⅱ和Ⅲ B.仅Ⅰ、Ⅱ和Ⅳ C.仅Ⅱ、Ⅲ和Ⅳ D.以上全部
正确答案:C
解析:数据库关于锁的优化原则为:锁是并行处理的重要机制,能保持数据并发的一致性,即按事务进行处理。系统利用锁保证数据的完整性。虽然我们避免不了死锁,但在设计时可以充分考虑如何避免长事务,减少排它锁时间,减少事务与用户的交互时间,杜绝让用户长时间控制事务,还要避免批量数据同时执行,尤其是耗时长并使用相同的数据表。Ⅰ中采用排他锁则限制了数据的共享,降低了并发度,其他选项均能提高并发度。
19. 数据库应用系统日常维护的目标是保证系统能够正常运行以满足系统预期的功能和性能要求。下列关于数据库应用系统日常维护工作的说法,错误的是( )。
A.数据库管理员应根据不同的应用要求制定不同的备份计划,在备份计划中应包含备份的时间、周期、备份方式和备份内容等
B.数据库管理员应监控数据库中各种锁的使用情况,在数据库出现锁不能及时解除时可能需要手工解锁
C.很多情况下,数据库管理员需要定期检查CPU、内存使用情况和操作系统相关日志,防止数据库运行环境故障导致数据库出现问题
D.为了保证系统可靠运行,运行要求级别较高的数据库一般采用人工监控方法,很少采用自动监控手段
正确答案:D
解析:数据库应用系统日常维护工作一般包括数据库的备份、锁管理、日志的维护等。若是对运行要求级别较高的数据库采用人工监控的办法,则容错性低、成本大,因而一般采用自动监控手段提高性能。
20. 数据库应用系统投入运行后,应用系统进入运行管理与维护阶段。设某学生管理系统在 Ⅰ.定期检查数据文件的存储空间占用情况,并根据需要分配存储空间 Ⅱ.分析数据库中各种操作,以发现潜在性能问题 Ⅲ.将数据库中历史数据转储到离线存储介质中长期保存 Ⅳ.根据用户要求对应用程序从功能上进行扩充和完善 以上工作中一般不属于数据库管理员日常维护工作的是( )。
A.仅Ⅰ和Ⅲ B.仅Ⅳ
C.仅Ⅱ和Ⅳ D.仅Ⅱ
正确答案:B
解析:数据库维护的主要内容有以下几方面:①数据库的转储和恢复;②数据库安全性、完整性控制;③数据库性能的检测和改善;④数据库的重组和重构。Ⅳ选项不属于数据库维护工作。
21. 在进行数据库性能调优过程中,需要考虑数据库系统软件、硬件配置、网络环境等多方面因素。下列有关性能调优的说法,错误的是( )。
A.修改某些频繁使用的SQL语句,提高其性能,可能会大幅度降低数据库CPu使用率
B.随着服务器CPU处理能力提高、内存容量增大,现阶段数据库性能优化一般以更换服务器硬件为主要调优手段
C.当数据库服务器磁盘IO出现写瓶颈时,可以考虑使用高速磁盘存储常用数据,低速磁盘存储不常用数据
D.索引可以提高某些查询的速度,但也可能降低写入速度,同时也会增加磁盘空间使用
正确答案:B 解析:增强硬件配置是一种方法,但我们平时遇到的最多的问题是如何在无法增强硬件配置的情况下将数据库性能优化,因此在实际应用过程中,数据库本
身的优化占的比重很大,而且优化效果也最明显。
22. 下列关于数据库实施、运行和维护的说法中,最恰当的是( )。 A.对于数据量超大的数据库应用系统,最好在刚刚建立好数据库且未导人任何数据前编写调试应用程序
B.对于数据量极大的中大型系统,不需要等待所有的数据都入库后才开始试运行,可以先装载少量的数据,等到试运行的结果符合设计要求后,再批量装入全部数据
C.数据库的重构不仅需要在原来的数据库设计的基础上做适当的扩充或修改,也最好考虑重新设计相应的应用程序
D.索引的根本目的是为了提高查询效率,但当数据量庞大时也会占用大量的磁盘空间。由于查询缓存的存在,因此不需要为经常在查询中作为条件的列建立索引
正确答案:B
解析:A选项中在调试应用程序时,如果数据入库尚未完成,数据库没有数据,应用程序的调试将会出现一定的困难;C选项中数据库重构应该尽量避免应用程序的改动;D选项中经常查询的列应该建立索引。
23. 设某数据库服务器中配置有2块300GB和1块500GB的硬盘,为了保证可靠性,数据库管理员在3块硬盘上建立了RAID5。建立RAID5后,可用的磁盘空间为( )。
A.1100GB B.600GB C.300GB D.500GB
正确答案:B
解析:Raid5需要3块硬盘,并把数据和相对应的奇偶校验信息存储到组成raid5的各个磁盘上。其中任意N-1块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此可用空间为300+300=600G。
24. 某商场经营管理系统在3点进行了数据库全备份,9点进行了数据库日志备份,10点30分存储数据库数据的磁盘出现故障,但日志保存在另外一个磁盘中。数据库管理员发现问题后随即进行数据恢复工作,在所有备份均可用的情况下,数据库数据可以恢复到的时间点为( )。
A.3点 B.9点
C.10点30分
D.数据库不可恢复
正确答案:C
解析:因为3点进行了数据库全备份,而日志又保存在另一个磁盘中,且存
放日志的磁盘未损坏。因此在故障发生时,先对结尾日志备份,然后依次使用数据库全备份、日志备份和结尾日志备份,可以将数据库数据恢复到10点30分的状态。
25. 在SQL Server 2008中,设某日用bk1和bk2设备对DB1数据库进行了如下备份操作(说明:括号中内容为备份开始时间): bk1设备:完整(10:00)、日志(11:00)、日志(13:00)、日志(15:00) bk2设备:差异(12:00)、差异(14:00)、差异(16:00) 现要利用备份将DB1数据库恢复到16:00状态。下列恢复序列中,正确的是( )。
A.完整(10:00)→日志(11:00)→日志(13:00)→日志(15:00)→差异(16:00)
B.完整(10:00)→差异(12:00)→差异(14:00)→差异(16:00)
C.完整(10:00)→日志(11:00)→差异(12:00)→日志(13:00)→差异(14:00)→日志(15:00)→差异(16:00)
D.完整(10:00)→差异(16:00)
正确答案:D
解析:数据库的恢复顺序如下:①恢复最近的完全数据库备份;②恢复完全备份之后的最近的差异数据库备份;③按日志备份的先后顺序恢复自最近的完全或差异数据库备份之后的所有日志备份。
26. XML数据库是一种新型的数据库管理系统。下列关于XML数据库的说法,错误的是( )。
A.由XML文档本身带有标记,可以自描述,因此XML数据库并不对XML文档进行解析
B.目前XML数据库主要包括XEDB、NXD和HXD三种类型
C.很多关系数据库厂商在其传统的数据库产品中进行了扩充,使其能够处理XML文档
D.在数据本身具有层次特征时,XML文档能够清晰地表达数据的层次特征
正确答案:A
解析:XML数据库需要对XML文档进行解析,因为XML文档的本身标记只是文档本身的描述,需要经过数据库的解析才能达到具体的用途。
27. 现有一个大型咨询公司的数据库应用系统,每个部门都要生成大量的全局报表并执行少量的更新操作。随着数据量的增加,系统出现了性能瓶颈。鉴于各个部门地理上是分散的,公司希望采用分布式数据库技术解决该问题。下列数据分配方式中最适合该应用的是( )。
A.集中式 B.分割式 C.复制式 D.混合式
正确答案:C 解析:集中式是指所有的数据片断都安排在一个场地上。分割式是指所有全局数据只有一份,它们被分割成若干片断,每个片断被分配在一个特定的场地上。全复制式是指全局数据有多个副本,每个场地上都有一个完整的数据副本。混合式是指全局数据被分为若干个数据子集,每个子集都被安排在一个或多个场地上,但是每个场地未必保存所有数据。以上四种分配方式各有千秋,但复制式在每个分场都有完整的数据,这样大大减少了各部门对全局数据的访问。因此采用复制式数据分配能够提高每个场地的响应速度。
28. 下列关于分布式数据库和并行数据库的说法,正确的是( )。
A.为了满足高并发业务的需要,共享内存结构的并行数据库比较适用于如银行出纳、民航售票等OLTP应用
B.在分布式数据库的查询中,导致数据传输量大的主要原因是数据间的连接操作和选择操作
C.如果数据分布不合理,并行数据库仅仅依靠多处理器、共享硬件资源等手段是无法实现真正意义上的并行处理的,也无法使其性能最优化
D.与集中式数据库系统的事务相比,分布式数据库系统中只需要一个场地完成提交即可完成一个全局事务,这正是分布式数据库的优越之处
正确答案:C
解析:A选项中的OLTP应用需要进行大量的并行事务,’因此若采用共享内存结构会引起大量数据冲突;B选项中分布式数据库查询中,导致数据传输量大的原因主要是数据间的连接和并操作;D选项中分布式数据库因为不同的分片和副本,因此很多时候在一个场地完成提交不能完成全局事务,如虽完成某片数据更新,却并没有完成全局数据更新。
29. 关于商场的DBAS,设有如下数据内容: Ⅰ.数据库结构说明 Ⅱ.顾客名单 Ⅲ.数据清洗规则 Ⅳ.订单细节数据 Ⅴ.商品分类销售汇总数据 上述选项中是元数据的是( )。
A.仅Ⅰ、Ⅱ、Ⅲ和Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ和Ⅴ C.仅Ⅰ和Ⅲ D.全部都是
正确答案:C
解析:元数据是关于数据的数据,或者叫做描述数据的数据。元数据描述了数据的结构、内容、链和索引等项内容。在关系数据中,这种描述就是对数据库、表、列等其他对象的定义。因此可推出,Ⅰ、Ⅲ和Ⅴ不属于元数据。选择C选项。
30. 以下是某商场的购物记录集合,每个购物篮中包含若干商品。现在要基于该数据集进行关联规则挖掘,如果设置最小支持度为60%,最小置信度为80%,则在以下列出的关联规则中,符合条件的是( )。
A.A→B
B.B→C C.C→B D.D→C
正确答案:D
解析:由关联规则Q→D计算过程可知:支持度=事务中同时包含X、Y的百分比,置信度=在事务已经包含X的情况下包含Y的百分比。则可以计算出事务同时包含C、D的支持度为:3/5=60%,在包含D的情况下,包含C的百分比为:3/3=100%,因此D选项满足要求,其他选项均不满足最小支持度或者最小置信度。
应用题
31. 数据库管理系统提供了数据定义语言(DDL),用于定义各种数据库对象。数据定义语句经DDL编译器编译后,各种对象的描述信息存放在数据库的【1】中。
正确答案:数据字典 解析:数据字典是对系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位,通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。
32. 关系数据库中要求关系的主码不能为空,这属于数据模型三要素中的【2】。
正确答案:完整性约束
解析:数据模型通常由数据结构、数据操作和完整性约束三部分构成。数据的完整性约束是一组完整性规则,它是给定的数据模型中数据及其联系所有的制约和依存的规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效、相容。实体的完整性规定,主码的任何属性都不能为空,因为概念模型中实体和联系都是可区分的,而且它们以码为唯一性标识。如果主码的属性值可以为空,则意味着在概念模型中存在着不以码为唯一性标识的实体。显然前后矛盾。
33. 设有如下UML图。该图是一种【3】图。
正确答案:顺序 解析:顺序图主要用于描述系统内对象之间的消息发送和接收序列。它有两个坐标轴:纵向表示时间的持续过程,横向表示对象,每一个对象用矩形框表示,纵向的虚线表示对象在序列中的执行情况。顺序图的第一个消息一般在左边第一个对象的生命线顶端,其他消息按时间顺序相继插入顺序图中,后面发生的消息的线应比前面发生的消息的线画得低一些,以表示它们之间的时间关系。
34. 现有系表(系号,系名,联系电话)和教师表(教师号,教师名,职称,
工资,系号)。目前某些系还没有招聘到教授,如果要用一个查询语句列出没有招聘到教授的系的系号和系名,用【4】连接操作可以实现这个查询。
正确答案:外
解析:两个关系R与S在做自然连接时,选择两个关系在公共属性上值相等的元组构成新的关系。关系R中某些元组有可能在S中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃,同样,S中某些元组也可能被舍弃。如果把舍弃的元组也保存在结果关系中,而在其它属性上填空值(Null),那么这种连接就叫外连接。题中两个表做外连接,那些没有对应教师的系也会被留下来,方便查看。
35. 设有商品表(商品号,商品名,商品类别),其中商品号为主码,商品名和商品类别不为空。现要统计商品数量最多的前3类商品(包括并列情况),希望列出商品类别和商品数量。请补全下列语句: SELECT【5】商品类别,COuNT(*)As商品数量 FROM商品表 GROUP BY商品类别 ORDER BY COUNT(*)DESC
正确答案:TOP 3 WITH TIES 解析:希望选出商品数量最多的前3类商品,并获得相应的商品类别和数量。with ties一般是和Top、order by相结合使用,表示包括与最后一行order by后面的参数取值并列的结果。
36. 在SQL Server 2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用4031字节,则存储该表数据大约需要【6】MB存储空间,其空间利用率大约是【7】%。 (存储空间和空间利用率均保留到整数,小数点后按四舍五入处理)
正确答案:第一空:80 第二空:50
解析:在SQLServer中,数据存储的基本单位是页。为数据库中的数据文件(.mdf或.ndf)分配的磁盘空间可以从逻辑上划分成页(从0到n连续编号),磁盘I/O操作在页级执行。也就是说,SQL Server读取或写入所有数据页。在SQL Server中,页的大小为8KB,这意味着SQL Server数据库中每MB有128页,每页的开头是96字节的标头,用于存储有关页的系统信息,此信息包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元ID。行不能跨页,但是行的部分可以移出行所在的页,因此行实际可能非常大。页的单个行中的最大数据量和开销是8,060字节,由于题目中2行数据加起来的存储空间大于数据页,所以每页只能存储一行,因为1M有128页,也就可以存储128行,10000/128得80MB空间。至于空间利用率(实际存储数据量/所占的存储空间),考虑到每行4031字节为8060的一半,所以近似得到50%。
37. 使用约束可以保证数据库中数据的正确性,其中【8】约束允许出现空值但不允许出现重复值。
正确答案:UNIQUE
解析:数据表中对于某一列数据的唯一性约束有UNIQUE约束和PRIMARY约束,但两者之间有区别。PRIMARY KEY约束多为强调主键不可出现相同元素,但想要强制一列或多列组合(不是主键)的唯一性时应使用UNIQUE约束而不是PRIMARY KEY约束。而且,UNIQUE约束允许出现空值,PRIMARY KEY约束不允许出现空值。
38. 在SQL Server 2008中,设log1是SQL Server身份验证模式的数据库服务器登录帐户。现要授予logl具有创建数据库的权限,请补全下列语句:EXEC sp_addsrvrolemember’log1’,’【9】’
正确答案:dbcreator
解析:EXEC sp_addsrvrolemember是登录账户权限之意,sp_addsrvrolemember是定义好的存储过程。其作用是为登录账户赋角色权限。数据库主要的角色及权限如下表:
39. 数据库管理系统一般通过周期性检查【10】图来实现死锁检测。
正确答案:事务等待
解析:事务等待图是一个有向图G=(T,U),T为结点的集合,每个结点表示正在运行的事务;U为边的集合,每条边表示事务等待的情况。若事务T1等待事务T2,则T1、T2之间有一条有向边,从T1指向T2。如果发现图中存在回路,则表示系统中出现了死锁。
40. 一个事务执行过程中,其正在访问的数据被其他事务修改,导致处理结果不正确。这是由于不满足并发事务间的【11】性而引起的。
正确答案:隔离 解析:当多个用户并发地存取数据时就会产生多个事务同时存取一个数据的情况,若对并发操作不加控制就可能会存取不正确的数据,破坏事务的一致性和数据库的一致性。并发操作带来的数据不一致性主要包括丢失修改、不可重复读和读“脏”数据,产生上述三类数据的不一致性主要原因就是并发操作破坏了事务的隔离性,所以数据库管理系统必须提供并发控制机制。
41. 在数据库系统出现系统故障后进行恢复时,对于事务T,如果在日志文件中有BEGINTRANSACTION记录,也有COMMIT记录,但其对数据的修改没有写到数据库中,则数据库管理系统处理这种事务时应执行的操作是【12】。
正确答案:REDO 解析:系统故障造成数据库不一致状态的原因有两个,一是未完成的事务对数据库的更新可能已写入数据库,二是已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。对于故障发生前已提交的事务(既有BEGIN Transaction,又有commit)做redo操作,对于故障发生时尚未完成的事务(只有BEGIN Transaction,而没有commit或rollback)做undo操作。
42. 设某并行数据库采用一台具有14个刀片的刀片服务器,每个刀片具有独立的内存和磁盘,各刀片之间通过刀片服务器上的以太网交换机实现通信,则该并行数据库采用的体系结构是【13】结构。
正确答案:无共享
解析:并行数据服务器分为两种结构:完全共享资源结构、完全不共享资源结构。完全共享资源结构指对每个数据项的存取都要经过公共通信线路,其所有的处理器共享内存、磁盘等资源。完全不共享资源结构指高功能计算机系统由多个较小的系统替代,每个站点都要实现全局数据目录,每个站点有独立的内存和磁盘对应该站点的服务器。
43. 数据仓库是一个面向【14】的、集成的、非易失的、且随时间变化的数据集合。
正确答案:主题 解析:数据仓库是为了构建新的分析处理环境而出现的一种数据存储和组织技术,基本特征包括:数据是面向主题的、集成的、非易失的、随时间不断变化的。主题是一个在较高层次上对数据的抽象,这使得面向主题的数据组织可以独立于数据的处理逻辑,因而可以在这种数据环境上方便地开发新的分析型应用。
44. 粒度是反映数据库系统中综合程度的指标。设有表T1(商品标识,销售时间,销售量)、T2(商品标识,日期,总销售量)和T3(商品类别,月份,总销售量),其中粒度最大的表是【15】。
正确答案:T3 解析:粒度问题是设计数据仓库的一个最重要方面。粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。细化程度越高,粒度级就越小;相反,细化程度越低,粒度级就越大。由题意可知,粒度最大的表应是T3。
设计与应用题
设有某商业单位需要建立商务数据库用以处理销售记账,它记录的数据包括:顾客姓名,所在单位及电话号码;商品名称,型号,产地及单价;某顾客购买某商品的数量及日期。假定无同名顾客,无同型号商品,电话公用,顾客可在不同日期买同一商品。
45. 请画出该单位的商务ER图模型并优化。
正确答案:ER模型如下所示:
解析:ER图的画法 建立相应的ER图的过程如下: 第一,确定实体类型。本题有两个实体类型,即顾客实体和商品实体。 第二,确定联系类型。该题中只有顾客一商品模型。 第三,把实体类型和联系类型组合成ER图。 第四,确定实体类型和联系类型的属性。 顾客实体集属性:姓名、
单位、电话号码 商品实体集属性:型号、名称、产地、单价 由顾客和商品两个实体和一个顾客一商品购买关系,并且根据实体的属性可以画出相应ER图。
46. 将ER模型换成关系模型并规范化到3NF。
正确答案:将ER模型转换为关系模型,并规范到3NF: 顾客(姓名,单位,电话号码),主键:姓名 商品(型号,名称,单价,产地),主键:型号 购买(姓名,型号,数量,日期),主键:姓名+型号 因为转换过来的关系模式中,不存在属性依赖于其他非主属性,因此对转换的结果不需要优化。
解析:ER模型转换为关系模式的规则 ①把ER模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。 ②把ER模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定: 若联系为1:1(一对一),则每个是实体集码均是该关系的候选码。 若联系为1:n(一对多),则关系的码为n端实体集的码。 若联系为m:n(多对多),则关系的码为各实体集码的组合。 ③合并具有相同码的关系。 根据规则,把一个ER模型转换为关系模式,一般经历下面两个步骤: 1)标识ER模型中的联系。 2)依次转换与每个联系相关联的实体集及联系。 3)关系模式满足3NF,则必须满足关系模式中每隔一个非主属性既不部分依赖于码也不传递依赖于码,简而言之,第三范式就是属性不依赖于其他非主属性。 本题中从ER模型转换成关系模型,由两个实体和一个关系分别可以转换成三个关系模式。
47. 设在采用SQL Server 2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询: BORROWER: (1)检索至少借了5本书的同学的借书证号、姓名、系名和借书数量。 (2)检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
正确答案:(1)SELECT LOANS.借书证号,姓名,系名,COUNT(*)AS借书数量 FROM BORROWER,LOANS WHERE BORROWER.借书证号=LOANS.借书证号 GROUP BY LOANS.借书证号 HAVING COUNT(*)>=5; (2)SELECT姓名,系名,书名,借书日期 FROM BORROWER,LOANS,BOOKS WHERE BORROWER.借书证号=LOANS.借书证号AND LOANS.图
解析:(1)采用两表联合查询。以两表“借书证号”为相等条件,在结果集中用GROUP BY按照“借书证号”来分类,并且用HAVING关键字统计出符合条件的记录数。 (2)采用IN关键字进行两表联合查询,在BORROWER和LOANS联合的结果集中查找满足第三个表指定的条件。
48. 在SQL Senrer 2008中,设有教师表(教师号,姓名,所在部门号,职称)和部门表(部门号,部门名,高级职称人数)。请编写满足下列要求的后触发型触发器(设触发器名字为tri_zc)。每当在教师表中插入一名具有高级职称(“教授”或“副教授”)的教师时,或者将非高级职称教师的职称更改为高级职称时,均修改部门表中相应部门的高级职称人数。(假设一次操作只插入或更改一名教师
的职称)。
正确答案:CREATE TRIGGER tri_zc ON 教师表 AFTER INSERT,UPDATE AS BEGIN DECLATE@ZC varchar(10),@dept varchar(30) SELECT@dept=所在部门号,@2c=职称 FROM inserted IF @ zc=’教授’or’副教授’ Update部门表 SET高级职称人数=高级职称人数+1 Where部门号=@dept End
解析:创建触发器的SQL语句为:CREATE TRIGGER,其语法格式为: CREATE TRIGGER[schema_name.]trigger_name ON{table|view} {FOR|AFTER|INSTEAD OF} {[INSERT][,][DELETE][,][UPDATE]} AS{sq1_statement} [;] 其中AFTER指定触发器为后触发型触发器,INSERT,UPDATE和DELETE为指定引发触发器执行的操作。根据原题要求,Insert触发器会在inserted表中添加一条刚插入的记录,Update触发器会在更新数据后将更新前的数据保存在deleted表中,更新后的数据保存在inserted表中。在教师表中插入或者更新的时候,都会在inserted表中增加一条记录,所以只需在触发器查询inserted表中查询有没有“教授”或者“副教授”的记录,如果有,则触发修改相应部门的高级职称人数即可。
因篇幅问题不能全部显示,请点此查看更多更全内容