араметрами. У збережених процедурах можуть виконуватися стандартні операції з базами даних. p align="justify"> CREATE PROCEDURE COACH (COACH_DATE1 DATE, COACH_DATE2 DATE) (FIO VARCHAR (255), TEAM_NAME VARCHAR (255)) BEGINSELECT C.FIO, T.TEAM_NAMECOACH C, TEAM T ((C.TEAM_NUMBER = T . TEAM_NUMBER) AND (COACH_DATE BETWEEN: COACH_DATE1 AND: COACH_DATE2)): FIO,: TEAM_NAMESUSPEND;;
Для демонстрації її роботи виведені ПІБ тренерів і назва команди для тренерів дата народження яких з 01.01.1985 по 01.01.1988. Результати виклику процедури показані на малюнку 3.3. p align="justify"> SELECT FIO, TEAM_NAME FROM COACH C, TEAM T
WHERE WHERE ((C.TEAM_NUMBER = T.TEAM_NUMBER) AND (COACH_DATE> 01.01.1985 , COACH_DATE < 01.01. 1988 );
В
Малюнок 3.3 - Робота збереженої процедури В«СOACHВ»
Тригер - спеціальний вид процедури, що зберігається, використовуваний в реляційних БД. Тригер не може викликатися безпосередньо користувачем, він прив'язується до якої-небудь базовій таблиці і виконується автоматично СУБД при вставці, видаленні або модифікації записів у таблиці. p align="justify"> Приклад створення тригера:
Створити тригер, який автоматично проставляє номер матчу В«MATCH_NUMBERВ» перед вставкою нового кортежу:
CREATE TRIGGER INS_MATCH_NUMBER FOR MATCHINSERT.MATCH_NUMBER = GEN_MATCH_NUMBER (GEN, 1);
END
3.2 Стратегії безпеки бази даних
Під безпекою мається на увазі захист бази даних від несанкціонованого доступу. У сучасних СУБД підтримується виборчий і обов'язковий тип стратегій забезпечення безпеки бази даних. p align="justify"> Безпека бази даних реалізується за допомогою стратегії виборчого управління безпеку. Сутність даної стратегії полягає в тому, що для кожного користувача бази даних встановлюються різні права і повноваженнями при роботі з різними об'єктами. p align="justify"> Було виділено 3 основних користувача В«АдміністраторВ», В«ОрганізаторВ», В«УчасникВ» (Лістинг 3.2):
CREATE USER administrator SET PASSWORD 'administrator'; USER organizator SET PASSWORD 'organizator'; USER uchastnik SET PASSWORD 'uchastnik';
Встановимо права для кожного з користувачів, дозволивши учаснику тільки робити вибірку з таблиць В«МатчВ», В«ТурнірВ», В«КомандаВ», організатору будуть доступні вибірка, додавання, зміна інформації усіх таблиць, а адміністратору? всі дії над таблицями:
GRANT SELECT ON MATCH TO UCHASTNIK; SELECT ON TURNIR TO UCHASTNIK; SELECT ON TEAM TO UCHASTNIK; SELECT, UPDATE, INSERT ON TURNIR TO ORGANIZATOR; SELECT, UPDATE, INSERT ON MATCH TO ORGANIZATOR; SELECT, UPDATE , I...