数据库的完整性和恢复技术

一。数据库的完整性

1实体完整性

 主码不能为空,且唯一

2参照完整性

被参照表如student表 参照表如sc表 违约处理
可能破坏参照完整性                     插入元组 拒绝(not action)
可能破坏参照完整性                     修改外码值→ 拒绝
删除元组                                    可能破坏参照完整性 拒绝、级联删除(cascade)、设置为空
修改主码值                                   可能破坏参照完整性 拒绝、级联删除、设置为空null

3用户自定义完整性

1.列表非空

2.列表唯一值

3.check()短语(不带封号)

4.完整性约束命名子句

CONSTRAINT <完整性约束命名条件>[PRIMARY KEY短语 | FOREIGN KEY  语句| CHECK 短语]  没有封号

eg  CONSTRAINT C1 CHECK( AGE >30)

      CONSTRAINT PK PRIMARY KEY (SNO)

    ALTER TABLE STUDENT

             DROP CONSTRAINT C1,

             ADD CONSTRAINT C1 CHECK(AGE >30);

二数据库的恢复技术

  1.事务的基本概念(TRANSACTION)

   事务是用户自定义的一个数据库的操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。例如在数据库中,一个事务可以是一条SQL语句,一组SQL语句,或整个程序

 事务特性:原子性,一致性,隔离性,持续性。

 2.故障种类

 事务内部故障:是一种非预期的故障,不能由应用程序处理的。它表示事务没有达到预期状态,恢复操作叫事务撤销。

 系统故障:使得事务异常停止,恢复操作有,事务的撤销和重做。

介质故障:危害性大

计算机病毒:人为破坏。

3.恢复机制中一定的冗余数据利用数据库的恢复 建立冗余的常用技术是  数据转储和登陆日志文件。

原文地址:https://www.cnblogs.com/Spring-Rain/p/4456971.html