回 帖 发 新 帖 刷新版面

主题:帮忙解决以下:触发器问题

在Student数据库中创建学生信息表(Student)、课程信息表(Course)和学生选课表(SC)
实现:
(1)创建一个insert触发器,当在Student表中插入一条新记录时,不允许在学号中出现重复的编号或出现空值。
 (2)创建一个insert触发器,当在SC表中插入一条新记录时,sno和cno必须是已经存在的学号和课程号,且grade应该在0----100之间。
 (3)创建一个after触发器,在Student表中删除某学生的记录时,删除其相应的选课记录。
 (4)创建一个instead of 触发器,当在Course表中上删出记录时,不允许删除Course表中的数据。

回复列表 (共1个回复)

沙发

对于第一个问题,不需要触发器,把"学号"字段的属性变为 NOT NULL, 并建立唯一索引即可;这还可以提高查询性能; 

对于第二,三个问题,也不需要触发器, grade字端加check约束, 为sno, cno建立外部引用约束,删除时使用cascade标记






我来回复

您尚未登录,请登录后再回复。点此登录或注册