首先建立数据库Test,建立两个表,我们命名为grades和audit,利用audit实现对grades的审计功能,其中grades用于存放学生的成绩,包括“sdudentID,courseID,grade”三个字段,主键为sdudentID,courseID;audit仅仅比表grades增加了两个字段:changeType,changTime,用于记录grades表被修改的类型和修改时间。
建立2个表格的sql语句如下:
create table grades(
studentID int,
courseID int,
grade int,
primary key(studentID,courseID)
);
create table audit(
changeType char(15),
changeTime datetime,
studentID int,
courseID int,
grade int,
primary key(changeType,changeTime,studentID,courseID,grade)
)
然后在表grades上建立触发器,如果对grades表进行“insert”,"delete","update"操作,在audit表中分别记录这些操作的类型(update(old,new),insert或者delete),操作的时间,操作影响的数据(比如被删除的数据,插入的数据,修改前的数据,修改后的数据