数据库完整性
1.数据库完整性是指:数据库中数据的正确性和相容性。
2.数据库完整性分类:
<1>实体完整性 (指主键)
<2>参照完整性 (指外键)
<3>用户定义完整性
a.NOT NULL (不能为空)
b.UNIQUE (唯一性)
c.CHECK 短语 (检查列值是否满足一个布尔表达式)
d.完整性约束命名字句:CONSTRAINT (用来给约束条件命名,方便对约束条件的删除和修改)
e.域中完整性限制:CREATE DOMAIN
3.触发器
触发器类似于约束,同样是对数据进行条件限制,(可以粗略地认为触发器是约束的一种)。但是触发器比约束条件更加强大和灵活。
1.触发器名
2.表名
3.触发事件(增删改)
4.触发器类型
行级触发器(FOR EACH ROW):表中有多少条记录,就执行检查多少次。
语句级触发器(FOR EACH STATEMENT):只执行检查一次。
5.触发条件(用户自定义)
6.触发动作体(往往是一个过程块)。
4.注意:
这些完整性设置,均是在建表中的语句设置的,即和CREATE TABLE 一起出现。
如果数据违法完整性,有两种处理:ON ACTION(拒绝) 或者CASCADE(级连)。