VALUES ('U', NEW.num, NEW.balance, OLD.num, OLD.balance);
DROP RULE Account_logs _DELETE ON Account;
CREATE RULE Account_logs _DELETE AS ON DELETE TO Account
DO
INSERT INTO Account_logs
(OPER_TYPE, num_old ,balance _old,)
VALUES ('D', OLD.num, OLD.balance);
DROP RULE Operation_logs _INSERT ON Operation;
CREATE RULE Operation_logs _INSERT AS ON INSERT TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_new ,dat_new, credit_num_new, debet_num_new, change_new )
VALUES ('I', NEW.code, NEW.dat, NEW.credit-num, NEW.debet_num, NEW.change);
DROP RULE Operation_logs _UPDATE ON Operation;
CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_new ,dat_new, credit_num_new, debet_num_new, change_new,
code_old, dat_old, credit_num_old, debet_num_old, change_old)
VALUES ('U', NEW.code, NEW.dat, NEW.credit_num, NEW.debet_num, NEW.change,
OLD.code, OLD.dat, OLD.credit_num, OLD.debet_num, OLD.change);
DROP RULE Operation_logs _DELETE ON Operation;
CREATE RULE Operation_logs _DELETE AS ON DELETE TO Operation
DO
INSERT INTO Operation_logs
(OPER_TYPE, code_old , dat_old, credit_num_old, debet_num_old, change_old )
VALUES ('D', OLD.code, OLD.dat, OLD.credit_num, OLD. debet_num, OLD.change);
DROP RULE Branch_logs _INSERT ON Branch;
CREATE RULE Account_logs _INSERT AS ON INSERT TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_new ,name_new, address_new, capital_new )
VALUES ('I', NEW.num, NEW.name, NEW. address, NEW. capital);
DROP RULE Branch_logs _UPDATE ON Branch;
CREATE RULE Account_logs _ UPDATE AS ON UPDATE TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_new ,name_new, address_new, capital_new,
num_old ,name_ old , address_ old , capital_ old )
VALUES ('U', NEW.num, NEW. name, NEW. address, NEW. capital,
OLD.num, OLD. name, OLD. address, OLD. capital);
DROP RULE Branch_logs _DELETE ON Branch;
CREATE RULE Branch_logs _DELETE AS ON DELETE TO Branch
DO
INSERT INTO Branch_logs
(OPER_TYPE, num_old , name_old, address_old, capital_old )
VALUES ('D', OLD.num, OLD.name, OLD.address, OLD.capital);
В даній роботі проведено проектування та реалізація БД у СКБД Postgres. Реалізовані наступні елементи безпеки ІС:
- цілісність даних на рівні таблиць, перевірка їх коректності;
- облік користувачів, груп користувачів та їх прав, рівні секретності, контроль доступу до таблиць;
- організація захищеного з’єднання з СКБД за допомогою протоколу SSL;
- організація журналювання змін таблиць засобами самої СКБД.
1. Грабер М. SQL. – М: Лори, 2003. – 642 с.
2. Дейт К. Дж. Введение в системы баз данных. – К: Диалектика, 1998. – 784 с.