数据库常见面试题

上一篇 / 下一篇  2017-11-13 13:57:01 / 个人分类:软件测试

最近整理了一些数据库常见的面试题,希望对大家也有所帮助。

 

1.触发器的作用?

触发器是一类特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。

 

2.什么是存储过程?用什么来调用?

存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以一个命令对象来调用存储过程。

 

3.索引的作用?它的优点缺点是什么?

索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

 

4.在关系数据库中,用来表示实体间联系的是?B

A属性

B二维表

C网状结构

D树状结构

[解析]关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体。

 

5.数据库中事务隔离分为4个级别,其中允许“不可重复读”的有?(求解释) BC

A SERIALIZABLE

B READ COMMITTED

C READ UNCOMMITTED

D REPEATABLE READ

C:出现脏读,幻读,不可重复读。

B:出现幻读,不可重复读。

D:出现幻读

A:不出现上述问题。

Read Uncommitted:不隔离数据,对于事务使用的数据,其他事务也能修改删除。

Read Committed:不允许读取没有提交的数据,只有其他事务提交了数据,你才能访问。

Repeatable Read:事务中用到的数据都被锁定,其他事务不能修改和删除。

Snapshot:快照隔离

Serilizable:事务要用到的数据全部锁定,不允许其他事务添加,修改,删除。

 

6.事务日志用于保存  C

A程序运行过程

B程序的执行结果

C对数据的更新操作

D对数据的查询操作

   记录数据库事务,最大限度地保证数据的一致性与安全性

重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件

归档日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。

 

7.要删除表A中数据,使用TRUNCATE TABLE A。运行结果是?A

AA中的约束依然存在

BA被删除了

CA中的数据被删除了一半,再次执行时,将删除剩下的一半数据行

DA中不符合检查约束要求的数据被删除,而符合检查约束要求的数据依然保留

 删除表的语句为:DROP TABLE table_name;

DELETETRUNCATE TABLE都是删除表中的数据的语句,它们的不同之处在于:

1TRUNCATE TABLEDELETE的速度快;

2TRUNCATE TABLE是删除表的所有行,而DELETE是删除表的一行或者多行(除非DELETE不带WHERE语句);

3、在删除时如果遇到任何一行违反约束(主要是外键约束),TRUNCATE TABLE仍然删除,只是表的结构及其列、约束、索引等保持不变,但DELETE是直接返回错误;

4、对于被外键约束的表,不能使用TRUNCATE TABLE,而应该使用不带WHERE语句的DELETE语句。

5、如果想保留标识计数值,要用DELETE,因为TRUNCATE TABLE会对新行标志符列搜用的计数值重置为该列的种子。

 

 

PS,推荐下博为峰网校双十一“11门好课抱团免费学”活动~

活动链接:http://h.atstudy.com/atstudy/11/

可以免费学《Oracle数据库从0到精通》

课程介绍:Oracle是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。本视频将分别从开发人员、测试人员的不同需求角度,详尽的讲述Oracle的操作、数据库的管理、测试环境的搭建、对数据库进行测试等,深入了解Oracle数据库的管理、使用,帮助您建立对oracle数据库直观的逻辑。

 

更多精彩数据库课程,请移步博为峰网校查看~

零基础掌握MySQL数据库,地址:http://www.atstudy.com/course/367
数据库测试之MySQL存储过程
,课程地址:
http://www.atstudy.com/course/45


TAG: 数据库 MySQL mysql Oracle

 

评分:0

我来说两句

Open Toolbar