单选题 收回用户li对表employee的查询权限,同时级联收回li授予其他用户的该权限,则SQL语句为:
______select ON TABLE employee FROM li ______;
单选题
  • A.GRANT
  • B.GIVE
  • C.CALL BACK
  • D.REVOKE
【正确答案】 D
【答案解析】
单选题
  • A.RESTRICT
  • B.CASCADE
  • C.WITH GRANT OPTION
  • D.WITH CHECK OPTION
【正确答案】 B
【答案解析】[解析] 收回权限的SQL语法如下。 REVOKE<权限列表>ON<表名|视图名> FROM<用户列表>[RESTRICT|CASCADE] 其中:RESTRICT表示只收回指定用户的权限;CASCADE表示收回指定用户及其授予的其他用户的该权限。 收回用户li对表employee的查询权限,同时级联收回li授予其他用户的该权限,则SQL语句如下。 REVOKE Select ON TABLE employee FROM li CASCADE;
单选题 不属于数据库访问接口的是______。
  • A.ODBC
  • B.JDBC
  • C.ADO
  • D.HTML
【正确答案】 D
【答案解析】[解析] 数据库访问接口提供了高级语言访问数据库的一种机制,是开发数据库应用系统的主要内容之一。常用的接口有ODBC、JDBC和ADO等。 超文本标记语言(HyperText Mark-up Language,HTML)也称为超文本链接标识语言,是目前网络上构成网页文档的主要语言,但它不属于数据库访问接口。
单选题 以下关于数据库反规范化技术特点的叙述中,错误的是______。
  • A.减少了数据库查询时SQL连接的数目,降低外码和索引的数目
  • B.减少了表的数目,从而减少磁盘I/O数据量,提高查询效率
  • C.减少了数据冗余,节约了存储空间,提高数据库维护效率
  • D.简化了数据查询的计算过程,提高数据访问效率
【正确答案】 C
【答案解析】[解析] 数据库反规范化设计允许保留或者新增一些冗余数据,从而减少数据查询中表连接的数目或简化计算过程,提高数据访问效率。 采用反规范化技术的益处(但不限于):能够减少数据库查询时SQL连接的数目(即降低连接操作的需求),降低外码和索引的数目,还可能减少表的数目,从而减少磁盘I/O数据量,提高查询效率。反规范化可能带来的问题(但不限于):数据的重复存储,浪费了磁盘空间;为了保障数据的一致性,增加了数据维护的复杂性。据此,选项C的说法有误。
单选题 关于分布式数据库,下列描述正确的是______。
  • A.客户机是分布在不同场地的
  • B.多个数据库服务器间的数据交互通过客户端程序来实现
  • C.数据的物理存储分布在不同的服务器上,而用户只关心访问的逻辑结构
  • D.每个服务器上必须运行相同的DBMS
【正确答案】 C
【答案解析】[解析] 分布式数据库将整个数据库分布于不同的服务器上(场地),数据的管理通过分布式数据库管理系统(DDBMS)来管理,用户无须知道所操作的数据具体存储于哪个场地,只需要知道所要访问的数据库逻辑结构,即数据库中的各关系模式。分布式数据库允许不同场地使用不同的DBMS。
单选题 商业智能是指利用数据挖掘、知识发现等技术分析和挖掘结构化的、面向特定领域的存储与数据仓库的信息。它可以帮助用户认清发展趋势,识别数据模式,获取决策支持并得出结论。以下______活动,并不属于商业智能范畴。
  • A.某大型企业通过对产品销售数据进行挖掘,分析客户购买偏好
  • B.某大型企业查询数据仓库中某种产品的总体销售数量
  • C.某大型购物网站通过分析用户的购买历史记录,为客户进行商品推荐
  • D.某银行通过分析大量股票交易的历史数据,做出投资决策
【正确答案】 B
【答案解析】[解析] 题干已给出商业智能(BI)的基本概念。商业智能的实现涉及软件、硬件、咨询服务及应用,是对商业信息的搜集、管理和分析过程,目的是使企业的各级决策者获得知识(或洞察力),促使他们做出对企业更有利的决策。商务智能技术主要体现在“智能”上,即通过对大量数据的分析,得到趋势变化等重要知识,并为决策提供支持。选项A、C、D都存在对数据进行分析,获得对相关人员“有用”知识的过程;选项B仅仅是获取数据,并没有对数据进行分析,因此不属于商业智能范畴。
单选题 共享数据库是一种重要的企业应用集成方式。以下关于共享数据库集成方式的叙述中,错误的是______。
  • A.共享数据库集成方式通常将应用程序的数据存储在一个共享数据库中,通过制定统一的数据库模式来处理不同应用的集成需求
  • B.共享数据库为不同的应用程序提供了统一的数据存储与格式定义,能够解决不同应用程序中数据语义不一致的问题
  • C.多个应用程序可能通过共享数据库频繁地读取和修改相同的数据,这会使共享数据库成为一个性能瓶颈
  • D.共享数据库集成方式的一个重要限制来自外部的已封装应用,这些封装好的应用程序只能采用自己定义的数据库模式,调整和集成余地较小
