数据库(第五章)数据库的完整性

1.数据库的正确性和相容性

正确性:符合现实逻辑

相容性:两个表中的同一对象要完全相同

如何实现数据库的完整性?

1.定义完整性约束条件

2.提供完整性检查方法

3.进行违约处理

完整性我们之前学过。包括三个

1.实体完整性

2.参照完整性

3.用户定义完整性

就是not null  Unique之类的

也可以是check(Ssex='女' or Sname not like 'Ms.%'), 检查

数据库(第五章)数据库的完整性_第1张图片

constraint 名字  check()

 

断言

 create assertion 断言名 check ()

触发器

触发器就是某个动作发生前/后执行的动作 

数据库(第五章)数据库的完整性_第2张图片

create trigger tri

after update of grade on sc

referencing 

oldrow as oldtuple

newrow as newtuple

for each row

when(newtuple.grade>=oldtuple.grade*1.2)

        insert into sc_u (sno,cno,oldgrade,newgrade) values (oldtuple.sno,oldtuple.cno,oldtuple.grade,newtuple.grade);

数据库(第五章)数据库的完整性_第3张图片

 create trigger t

before  insert or update on Teacher

referencing new row As newTuple

for each row

begin

if(newTuple.job='教授') and (newTuple.sal<4000)

        then newTuple.sal=4000;

end if;

你可能感兴趣的:(数据库)