5 6 資料庫審計表

2021-09-22 18:59:39 字數 1576 閱讀 1032

與上一章節所提到的歷史表不同,歷史表需要經常翻查所以我們需要用到索引。審計表通常是資料歸檔,不允許修改,且基本上很少訪問。

create table `order` (

`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='訂單表'

基於 order 表建立 order_audit 審計表

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...