Home  >  Article  >  Database  >  8.2 数据库

8.2 数据库

WBOY
WBOYOriginal
2016-06-07 15:31:311530browse

8.2.1触发器 特殊类型的存储结构,由事件触发,而不是程序或手动启动。当数据有特殊操作时,自动触发执行SQL语句。 触发器和存储过程的区别: 1.触发器是自动被触发,存储过程显式调用。 2.触发器不能使用COMMIT,ROLLBACK语句,存储过程可以。 3.触发器不能

8.2.1触发器

特殊类型的存储结构,由事件触发,而不是程序或手动启动。当数据有特殊操作时,自动触发执行SQL语句。

触发器和存储过程的区别:

1.触发器是自动被触发,存储过程显式调用。

2.触发器不能使用COMMIT,ROLLBACK语句,存储过程可以。

3.触发器不能接受参数传入,存储过程可以。

两类触发器:DML触发器,DLL触发器。

DML:数据操作触发器,当数据库服务器发生数据操作语言事件时执行的存储过程。有After和Instead Of两种。After触发器是在记录改变之后进行的,Instead Of是在记录变更之前,去执行触发器,代替原来的sql语句,也就是说原有的sql是为了触发这个动作。

DLL:数据定义触发器,相应数据定义语句时触发的存储过程。

作用:

1.增加安全性

2.利用触发器记录所进行的修改和相关信息。

3.维护那些通过声明表时的声明约束不可能实现的复制的完整性约束,以及对数据库中特定事件的监控

4.自动完成某些功能。


8.2.2索引

索引是提高访问速度的机制。它是一个在数据库的表或视图上按照某个关键字段的值,升序或降序排列创建的对象。当用户查询索引字段时,可以快速执行检索操作。

是与表或视图相关联的磁盘上结构。

聚集索引和非聚集索引

聚集:行的物理顺序和键值的逻辑顺序一样,一个表只能有一个聚集索引。与非聚集索引相比,一般有更快的访问速度。

非聚集:索引有指针,指向数据存储位置,索引的项目按索引前的顺序存储。


8.2.3撤销和回滚

回滚是利用undo保证事务有效,即执行失败,则回滚到事务执行前的状态。

撤销更多用来恢复数据库。如突然断电,利用undo把未完成的的事务处理。


8.2.4 备份

完全备份:全部信息,是恢复的基线。不但是数据文件,日志文件,还有存储位置,以及全部对象的相关信息。在备份过程中的事务和未完成的事务都被忽略

差异备份:从上一次完全备份之后的数据库修改, 差异备份过程中的操作可以备份起来。

事务日志备份:上次备份后的日志记录

增量备份:备份针对上一次备份的修改


8.2.5 游标

可以改变数据库按表进行操作,使按行进行操作

















Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn