《2022年山东大学威海分校计算机科学与技术专业《数据库原理》科目期末试卷B(有答案).docx》由会员分享,可在线阅读,更多相关《2022年山东大学威海分校计算机科学与技术专业《数据库原理》科目期末试卷B(有答案).docx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022 年山东大学威海分校计算机科学与技术专业数据库原理科目 期末试卷 B(有答案) 一、填空题 1、关系代数运算中,基本的运算是_、_、_、 _和_。 2、数据仓库创建后,首先从_中抽取所需要的数据到数据准备区,在数据准备区中 经过净化处理_,再加载到数据仓库中,最后根据用户的需求将数据发布到_。 3、“为哪些表,在哪些字段上,建立什么样的索引”这一设计内容应该属于数据库设计 中的_阶段。 4、在SQL Server 2000 中,新建了一个SQL Server 身份验证模式的登录账户LOG,现 希望LOG 在数据库服务器上具有全部的操作权限,下述语句是为LOG 授权的语句,请补 全该语句
2、。EXEC sp_addsrvrolememberLOG,_; 5、数据库内的数据是_的,只要有业务发生,数据就会更新,而数据仓库则是_ 的历史数据,只能定期添加和刷新。 6、在一个关系R 中,若每个数据项都是不可再分割的,那么R 一定属于_。 7、数据库系统是利用存储在外存上其他地方的_来重建被破坏的数据库。方法主要 有两种:_和_。 8、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有 的依赖关系和_。 9、SQL Server 中数据完整性包括_、_和_。 10、_、_、_和是计算机系统中的三类安全性。 二、判断题 11、在关系数据库中,属性的排列顺序是可以颠倒
3、的。( ) 12、概念模型是对现实世界的第二层抽象。( ) 13、数据模型的核心构成要素是数据结构。( ) 14、等值连接与自然连接是同一个概念。( ) 15、在数据库表中,空值表示数值0。( ) 16、可以用UNION 将两个查询结果合并为一个查询结果。( ) 17、标准SQL 语言能用于所有类型的关系数据库系统。( ) 18、求事务在读取数据前先加共享锁,且直到该事务执行结束时才释放相应的锁,这种封 锁协议是二级封锁协议。( ) 19、在SELECT 语句中,需要对分组情况满足的条件进行判断时,应使用WHERE 子句。 ( ) 20、函数依赖是多值依赖的一个特例。( ) 21、一个关系中不
4、可能出现两个完全相同的元组是由实体完整性规则确定的。( ) 22、文件系统的缺点是数据不能长期存储。( ) 23、数据库系统由软、硬件及各类人员构成。( ) 24、有两个关系R 和S,分别包含15 个和10 个元组,则在RS、RS、RS 中可能 出现的一种元组数目情况是18、7、7( ) 25、并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串 行化的。( ) 三、选择题 26、在关系中能唯一标识元组的最小属性集称为( )。 A外码 B候选码 C主码 D超码 27、用于数据库恢复的重要文件是( )。 A数据库文件B索引文件 C日志文件 D备注文件 28、在关系模式R(U
5、,F)中,如果XY,存在X 的真子集X,使XY,称函数依赖 XY 为( )。 A平凡函数依赖 B部分函数依赖 C完全函数依赖 D传递函数依赖 29、数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为 ( )。 A数据定义功能 B数据管理功能 C数据操纵功能 D数据控制功能 30、如果一个系统为关系完备系统,那么它支持( )。 A关系数据结构 BA 与选择、投影和连接 CA 与所有的关系代数操作 DC 与实体完整性、参照完整性 31、SQL 语言中,HAVING 子句用于筛选满足条件的( )。 A列 B行 C分组 D元组 32、如果一个系统为关系完备系统,那么它支持( )。
6、 A关系数据结构 BA 与选择、投影和连接 CA 与所有的关系代数操作 DC 与实体完整性、参照完整性 33、有一个关系:职工(职工号,姓名,籍贯),规定职工号的值域是8 个数字字符组成 的字符串,这一规则属于( )。 A参照完整性 B用户定义的完整性 C实体完整性 D关键字完整性约束 34、DB、DBS 和DBMS 三者的关系是( )。 ADB 包括DBS 和DBMS BDBS 包括DB 和DBMS CDBMS 包括DB 和DBS DDBS 和DBMS 包括DB 35、关于数据库概念设计阶段的工作目标,下列说法错误的是( )。 A定义和描述应用系统设计的信息结构和范围 B定义和描述应用系统中
7、数据的属性特征和数据之间的联系 C描述应用系统的数据需求 D描述需要存储的记录及其数量 36、设用户对某商场数据库应用系统有下列活动 在该数据库应用系统运行前建立数据库,并建立初始的商品清单和销售人员数据等基 础数据 根据商场销售业务开展情况,调整数据库中的商品清单和价格 为了应对商场业 务增长过快带来的数据库数据增长迅速而扩展硬盘空间 为了安全考虑,定期对数据库系统中的数据进行转储 国庆期间,在应用系统中增加一条规则“节日期间所有商品打八折” 在系统中模拟生成大规模销售数据,并开启所有收银台终端,在所有终端启动自动批 量收银程序,测试系统的性能 以上活动属于商场数据库应用系统实施活动的是(
8、)。 A、和 B和 C、和 D和 37、如果事务T 对数据D 已加S 锁,则其他事务对数据D( )。 A可以加S 锁,不能加X 锁 B可以加S 锁,也可以加X 锁 C不能加S 锁,可以加X 锁 D不能加任何锁 38、关于SQL Server 的数据库权限叙述不正确的是( )。 ASQL Server 数据库的对象权限可以用GRANT 分配,而语句权限不可以用GRANT 分 配 B服务器权限能通过固定服务器角色进行分配,不能单独分配给用户 C系统管理员能使用SQL Server 执行任何任务 D每个用户可以被分配若干权限,并且有可能把权限赋予其他用户 39、下列关于数据仓库的叙述中,( )是不正
9、确的。 A数据仓库通常采用三层体系结构 B底层的数据仓库服务器一般是一个关系型数据库系统 C数据仓库中间层OLAP 服务器只能采用关系型OLAP D数据仓库前端分析工具中包括报表工具 40、在OODB 中,对象可以定义为对一组信息及其( )的描述。 A操作 B存取 C传输 D继承 四、简答题 41、内存数据库的特点有哪些? 42、有两张关系表: Students(SID,SName,Sex,Dept)Prizing(SID,PName, Type,PDate) Students 表描述的是学生基本信息,Prizing 表描述的是学生获奖信息。 若在应用程序中经常使用如下查询语句: SELECT
10、 S.SID,SName,PName,Type FROM Students AS S JOIN Prizing AS P ON S.SIDP.SID; 请问能否使用聚集文件提高此查询的性能?并给出原因。 为了提高查询性能,数据库管理员在Students 表的SName 列上建立了一个非聚集索 引SName_ind。如果应用程序使用如下语句查询数据: SELECT*FROM Students WHERE SName like%华; 请问SName_ind 索引是否能够提高语句的查询速度,并给出原因。 43、使用数据库系统有什么好处? 44、分析传统RDBMS 在大数据时代的局限性。 45、请给出
11、检测死锁发生的一种方法,当发生死锁后如何解除死锁? 五、综合题 46、使用ADO 来访问Student 数据库。 47、设T 1 、T 2 和T 3 是如下事务: T 3 T T 1 2 :AA2 :AA2 :AA2 设A 的初始值为0。回答以下问题: (1) 若3 个事务允许并发执行,则有多少种可能正确的结果,请分别列出来。 (2) 请给出一个可串行化的调度,并给出执行结果。 (3) 请给出一个非串行化的调度,并给出执行结果。 (4) 若3 个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。 (5) 若3 个事务都遵守两段锁协议,请给出一个产生死锁的调度。 48、有学生表(学号,姓
12、名,年龄,性别,系名,专业名,班号),设一个系可有多个专 业,每个专业可有多个班,各班班号不重复,一个学生只在一个班学习。现经常需要按 “系名”和“班号”进行查询,为提高查询效率,需要为“系名”和“班号”两个列建立 一个非聚集索引,建立此索引有下列两种方法: 方法1:索引列顺序为(系名,班号)。 方法2:索引列顺序为(班号,系名)。 这两种方法哪个更合理?请简要说明原因。 针对你认为合理的方法,写出创建该索引的SQL 语句。 参考答案 一、填空题 1、【答案】并;差;笛卡尔积;投影;选择 2、【答案】数据源;数据;数据集市 3、【答案】物理设计 4、【答案】dbowner 【解析】在SQL S
13、erver 中,dbonwer 具有数据库服务器上的全部权限。 5、【答案】动态变化;静态 6、【答案】1NF 7、【答案】冗余数据;后援副本;日志文件 8、【答案】无损连接 9、【答案】域完整性;实体完整性;参照完整性 10、【答案】技术安全类;管理安全类;政策法律类安全性 二、判断题 11、【答案】对 12、【答案】错 13、【答案】对 14、【答案】错 15、【答案】错 16、【答案】对 17、【答案】对 18、【答案】错 19、【答案】错 20、【答案】对 21、【答案】错 22、【答案】错 23、【答案】对 24、【答案】错 25、【答案】对 三、选择题 26、【答案】B 【解析】超
14、码(Super Key)是关系中能唯一标识每个元组的属性或属性组(集),一个 关系可能有多个超码。 候选码(Candidate Key)是关系中能唯一标识每个元组的最小属性或属性组,一个关系 可能有多个候选码;主码(Primary Key)则是从候选码中选择一个,作为该关系的主码。 数据库系统将按主码标识和排序每个元组。一个关系在任一时刻至多只能有一个主码,但 在不同时刻可以指定不同的候选码作为主码。 外码(Foreign Key)则是在关系R1 中的属性或属性组,若在另一个关系R2 中作为主码 使用,则称该属性或属性组为R1 的外码。R1 的外码和R2 中的主码必须定义在相同的域 上,允许使
15、用不同的属性名。 27、【答案】C 【解析】用于数据库恢复的重要文件是日志文件和后援副本。 28、【答案】B 【解析】如果XY,其中的X 不是单个属性,而是属性组合,这时需要进一步讨论这个 函数依赖是完全函数依赖还是部分函数依赖。如果 XY,存在 X 的真子集 X,使 XY, 称函数依赖XY 为部分函数依赖。如果XY,不存在X 的真子集X,使XY,称函 数依赖XY 为完全函数依赖。 29、【答案】C 【解析】数据操纵指的是对数据库中数据进行查询、插入、修改和删除。 30、【答案】C 31、【答案】C 【解析】HAVING 子句常与GROUP BY 子句联合使用,GROUP BY 通常指出分组的
16、依据 列,即依据那个属性列来分组,而HAVING 子句则指出各分组提取的条件。例如:要求 列出某班本学期所有课程中,班级平均成绩高于75 的课程号、课程名称时,GROUP BY 子句应该指出分组的依据是选课关系中的课程号属性列,HAVING 子句则提出该课程的全 班平均成绩AVG 要高于75,低于75 的就不提取了。 32、【答案】C 33、【答案】B 【解析】用户定义的完整性是针对某一具体数据库的约束条件,它反映某一具体应用涉及 的数据必须满足语义要求;而规定学号的值域是8 个数字字符组成的字符串显然属于这一 类型。 34、【答案】B 【解析】数据库系统(DBS DataBase Syste
17、m)数据库系统是一个引入数据库以后的计 算机系统,它由计算机硬件(包括计算机网络与通信设备)及相关软件(主要是操作系 统)、数据库(DB DataBase)、数据库管理系统(DBMS DataBase Management System)、数据库应用开发系统和人员组成。 35、【答案】D 【解析】数据库概念设计阶段的工作内容为:定义和描述应用领域涉及的数据范围,获 取应用领域或问题域的信息模型;准确描述数据的属性特征、数据之间的关系、数据约 束、数据的安全性要求以及支持用户的各种处理需求;保证信息模型正确便捷的转换成 数据库的逻辑结构(数据库模式),便于用户理解。但不需要描述需要存储的记录及其
18、数 量。 36、【答案】D 【解析】数据库的实施指根据数据库的逻辑结构设计和物理结构设计结果,在计算机 系统上建立实际的数据库结构,导入数据并进行程序调试。 37、【答案】A 【解析】S 锁为共享锁,事务 T 对数据 D 加 S 锁后其他事务可以加 S 锁,但不能加 X 锁。 38、【答案】A 【解析】服务器级的角色建立在SQL 服务器上,是系统预定义的,用户不能创建服务器 角色,只能选择合适的服务器角色,SQL Server 的数据库权限可以分为数据库对象权限 和语句权限,对象权限和语句权限都可以通过GRANT 和REVOKE 来分配和收回,系统 管理员具有最高的权限。 39、【答案】C 【
19、解析】数据仓库中间层OLAP 服务器不一定只采用关系型OLAP,还可以采用基于多维 数据库的OLAP 和混合型的OLAP。 40、【答案】A 【解析】对象可以定义为对一组信息(数据)和一组操作(方法)。 四、简答题 41、答:内存是计算机存储体系结构中能够被程序可控访问(相对于硬件控制的cache) 的最高层次,是能够提供大量数据存储的最快的存储层。内存数据库具有几个重要特性: (1) 高吞吐率和低访问延迟; (2) 并行处理能力; (3) 硬件相关性。 42、答:可以用聚集文件提高查询性能。因为聚集文件将不同关系表中有关联关系的记 录存储在一起,减少了系统的物理I/O 操作次数,提高了查询性
20、能。 此索引不能提高该语句的查询速度。因为该索引是建立在 SNAME 上的非聚集索引,以SNAME 首字母排序,而查询语句查询的名字是最后一个 “华”的SNAME,所以仍然需要全部扫描students 表,因此不能提高该语句的查询速 度。 43、答:使用数据库系统的好处是由数据库管理系统的特点或优点决定的,比如: (1)可以大大提高应用开发的效率。在数据库系统中,应用程序不必考虑数据的定义、 存储和数据存取的具体路径,这些工作都由DBMS 来完成。开发人员可以专注于应用逻 辑的设计,而不必为数据管理的许多复杂的细节操心。 (2)数据库系统提供了数据与程序之间的独立性。当应用逻辑发生改变,数据的
21、逻辑结 构需要改变时,DBA 负责修改数据的逻辑结构,开发人员不必修改应用程序,或者只需 要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和 修改,方便用户的使用。 (3)使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS 在数据 库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多 用户并发控制、故障恢复等,都由DBMS 执行。 总之,使用数据库系统的优点很多,既便于数据的集中管理,控制数据冗余,提高数据的 利用率和一致性,又有利于应用程序的开发和维护。 44、答:关系数据库在大数据时代丧失了互联网搜索这个机会,其主要原
22、因是关系数据库 管理系统(并行数据库)的扩展性遇到了前所未有的障碍,不能胜任大数据分析的需求, 关系数据管理模型追求的是高度的一致性和正确性,面向超大数据的分析需求。 45、答:(1)数据库系统一般采用允许死锁发生,DBMS 检测到死锁后加以解除的方法。 DBMS 中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现 简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了 死锁。若时限设置得太长,又不能及时发现死锁。 事务等待图是一个有向图 G(T,U)。T 为结点的集合,每个结点表
23、示正运行的事务; U 为边的集合,每条边表示事务等待的情况。若T1 等待T2,则T1,T2 之间划一条有向 边,从T1 指向T2。事务等待图动态地反映了所有事务的等待情况。并发控制子系统周期 性地生成事务等待图,并进行检测。如果发现图中存在回路,则表示系统中出现了死锁。 (2)DBMS 并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个 处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运 行。对撤销的事务所执行的数据修改操作必须加以恢复。 五、综合题 46、答:使用ADO 访问数据库Student 的步骤如下: (1) ADO 中的Connectio
24、n 对象可实现ASP 程序与后台数据库的连接,其代码为 (2) 创建完数据库连接对象后,就需要打开数据库连接,其代码为:Conn.Open; (3) 打开数据库后就可以访问数据库了,可以用RecordSet 对象方便地查询数据库记 录集。 (4) 对数据库访问结束后,可以用Close 方法及时关闭各对象,以便释放所占资源, 其代码为 Rs.Close; Conn.Clone; 【解析】ADO 是Microsoft 公司推出的数据库连接技术,运用该技术可以实现对各种数 据库(SQL Server、Oracle 等)的连接、查询等操 作。ADO 是一组优化的访问数据库的对象集,为数据库开发提供完整
25、的 网站数据库解决方案。该实例涉及以下参数设置:数据库类型为SQL Server,数据源名称为Student,服务器为local 选项,登录验证方式为“使用用户输入 ID 和密码的SQL Server 验证”,用户ID 和密码均为sa。 47、答:(1)4 种可能的结果,分别是A16,8,4,2。 T1-T2-T3 A16 T1-T3-T2 A8 或T T -T -T -T -T 2 3 1 3 2 1 T 2 -T 1 -T 3 或T 3 -T 1 -T 2 A4 A2 (2) 一个可串行化的调度如表7-2 所示,执行结果为A16。 (3) 一个非串行化的调度如表7-3 所示,执行结果为A0
26、。 (4) 若3 个事务都遵守两段锁协议,如表7-4 所示是按T3-T1-T2 顺序运行的一 个不产生死锁的可串行化调度。 从中看到,按照T3-T1-T2 顺序执行的结果A4 完全与串行化调度相同,所以是一 个不产生死锁的可串行化调度。 表7-2 一个可串行化的调度 一个按T3-T1-T2 顺序运行的不产生死锁的可串行化调度 (5) 若3 个事务都遵守两段锁协议,表7-5 是一个产生死锁的调度。在该调度 中,T1 申请对X1 加写锁,由于T2 对X1 加了读锁,所以不成功,处于等待状态;T2 申 请对A 加写锁,由于T1 对A 加了读锁,所以不成功,处于等待状态;T3 申请对A 加读 锁,由于T1 对A 加了读锁,所以不成功,处于等待状态。因此,3 个事务都处于等待 状态,产生死锁。 48、答:方法1 更加合理,理由如下:更加有利于减少索引层次,提高查询效率;更加 符合使用习惯;更加便于(系、班)进行统计。 create index index_1 on 学生表(系名,班号);