Корпоративные базы данных - статьи

       

Правила



Правила позволяют вызывать выполнение заданных действий при определенных изменениях базы
данных. Обычно действие - это вызов процедуры. Правила ассоциируются с таблицами и
срабатывают при изменении этих таблиц.

В отличие от ограничений, которые являются лишь средством контроля относительно простых
условий, правила позволяют проверять и поддерживать сколь угодно сложные соотношения между
элементами данных в базе.

Как и в случае ограничений, проверка правил отключается при массовых операциях копирования.
Администратор базы данных может также явным образом отменить проверку правил,
воспользовавшись оператором

SET NORULES;

Оператор

SET RULES;

позволит затем восстановить работу механизма правил. По умолчанию этот механизм
включен.

Для удаления правил служит оператор

DROP RULE правило;

СУБД обеспечивает автоматическое удаление правил в тех случаях, когда удаляется
соответствующая таблица. Тем самым поддерживается целостность системы таблиц и правил.

В контексте информационной безопасности важно отметить, что создать правило, ассоциируемое с
таблицей, может владелец этой таблицы, имеющий право на выполнение соответствующей
процедуры. Пользователь, действия которого вызывают срабатывание правила, должен обладать
лишь необходимыми правами доступа к таблице. Тем самым правила неявно расширяют
привилегии пользователей. Подобные расширения нуждаются в строгом административном
контроле, поскольку даже незначительное изменение правила или ассоциированной процедуры
может кардинально повлиять на защищенность данных. Ошибка же в сложной системе правил
вообще чревата непредсказуемыми последствиями.

Содержание раздела