您的位置:首页 > 博客中心 > 数据库 >

数据库经典问题

时间:2022-03-13 23:29

1、存储过程的优点是什么? 存储过程的优点: 1.提高性能 2.减轻网络拥塞 3.一致性较好 4.改善安全机制

  

2、什么是触发器?触发器有哪几种?触发器有什么优点? 

一个触发器是由T-SQL语句集组成的代码块,在响应某些动作时激活该语句集        

有insert,delete,update触发器 

它防止了对数据的不正确、未授权的和不一致的改变


3、常见的几种约束有哪些?分别代表什么意思?如何使用? 

1)实体完整性:主键保证了实体完整性,一个表只有一个主键,但一个主键可有包含多个字段,主键字段不能为空 

2)参照完整性:外键保证了引用完整性,一个表可以有多个外键 

3)用户定义完整性:CHECK保证了域完整性, 一个表中可以有多个检查性约束 


4、事务:是一系列的数据库操作,是数据库应用的基本逻辑单位。

事务性质:ACID特性

gxlsystem.com,布布扣

 gxlsystem.com,布布扣

gxlsystem.com,布布扣


10、日志文件 redo 和 undo的作用

在事务T开始开始之前,日志中写入记录<T start>,执行过程中,T执行任何write(X)操作前先要向日志中写入适当的新的记录,当T提交时,日志中写入记录<T commit>,总的来说就是先写日志,后更新记录。

gxlsystem.com,布布扣

在这里我们先说恢复的一般方法:
(1)正向扫描日志文件(从头到尾),找出故障发生前已经提交的事务(存在begin transaction和commit记录),将其标识记入重做(redo)队列。同时找出故障发生时未完成的事务(只有begin transaction,没commit),将其标识记入(undo)队列
(2)对undo队列的各事务进行撤销处理。进行undo的处理方法是,反向扫描日志文件,对每个undo事务的更新操作执行反操作,即将日志记录中“更新前的值”写入数据库。

(3)对重做日志中的各事务进行重做操作。进行redo的处理方法是,正向扫描日志,对每个redo事务重新执行日志文件登记操作。即将日志中“更新后的值”写入数据库。

热门排行

今日推荐

热门手游