1.为选课表Sc增加参照完整性及违约处理,定义cno为外键,与course表中的cno关联,当删除、更新course中的元组时,级联删除、更新Sc表中的相应元组,并进行验证。
完整性及违约处理语句如下:
ALTER TABLE sc
ADD CONSTRAINT b
FOREIGN KEY (cno) REFERENCES course(cno)
ON DELETE CASCADE;
验证语句如下:
delete
from course
where cno='3'
select * from sc
select * from course
2.建立一个触发器,当向sc表中添加数据时,如果添加的数据与student表中的数据不匹配(没有对应的学号),则将此数据删除。
建立触发器语句如下:
create trigger tr_insert_sc on sc
for insert
as
begin
if(select sno from insterted)
not in (select sno from student)
begin
print 'insertion is stopped!'
rollback
end
end