【数据库经典笔试题(四)】

1.在手机开发中常用的数据库是 SQLite

SQLite,是一款轻型的关系型数据库,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存。

=====================================

2.数据库中,数据的物理独立性是指用户的应用程序与存储在磁盘上数据库中的数据相互独立

2.1 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

2.2 逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即,当数据的逻辑结构改变时,用户程序也可以不变。

=====================================

3.所有的视图都可以更新。(错误)

3.1 若视图的字段是来自字段表达式或常数,则不允许对此视图执行INSERT、UPDATE操作,允许执行DELETE操作;

3.2 若视图的字段是来自库函数,则此视图不允许更新;

3.3 若视图的定义中有GROUP BY子句或聚集函数时,则此视图不允许更新;

3.4 若视图的定义中有DISTINCT任选项,则此视图不允许更新;

3.5 若视图的定义中有嵌套查询,并且嵌套查询的FROM子句中涉及的表也是导出该视图的基表,则此视图不允许更新;

3.6 若视图是由两个以上的基表导出的,此视图不允许更新;

3.7 一个不允许更新的视图上定义的视图也不允许更新;

3.8 由一个基表定义的视图,只含有基表的主键或候补键,并且视图中没有用表达式或函数定义的属性,才允许更新。

=====================================

4.此图是DFD图

【数据库经典笔试题(四)】

4.1 DFD 数据流图(Data Flow Diagram);

4.2 IPO输入加工输出图(input process output);

4.3 ER图 实体-联系图(Entity-Relationship Diagram)

=====================================

5.SQL语言中,删除一个表的命令是DROP

5.1 当你不再需要该表时, 用 drop;

5.2 当你仍要保留该表,但要删除所有记录时, 用 truncate;

5.3 当你要删除部分记录时, 用 delete

=====================================

6.数据库管理系统的工作不包括为定义的数据库提供操作系统

数据库管理系统应该具备的功能:

6.1 数据库定义

6.2 数据库操纵

6.3 数据库查询

6.4 数据库控制

6.5 数据库管理

6.5 数据库通信(在分布式和网络环境中必须提供)

=====================================

7.数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。在常用的数据模型中,不包括链状模型

=====================================

8.已知关系R如图,可以作为 R 主码的属性组是?【数据库经典笔试题(四)】

ABD

作为主键的属性组,要求不能出现相同值.

ACD中,第一行和第四行均出现134,被排除;

ABC中,第二行和第五行均出现134,被排除;

BCD中,第三行和第六行均出现456,被排除.

=====================================

9.在数据库与宿主语言之间传递信息是通过局部变量

SQL与宿主语言的接口是共享变量。游标机制将多条记录一次一条送至宿主程序的共享变量中,共享变量在宿主语言程序中定义,因此共享变量是宿主语言的局部变量,SQL语句可以引用这些共享变量传递数据库信息。

=====================================

10.JDBC的主要功能有创建与数据库的连接、发送SQL语句到数据库中、处理数据并查询结果

=====================================

11.多用户的数据库系统的目标之一是使它的每个用户好像面对着一个单用户的数据库一样使用它,为此数据库系统必须进行并发控制

=====================================

12.若要在“出生日期”字段设置“1982年以前出生的学生”有效性规则,应在该字段有效性规则处输入<#1982-01-01#

=====================================

13.事务是 DBMS 的基本单位,它是用户定义的一组逻辑一致的程序序列。

=====================================

14.在 SQL 语言中,属于 DML 的操作命令是UPDATE

14.1 DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对 数据库 里的数据进行操作的语言

14.2 DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用

14.3 DCL(data control language): 是数据库控制功能。是用来设置或更改数据库用户或角色权限的语句,包括(grant,deny,revoke等)语句。在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL

=====================================

15.oracle 数据库中最常见的索引类型是b-tree索引

15.1 b-tree索引

Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。

15.2 位图索引(bitmap index)

位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。

15.3 基于函数的索引

比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。

15.4 分区索引和全局索引

这2个是用于分区表的时候。前者是分区内索引,后者是全表索引

15.5 反向索引(REVERSE)

这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值(10001,10002,10033,10005,10016…)。这种情况默认索引分布过于密集,不能利用好服务器的并行,但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。

15.6 HASH索引

HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。

=====================================

16.对表进行垂直方向的分割,用的运算是投影

投影是选择列

选择是选择行

=====================================

17.MODIFY STRUCTURE 命令的功能是:修改表结构

使用命令方式修改表结构时,使用MODIFY STRUCTURE命令,将当前已打开的表文件的表设计器打开进行修改。

=====================================

18.设有两个事务T1、T2,其并发操作如图【数据库经典笔试题(四)】

该操作不能重复读

事务T1 第一次read( A )后,事务T2对A进行了修改并写入内存A=A*2,write(A);事务T1再次读取read( A )会发现A变成第一次读取的两倍,即产生两次读取的数据不一致的问题。

<stron敏感词生的原因是>:读写锁并行,导致的两次读取的数据版本不一致。</stron敏感词生的原因是>MySQL默认的隔离级别是可重复读,采用Next-Key Lock算法来避免不可重复读的现象。

=====================================

19.查询优化策略中,正确的策略是尽可能早地执行选择操作

=====================================

20.规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常以及冗余度大的缺陷

=====================================

21.ACCESS数据库中,若要求在窗体上设置输入的数据是取自某一个表或查询中记录的数据,或者取自固定内容的数据,可以使用的控件是列表框或组合框控件

=====================================

22.SQL 中的“断言”机制属于DBS的完整性措施

所谓断言就是一个谓词,它表达了我们希望数据库总能满足的一个条件。域约束和参照完整性约束是断言的特殊形式。属于DBS的完整性措施。

=====================================

23.有关ibatis 中的#与$的区别

23.1 #是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in (‘1,2’) ,

23.2 $ 传入的数据直接生成在sql里,如$ user_id_list$传入的是1,2,则sql语句生成是这样,in(1,2).

23.3 #方式能够很大程度防止sql注入.

23.4 $方式无法方式sql注入.

23.5 $方式一般用于传入数据库对象.例如传入表名.

23.6 一般能用#的就别用$.

+++++++++++++++++++++++++++++++++++++

哈哈哈哈哈哈哈,竟然有粉丝了,开心开心。我会继续努力,坚持更博。关于数据库的问题都可以私信问我,有问必答。