第12章 管理和维护数据完整性

1. 数据的完整性就是在数据库中符合公司商业规则的有效数据。通过如下方法维护数据的完整性:Oracle的完整性约束,数据库触发器和应用程序代码。

2. Oracle的完整性约束是强加在表上的规则或条件。

3. oracle数据库提供5种约束:非空约束;唯一约束;主键约束;外键约束;条件约束。

4. oracle完整性约束中的状态:

 1)disable novalidate(禁止而无效):不做任何约束所对应的检查;

 2)disable validate(禁止而有效):表中由约束所限制的列不能做任何修改;

 3)enable novalidate(激活而无效):新的违反约束的数据不能输入到表中。但是表中可能包含违反约束的数据;

 4)enable validate(激活而有效):任何违反约束的数据行都不能插入到表中。可能表中已经存在违反约束的数据插入到表中,他们必须被修改或删除;

5. 根据检验的时间,完整性约束可以分为延迟性(deferred)约束和非延迟(nondeferred)性约束

 1)非延迟性约束:要在每一个DML语句结束时进行数据完整性的检查。如果违反约束则将被回滚;

 2)延迟性约束:仅在每一个事务提交时进行数据完整性的检查,如果违反约束则被回滚;

 3)获得约束信息

    select constraint_name,table_name,constraint_type,status,deferrable,deferred,validated from dba_constraints where owner='SCOTT';

posted on 2012-12-20 20:34  kangxuebin  阅读(340)  评论(0编辑  收藏  举报

导航