末试卷A(有答案)
一、填空题
1、在SELECT命令中,______子句用于选择满足给定条件的元组,使用______子句可按指定列的值分组,同时使用______子句可提取满足条件的组。
2、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
3、数据库系统是利用存储在外存上其他地方的______来重建被破坏的数据库。方法主要有两种:______和______。
4、数据管理技术经历了______________、______________和______________3个阶段。 5、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于______。 6、关系数据库中基于数学的两类运算是______________和______________。
7、安全性控制的一般方法有____________、____________、____________、和____________视图的保护五级安全措施。
8、数据库恢复是将数据库从______状态恢复到______的功能。 9、SQL语言的数据定义功能包括______、______、______和______。 10、如图所示的关系R的候选码为;R中的函数依赖有;R属于范式。
一个关系R
二、判断题
11、在综合分E-R图时,会出现属性冲突,结构冲突,命名冲突。( )
12、在SQL中,ALTERTABLE语句中MODIFY用于修改字段的类型和长度等,ADD用于添加新的字段。( )
13、在关系数据库中,属性的排列顺序是可以颠倒的。( )
14、在第一个事务以S锁方式读数据R时,第二个事务可以进行对数据R加S锁并写数据的操作。( )
15、在关系运算中,投影是最耗时的操作。( )
16、可以用UNION将两个查询结果合并为一个查询结果。( ) 17、全码的关系模式一定属于BC范式。( )
18、二级封锁协议能解决不可重复读问题,不能解决读\"脏\"数据。( )
19、有两个关系R和S,分别包含15个和10个元组,则在R∪S、R-S、R∩S中可能出现的一种元组数目情况是18、7、7( )
20、外模式DDL用来描述数据库的总体逻辑结构。( ) 21、在数据库表中,空值表示数值0。( ) 22、函数依赖是多值依赖的一个特例。( ) 23、可串行化的调度一定遵守两段锁协议。( ) 24、投影操作是对关系表进行水平方向的分割。( )
25、从计算机数据管理的角度看,信息就是数据,数据就是信息。( )
三、选择题
26、有两个关系R和S,分别包含15个和10个元组,则在R∪S、R-S、R∩S中不可能出现的元组数目情况是( )。
A.15,5,10 B.18,7,7 C.21,11,4 D.25,15,0
27、数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据包指( )。 A.数据字典、应用程序、审计档案、数据库后援副本 B.数据字典、应用程序、日志文件、审计档案 C.日志文件、数据库后援副本
D.数据字典、应用程序、数据库后援副本
28、关于DBMS的查询处理器,叙述错误的是( )。
A.处理的目标是先将应用程序表示的查询转换为执行策略(关系代数) B.通过执行用低级语言表达的策略来获取所需要的数据
C.查询处理分为分解(分析和验证)、优化、代码生成和代码执行
D.处理的目标是先将应用程序表示的查询转换为执行策略(E-R 概念模型) 29、文件系统与数据库系统的重要区别是数据库系统具有 ( )。
A.数据共享性 B.数据无冗余 C.数据结构化 D.数据性 30、在关系代数表达式的等价优化中,不正确的叙述是( )。 A.尽可能早地执行连接 B.尽可能早地执行选择 C.尽可能早地执行投影
D.把笛卡尔积和随后的选择合并成连接运算 31、下列说法正确的是( )。
A.可以利用存储过程在当前数据库中创建固定数据库角色
B.当前数据库中的用户自定义角色可以用存储过程删除 C.不能将数据库用户账户添加为当前数据库中角色的成员 D.Public角色可以被删除
32、下列不属于查询处理器功能组成模块的是( )。 A.DML编译器 B.查询执行引擎
C.嵌入式DML的预编译器 D.查询权限管理器
33、查询优化是提高数据库应用系统性能的重要手段,下列给出的查询优化方法,一般情况下无效的是( )。
A.对经常需要进行排序或分组的列建立索引 B.对经常出现在查询条件中的列建立索引
C.对涉及连接的查询,尽量用左外连接或右外连接代替内连接 D.采用提前计算方法,将频繁访问的视图转为物化视图 34、如表,因为( )属性使它不能成为关系。 表
A.项目经理 B.项目成员 C.项目名称D.项目号
35、根据系统所提供的存取路径,选择合理的存取策略,这种优化方式称为( )。 A.物理优化 B.代数优化 C.规则优化D.代价估算优化
36、下列关于函数依赖的描述中,错误的是( )。 A.在函数依赖A→B中,A称为决定因素
B.在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也就随之确定 C.函数依赖具有传递性
D.在关系R中,如果属性A依赖于属性B,这种依赖正式记作: A→B。
37、规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )。
A.互不相关的 B.不可分解的 C.长度可变的 D.互相关联的 38、关于“死锁”,下列说法中正确的是( )。 A.死锁是操作系统中的问题,数据库操作中不存在
B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库 C.当两个用户竞争相同资源时不会发生死锁 D.只有出现并发操作时,才有可能出现死锁
39、关于SQL Server的数据库权限叙述不正确的是( )。
A.SQL Server数据库的对象权限可以用GRANT分配,而语句权限不可以用GRANT分配
B.服务器权限能通过固定服务器角色进行分配,不能单独分配给用户 C.系统管理员能使用SQL Server执行任何任务
D.每个用户可以被分配若干权限,并且有可能把权限赋予其他用户 40、关于数据仓库设计,下述说法正确的是( )。
A.数据仓库项目的需求很难把握,所以不可能从用户的需求出发来进行数据仓库的设计,只能从数据出发进行设计
B.在进行数据仓库主题数据模型设计时,应该按面向部门业务应用的方式来设计数据模型
C.在进行数据仓库主题数据模型设计时要强调数据的集成性
D.在进行数据仓库概念模型设计时,需要设计实体关系图,给出数据表的划分,并给出每个属性的定义域
41、在OODB中,类(class)是( )。 A.实体的集合 B.数据类型的集合 C.表的集合 D.对象的集合
四、简答题
42、什么叫数据与程序的物理性?什么叫数据与程序的逻辑性?为什么数据库系统具有数据与程序的性?
43、F面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明之。 (1)任何一个二目关系是属于3NF的。 (2)任何一个二目关系是属于BCNF的。
(3)任何一个二目关系是属于4NF的。
(4)当且仅当函数依赖A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
(5)若RA→RB,RB→RC,则RA→RC。
(6)若RA→RB,RA→RC,则R.A→R,(B,C)。 (7)若RB→RA,RC→RA,则R,(B,C)→RA。 (8)若R,(B,C)→RA,则RB→RA,RC→RA。
44、描述MapReduce的计算过程。分析MapReduce技术作为大数据分析平台的优势和不足。
45、什么是死锁?请给出预防死锁的若干方法。
46、内存数据库和磁盘数据库有什么区别?
五、综合题
47、图书馆数据库中有如下关系: BOOKS(Titel,Author,Pname,Bno) PUBLISHERS(Pname,Paddr,Pcity)
BORROWERS(Name,Addr,City,Cno) LOANS(Cno,Bno,Date)
其中,BOOKS为图书表,对应的各个属性依次是书名、作者名、出版社名和图书编号;PUBLISHERS为出版社表,对应的各个属性依次是出版社名、出版社地址和出版社所在城市名;BORROWERS为借书人表,对应的各个属性依次是借书人姓名、借书人地址、借书人所在城市名和借书证号;LOANS为借书表,对应的各个属性依次是借书证号、图书编号和图书借出日期。若查询2003/10/1以前借出的书籍的书名和借书人姓名,请说明优化的过程。
48、 今有以下两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)部门(部门员,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(1) 用户王明对两个表有SELECT权限。
(2) 用户李勇对两个表有INSERT和DELETE权限。 (3) 每个职工只对自己的记录有SELECT权限。
(4) 用户刘星对职工表有SELECT权限,对工资字段具有更新权限。 (5) 用户张新具有修改这两个表的结构的权限。
(6) 用户周平具有对两个表的所有权限(读、插、改、删数据),并具有给其他用户,授权的权限。
(7) 用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,他不能查看每个人的工资。
49、使用ADO来访问Student数据库。
参
一、填空题
1、【答案】WHERE;GROUP BY;HAVING 2、【答案】GRANT;REVOKE
3、【答案】冗余数据;后援副本;日志文件 4、【答案】人工管理;文件系统;数据库系统 5、【答案】1NF
6、【答案】关系代数;关系演算
7、【答案】用户标识与系统鉴定;存取控制;审计;数据加密 8、【答案】错误;某一已知的正确状态
9、【答案】定义数据库;定义基本表;定义视图;定义索引 10、【答案】A和DE;A→DE,DE→A;BCNF
二、判断题
11、【答案】对 12、【答案】错 13、【答案】对 14、【答案】错 15、【答案】错 16、【答案】对 17、【答案】对
18、【答案】错 19、【答案】错 20、【答案】错 21、【答案】错 22、【答案】对 23、【答案】错 24、【答案】错 25、【答案】错
三、选择题
26、【答案】B
【解析】① A项的情形:若R∩S为10个元组,那么R∪S为15个元组、R-S为5个元组是正确的。 ② 组。 ③
C项的情形:若R∩S为4个元组,那么R∪S为21个元组、R-S为
B项的情形:若R∩S为7个元组,那么R∪S应为18个元组、R-S 应为8个元
11个元组是正确的。 ④
D项的情形:若R∩S为0个元组,那么R∪S为25个元组、R-S为
15个元组是正确的。 27、【答案】C
【解析】数据库恢复的实现技术主要是建立冗余并利用冗余数据实施数据库恢复。建立冗余最常见的技术是数据转储和登录日志文件。 28、【答案】D
【解析】DBMS的查询处理器处理的目标是将应用程序表示的查询转换为正确有效的、用低级语言表达的执行策略(关系代数),并通过执行该策略来获取所需要的数据。查询处理通常分为分解(分析和验证)、优化、代码生成和代码执行四个阶段。 29、【答案】C
【解析】文件系统和数据库系统都具有数据性和数据共享性,只是文件系统的对应性能弱于数据库系统。至于数据无冗余,没有哪个系统可以完全做到。而通过数据模型表示复杂的数据结构,则是数据库系统所独有的。 30、【答案】A
【解析】在关系代数表达式中,连接运算的结果常常是一个较大的关系。如果尽可能早地执行连接,则运算得到的中间结果就 31、【答案】B
【解析】在T-SQL中,通过sp-helpdbfixedrole存储过程,查看SQL
Server固定数据库角色列表;利用sp-addrolemember存储过程将数据库用户的账户,添加为当前数据库中数据库角色的成员;利用sp-
droprolemember存储过程从当前数据库的数据库角色中,删除数据库安全账户。但不能利用存储过程在当前数据库中创建固定数据库角色,排除A项。此外,SQL Server包括两类具有隐含权限的预定义角色,固定服务器角色和固定数据库角色。这些隐含权限不能授予其他用户账户。如果有用户需要这些权限,则必须将其账户添加到这些预定义角色中,排除C项;Public角色是SQL Server数据库管理系统中每个数据库都存在的特殊角色。它提供数据库中用户默认权限,每个数据库用户都自动是此角色的成员。所以Public角色不能被删除,排除D项;在T-SQL中,通过sp-helprole存储过程,查看角色;利用sp-addrole存储过程在当前数据库创建新的数据库角色;利用sp-droprole存储过程从当前数据库删除角色。B项是正确的。 32、【答案】D
【解析】查询处理器包括嵌入式DML的预编译器、DOL编译器、 DML编译器、查询执行引擎,是一种可以完成许多工作的多用途的工具,它是一种可以完成许多工作的多用途的工具。
33、【答案】C
【解析】左连接或右连接包含与NULL数据匹配的数据,非常消耗资源。多使用内连接可以减少资源消耗有助于优化查询。 34、【答案】B
【解析】1NF是关系必须满足的最低要求,没有满足1NF就不称为关系。1NF要求每一个数据项都必须是不可再分的原子数据项。上述“项目”表中,项目成员不是原子数据项,因此,该“项目”表不满足1NF,该表不是关系。 35、【答案】A
【解析】物理优化是根据数据字典中的存取路径、数据的存储分布以及聚簇情况等信息来选择低层的存取路径。 36、【答案】D
【解析】函数依赖,顾名思义,就是属性之间存在着类似于数学中函数的一种数据依赖关系。设U{A1,A2,…,An}是属性集合, R(U)是U上的一个关系,X、Y是U的子集。若对于R(U)下的任何一个可能的关系,均有X的一个值对应于Y的唯一具体值,称X函数决定Y,或者Y函数依赖于X,记作X→Y,其中X称为决定因素。 37、【答案】B
【解析】规范化的最低要求是每个关系至少是1NF,即它的每个属性是最小的、不可再分的数据单位。 38、【答案】D
【解析】不仅操作系统中有死锁问题,数据库系统中也同样存在死锁问题,死锁是在并发操作时上锁不当而出现的。 39、【答案】A
【解析】服务器级的角色建立在SQL服务器上,是系统预定义的,用户不能创建服务器角色,只能选择合适的服务器角色,SQL Server的数据库权限可以分为数据库对象权限
和语句权限,对象权限和语句权限都可以通过GRANT和REVOKE来分配和收回,系统管理员具有最高的权限。 40、【答案】C
【解析】数据仓库项目的设计一定要从用户的需求出发。进行数据仓库主题数据模型设计时,应该按面向主题而不是部门业务应用的方式来设计数据模型。在进行数据仓库概念模型设计时,可以设计实体关系图,而在逻辑设计时才给出数据表的划分,并给出每个属性的定义域。 41、【答案】D
【解析】类可以产生对象,所以类可以看成是对象的集合。
四、简答题
42、答:(1)数据与程序的物理性:当数据库的存储结构改变,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理性,简称数据的物理性。
(2)数据与程序的逻辑性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑性,简称数据的逻辑性。
(3)数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑性和物理性。 16 、试述数据库系统的组成。
答:数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。
(1)硬件平台及数据库。由于数据库系统数据量都很大,加之
DBMS丰富的功能使得自身的规模也很大,因此整个数据库系统对硬件资源提出了较高的要求:①要有足够大的内存,存放操作系统、DBMS 的核心模块、数据缓冲区和应用程序;②有足够的大的磁盘或磁盘阵列等设备存放数据库,有足够的磁带(或光盘)作数据备份;③要求系统有较高的通道能力,以提高数据传送率。
(2)软件。① DBMS;②支持DBMS运行的操作系统;③具有与数据库接口的高级语言及其编译系统;④以DBMS为核心的应用开发工具;⑤为特定应用环境开发的数据库应用系统。
(3)人员。开发、管理和使用数据库系统的人员主要是:数据库管理员、系统分析员和数据库设计人员、应用程序员和最终用户。
17 、试述数据库管理员、系统分析员、数据库设计人员、应用程序员的职责。 答:(1)数据库管理员:负责全面地管理和控制数据库系统。具体职责包括: ①决定数据库的信息内容和结构。 ②决定数据库的存储结构和存取策略。 ③定义数据的安全性要求和完整性约束条件。 ④监督和控制数据库的使用和运行。 ⑤数据库的改进和重组重构。
(2)系统分析员:系统分析员负责应用系统的需求分析和规范说明,要和用户及DBA相结合,确定系统的硬件软件配置,并参与数据库系统的概要设计。
(3)数据库设计人员:数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。
(4)应用程序员:应用程序员负责设计和编写应用系统的程序模块,并进行调试和安装。
43、答:(1)正确。因为关系模式中只有两个属性,所以无传递。
(2)正确。按BCNF的定义,若X→Y,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。
(3)正确。因为只有两个属性,所以无非平凡的多值依赖。
(4)错误。当A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。反之则不然。正确的是当且仅当函数依赖A→→B在R上成立,关系R(A,B,C)等于其投影R1(A, B)和R2(A,C)的连接。 (5)正确。 (6)正确。 (7)正确。
(8)错误。反例关系模式SC(S#,C#,G),(S#,C#)→G,但S#↛G,C#↛G。
44、答:(1)MapReduce技术主要应用于大规模廉价集群上的大数据并行处理,是以key/value的分布式存储系统为基础,通过元数据集中存储、数据以chunk为单位分布存储和数据chunk冗余复制来保证其高可用性。
(2) 优势:MapReduce是一种并行编程模型。其处理模式以离线式批量处理为主。 (3) MapReduce存在如下不足:
①基于MapReduce的应用软件较少,许多数据分析功能需要用户自行开发,从而导致使用成本增加;
②程序与数据缺乏性;
③在同等硬件条件下,MapReduce的性能远低于并行数据库; ④ MapReduce处理连接的性能尤其不尽如人意。
45、答:(1)如果事务T1封锁了数据R1,T2封锁了数据R2,T1又请求
封锁R2,因T2已封锁了R2,于是T1等待T2释放R2上的锁。T2又申请封锁 R1,因T1已封锁了R1,T2也只能等待T1释放R1上的锁。这样就出现了T1 在等待T2,而T2又在等待T1的局面,T1和T2两个事务永远不能结束,形成死锁。
(2)防止死锁发生其实是要破坏产生死锁的条件。预防死锁通常可以有两种方法: ①一次封锁法要求每个事务必须一次将所用的所有数据全部加锁,否则就不能执行。 ②顺序封锁法
预先对数据对象规定一个封锁顺序,所有事务都按照这个顺序实行封锁。但是,预防死锁的策略不大适合数据库系统的特点。
46、答:内存数据库与磁盘数据库的区别如图15-1所示。
内存数据库和磁盘数据库对比示意图
五、综合题
47、答:根据题意查询表达式为:
πTitle,Name(бDate
<‘2003/10/1’(Title,Author,BOOKS.Bno,Name,Addr,City,BORROWERS.Cno,Date
(BORROWERS.Cno=LOANS.Cno∧BOOKS.Bno
=LOANS.Bno
π
б
(LOANS×BORROWERS×BOOKS))))
该查询表达式对应的语法树如图9-3所示。对语法树进行优化,其 具体步骤如下:
①将选择运算:
бBORROWERS.Cno=LOANS.Cno∧BOOKS.Bno=LOANS.Bno 分解为两个选
择运算:
бBORROWERS.Cno=LOANS.Cno бBOOKS.Bno=
LOANS.Bno
②将上述的3个选择运算尽可能移到树的叶端,将бDate<‘2003/10/1’与投影交换,同时,由于бDate<‘2003/10/1’的属性Date只涉及关系LOANS,将其移到分出的两个选择下边,故有:
通过上述分析,可得到如图9-5所示的语法树。
图9-4 初始语法树
图9-5 ②得到的语法树
③从图9-5的语法树可知,最顶层的投影与选择只用到了4个属性,即Title、BOOKS.Bno、Name、LOANS.Bno,所以可增加一个投影4个属性的投影运算:
πTitle,BOOKS.Bno,Name,LOANS.Bno
而该投影运算根据它们所在的不同关系,又可分为两个投影运算:
πTitle,BOOKS.Bno πName,LOANS.Bno 通过上述分析,可得到如图9-6的语法树。
图9-6 ③得到的语法树
④从图9-6的语法树可知,最下面的笛卡尔积只用到了4个属性,即Name、
BORROWERS.Cno、LOANS.Bno、LOANS.Cno,所以可增加一个投影4个属性的投影运算:
πName,BORROWERS.Cno,LOANS.Bno,LOANS.Cno 而该投影运算根据它们所在的不同关系,又可分为两个投影运算: πName,BORROWERS.Cno πLOANS.Bno,LOANS.Cno
通过上述分析,可得到如图9-7的语法树。
④得到的语法树
⑤按照分组原则,对生成的语法树进行分组。共分成两组,顶层笛卡尔积右下分枝为一组,顶层笛卡尔积祖先及左下分枝为一组。
⑥先写出执行第一组的运算程序,再写出执行第二组的运算程序。
48、答:(1)用户王明对两个表有SELECT权力的语句为: GRANT SELECT ON 职工,部门 TO 王明;
(2) 用户李勇对两个表有INSERT和DELETE权力的语句为: GRANT INSERT,DELETE ON 职工,部门 TO 李勇;
(3) 每个职工只对自己的记录有SELECT权力的语句为: GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;
(4) 用户刘星对职工表有SELECT权力,对工资字段具有更新权力的语句为: GRANT SELECT,UPDATE(工资)ON 职工 TO 刘星; (5) 用户张新具有修改这两个表的结构的权力的语句为: GRANT ALTER TABLE ON 职工,部门 TO 张新;
(6) 用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力的语句为:
GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;
(7) 用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资的语句为: CREATE VIEW 部门工资 AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资)FROM 职工,部门 WHERE 职工. 部门号=部门.部门号 GROUP BY 职工.部门号 GRANT SELECT ON 部门工资 TO 杨兰;
49、答:使用ADO访问数据库Student的步骤如下:
(1) ADO中的Connection对象可实现ASP程序与后台数据库的连接,其代码为
(2) 创建完数据库连接对象后,就需要打开数据库连接,其代码为:Conn.Open; (3) 打开数据库后就可以访问数据库了,可以用RecordSet对象方便地查询数据库记录集。
(4) 对数据库访问结束后,可以用Close方法及时关闭各对象,以便释放所占资源,其代码为
Rs.Close; Conn.Clone;
【解析】ADO是Microsoft公司推出的数据库连接技术,运用该技术可以实现对各种数据库(SQL Server、Oracle等)的连接、查询等操
作。ADO是一组优化的访问数据库的对象集,为数据库开发提供完整的 网站数据库解决方案。该实例涉及以下参数设置:数据库类型为SQL
Server,数据源名称为Student,服务器为local选项,登录验证方式为“使用用户输入ID和密码的SQL Server验证”,用户ID和密码均为sa。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务