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';