Oracle笔记:维护数据的完整性

    维护数据的完整性用于确保数据库的数据遵从一定的商业和逻辑规则。在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现。这三种方法中,约束易于维护,且具有很好的性能,所以作为维护数据完整性的首选。

    约束:用于确保数据库数据满足特定的商业规则。

    oracle中,约束包括:
    1) not null
    2) unique:不能重复,可以为null。
    3) primary key:不能重复且不能为null。一张表最多只能有一个主键,可以有多个unique约束。
    4)foreign key:用于定义主表和从表之间的关系。外键约束要定义在从表上,主表则必须有主键约束或unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或为null。(如:goodsID char(8) references goods(goodID))
    5)check:用于强制数据必须满足的条件。(如:nums number(10) check (nums between 1 and 30))

    如果在建表时忘记建立必要的约束,则可以在建表后使用alter table命令为表增加约束,但要注意:增加not null约束时,需要使用modify选项,增加其它四种约束使用add选项。如:给goods表的goodsName增加不能为空的约束(alter table goods modify goodsName not null;) 增加身份证号不能为空的约束(alter table customer add constraint aa unique(cardID))。

    删除约束
    alter table 表名 drop constraint 约束名称;
    注意:在删除主表的主键约束时,必须带上cascade选项。   

原文地址:https://www.cnblogs.com/testing/p/2992623.html