與上一章節所提到的歷史表不同,歷史表需要經常翻查所以我們需要用到索引。審計表通常是資料歸檔,不允許修改,且基本上很少訪問。
create table `order` (基於 order 表建立 order_audit 審計表`id` int(10) unsigned not null auto_increment comment '訂單id',
`name` varchar(45) not null comment '訂單名稱',
`price` float not null comment '**',
`ctime` datetime not null default current_timestamp comment '建立時間',
primary key (`id`)
) engine=innodb default charset=utf8 comment='訂單表'
create table order_audit engine=archive as select * from `order`;order_audit 表結構如下
create table `order_audit` (建立插入和更新觸發器,用於插入和修改的時候同事寫入乙份到歸檔表中。`id` int(10) unsigned not null default '0' comment '訂單id',
`name` varchar(45) not null comment '訂單名稱',
`price` float not null comment '**',
`ctime` datetime not null default current_timestamp comment '建立時間'
) engine=archive default charset=utf8
drop trigger if exists `test`.`order_after_insert`;delimiter $$
use `test`$$
create definer=`dba`@`%` trigger `test`.`order_after_insert` after insert on `order` for each row
begin
insert into order_audit select * from `order` where id = new.id;
end$$
delimiter ;
drop trigger if exists `test`.`order_after_update`;
delimiter $$
use `test`$$
create definer=`dba`@`%` trigger `test`.`order_after_update` after update on `order` for each row
begin
insert into order_audit select * from `order` where id = new.id;
end$$
delimiter ;
5 6 資料庫表關係
constraint 起個名字 foreign key 關聯字段 references 被關聯表 被關聯字段 ondelete cascade 是否聯動刪除 onupdate cascade 是否聯動更新 乙個出版社可以出多本書 一對多 一本書可以被多個出版社出版 一對多 被關聯表 create t...
資料庫審計系統 mysql 資料庫審計系統
1 協議全面識別 系統全面支援主流資料庫,包括oracle sql server db2 mysql informix sybase postgresql 人大金倉 達夢dm 神通oscar 南大通用gbase teradata等協議。2 統一關聯分析 系統支援審計內容關聯對映。支援對審計資料中提取...
oracle 資料庫審計
1 審計初始化引數 在init檔案中新增 audit trail db 2 設定審計 物件審計 audit delete,insert,update on table by user session審計 audit session 指定使用者 audit session by user1,user2...