【正确答案】 B
【答案解析】[解析] 共享数据库为不同的应用程序提供了统一的数据存储与格式定义,能够在一定程度上缓解数据语义的不一致问题,但无法完全解决该问题。据此,选项B的说法有误。
单选题 在数据库中,某个业务表中的数据量很大,急速膨胀,在这种情况下,为了保持高的数据响应速度,可以对数据表进行分片设计。数据表分片需要具有______。
  • A.场地自治透明性、局部数据模型透明性、物理独立性
  • B.逻辑分布性、数据独立性、位置自治性与协作性
  • C.完备性条件、可重构条件、不相交条件
  • D.物理分布性、位置自治性与协作性、逻辑独立性
【正确答案】 C
【答案解析】[解析] 随着传统的数据库技术的成熟和计算机网络技术的发展,分布式数据库系统的研究与开发受到人们越来越多的关注。分布式数据库支持数据独立性和分布透明性。用户不必关心数据的逻辑分区,不必关心数据物理位置分布的细节,也不必关心副本的一致性问题。 在数据库中,某个业务表中的数据量很大、急速膨胀,在这种情况下,为了保持高的数据响应速度,根据数据的时间局部性和空间局部性原则,可以对数据表进行分片设计。一般有两种分片方法,分别为水平分片和垂直分片。 数据表分片满足完备性条件、可重构条件和不相交条件。其中完备性条件是指必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却未被映射到任何一个片段。可重构条件是指必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片而言,可用并操作重构全局关系;对于垂直分片而言,可用连接操作重构全局关系。不相交条件是指要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。
单选题 某公司开发基于Web的招聘系统,采用Java EE系统架构。该系统实现时,对用户的登录判断所使用的动态SQL语句如下。
SELECT *FROM Users WHERE User_Name="+strUserName+"AND Password="+strPassword+";
以下关于该SQL语句的讨论中,正确的观点是______。
  • A.这是一条安全的SQL语句,能够防止SQL注入
  • B.该SQL语句不安全,若执行测试用例“strUserName:Guo'or'a'='a,strPassword:Zhu'or'a'='a”,则系统就允许以第一行的身份进行登录
  • C.该SQL语句容易造成SQL注入,若执行测试用例“strUserName:'Guo'--,strPassword:Zhu”,则系统就允许以Guo身份登录,并对用户表中的所有行做任何操作
  • D.该SQL语句容易造成SQL注入,若执行测试用例“strUserName:'Guo';DROP table,strPassword:Zhu”,则系统将造成数据库中的所有表被永久删除
【正确答案】 B
【答案解析】[解析] 依题意,对于该动态SQL语句,若采用拼接字符串方式,则无法防止SQL注入。例如,若执行测试用例“strUserName:Guo'or'a'='a,strPassword:Zhu 'or'a'='a”,则该SQL语句变为: SELECT *FROM Users WHERE User_Name='Guo'or'a'='a'AND Password='Zhu'or'a'='a'; 由于'a'='a'条件总是成立,因此SQL的执行结果包括用户表中的所有行,系统就允许以第一行的身份进行登录。 再例如,若执行测试用例“strUserName:'Guo'--,strPassword:Zhu”,则该SQL语句变为: SELECT *FROM Users WHERE User_Name='Guo'--AND Password='Zhu'; 由于“--”是SQL中的注释符号,其后的内容为注释,因此上述语句中“--”之后的内容变为注释,只要用户表中存在用户名为Guo,系统就允许用户以Guo的身份登录,并以Guo的身份进行任何可进行的操作。 在更为严重的情况下,若用户输入“strUserName:'Guo';DROP table users_details;'--'”,以及任何字符串作为strPassword,该SQL就变为: SELECT *FROM Users WHERE User_Name='Guo';DROP table users_details; '--'AND Password='Zhu'; 这就造成数据库中users details表被永久删除。 防止SQL注入的方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL语句的功能符号。