51Testing软件测试论坛

标题: 数据库常见面试题 [打印本页]

作者: 学掌门网校    时间: 2017-11-13 14:04
标题: 数据库常见面试题
本帖最后由 博为峰网校 于 2017-11-13 14:06 编辑

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

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中数据,使用TRUNCATETABLE A。运行结果是?A
A A中的约束依然存在
B A被删除了
C A中的数据被删除了一半,再次执行时,将删除剩下的一半数据行
D A中不符合检查约束要求的数据被删除,而符合检查约束要求的数据依然保留
  删除表的语句为:DROPTABLE table_name;
DELETETRUNCATE TABLE都是删除表中的数据的语句,它们的不同之处在于:
1TRUNCATE TABLEDELETE的速度快;
2TRUNCATE TABLE 是删除表的所有行,而DELETE是删除表的一行或者多行(除非DELETE不带WHERE语句);
3、在删除时如果遇到任何一行违反约束(主要是外键约束),TRUNCATE TABLE仍然删除,只是表的结构及其列、约束、索引等保持不变,但DELETE是直接返回错误;
4、对于被外键约束的表,不能使用TRUNCATETABLE,而应该使用不带WHERE语句的DELETE语句。
5、如果想保留标识计数值,要用DELETE,因为TRUNCATETABLE会对新行标志符列搜用的计数值重置为该列的种子。


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






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2