数据库常见面试题
本帖最后由 博为峰网校 于 2017-11-13 14:06 编辑最近整理了一些数据库常见的面试题,希望对大家也有所帮助。
1.触发器的作用?触发器是一类特殊的存储过程,主要是通过事件来触发而被执行的。它可以强化约束,来维护数据的完整性和一致性,可以跟踪数据库内的操作从而不允许未经许可的更新和变化。可以联级运算。如,某表上的触发器上包含对另一个表的数据操作,而该操作又会导致该表触发器被触发。
2.什么是存储过程? 用什么来调用?存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需要创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以一个命令对象来调用存储过程。
3.索引的作用?它的优点缺点是什么?索引就是一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
4.在关系数据库中,用来表示实体间联系的是?BA属性 B二维表C网状结构D树状结构[解析] 关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体。
5.数据库中事务隔离分为4个级别,其中允许“不可重复读”的有?(求解释) BCA SERIALIZABLE B READ COMMITTED C READ UNCOMMITTED D REPEATABLE READC:出现脏读,幻读,不可重复读。 B:出现幻读,不可重复读。 D:出现幻读 A:不出现上述问题。 Read Uncommitted:不隔离数据,对于事务使用的数据,其他事务也能修改删除。 Read Committed:不允许读取没有提交的数据,只有其他事务提交了数据,你才能访问。Repeatable Read:事务中用到的数据都被锁定,其他事务不能修改和删除。 Snapshot:快照隔离 Serilizable:事务要用到的数据全部锁定,不允许其他事务添加,修改,删除。
6.事务日志用于保存CA程序运行过程B程序的执行结果C对数据的更新操作D对数据的查询操作 记录数据库事务,最大限度地保证数据的一致性与安全性 重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复,一个数据库至少需要两个重做日志文件归档日志文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
7.要删除表A中数据,使用TRUNCATETABLE A。运行结果是?AA 表A中的约束依然存在B 表A被删除了C 表A中的数据被删除了一半,再次执行时,将删除剩下的一半数据行D 表A中不符合检查约束要求的数据被删除,而符合检查约束要求的数据依然保留删除表的语句为:DROPTABLE table_name; 而DELETE和TRUNCATE TABLE都是删除表中的数据的语句,它们的不同之处在于:1、TRUNCATE TABLE比DELETE的速度快; 2、TRUNCATE 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
页:
[1]