本帖最后由 博为峰网校 于 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; 而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门好课抱团免费学”活动~ 可以免费学《Oracle数据库从0到精通》 课程介绍:Oracle是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。本视频将分别从开发人员、测试人员的不同需求角度,详尽的讲述Oracle的操作、数据库的管理、测试环境的搭建、对数据库进行测试等,深入了解Oracle数据库的管理、使用,帮助您建立对oracle数据库直观的逻辑。
更多精彩数据库课程,请移步博为峰网校查看~
|