Руководство по программному пакету ERwin

         

Использование ссылочной целостности для усиления business rules


ERwin позволяет Вам использовать набор встроенных режимов ссылочной целостности для усиления business rules (хотя вообще они используются для поддержания целостности данных). Эти триггер-функции поддержания ссылочной целостности (RI) сообщают СУБД, какое действие предпринять при вставке, изменении или удалении сроки в таблице. Обычно RI-триггер либо не дает изменению произойти (это называется RESTRICT - ОГРАНИЧЕНИЕМ), либо допускает изменение и распространяет его влияние на другие таблицы (CASCADE - КАСКАД). Как и в случае кардинальности связи, режимы ссылочной целостности ERwin также можно использовать для того, чтобы помочь Вам сформулировать бизнес-утверждения.

Например, на вопрос: 'Могу ли я сделать заказ, не задавая при этом никаких заказываемых товаров, т.е. список товаров пустой?' - можно ответить только с помощью правила, и усилить выполнение этого правила можно только с помощью соответствующего триггера ERwin. Если ответ для данного бизнеса: 'Нет, в списке товаров должен быть хотя бы один пункт' - то желаемое поведение может быть достигнуто следующими действиями:

1. Задать кардинальность связи между ЗАКАЗОМ и СПИСКОМ ТОВАРОВ, равную 'One or more' - 1 или более.

2. Сделать связь 'обязательной', независимо от того, какая это связь - идентифицирующая или неидентифицирующая.

3. Присвоить связи действие RI-триггера 'Parent Insert-CASCADE' для того, чтобы при создании новой строки в таблице ЗАКАЗ автоматически создавалась хотя бы одна строка в дочерней таблице СПИСОК ТОВАРОВ.

4. Присвоить связи действие RI-триггера 'Parent Delete-CASCADE' для того, чтобы при удалении строки из таблицы ЗАКАЗ соответствующая строка или строки из таблицы СПИСОК ТОВАРА тоже удалялись.

ERwin автоматически присваивает каждой связи режим ссылочной целостности, устанавливаемый по умолчанию, прежде чем добавить ее в диаграмму. Режимы RI, присваиваемые ERwin по умолчанию, могут быть изменены в редакторе Referential Integrity Default. Режим RI, применяемый к конкретной связи, может быть изменен в редакторе Referential Integrity. Ниже описано, как работать в этих редакторах. См. Гл.16, Триггеры и хранимые процедуры, разд. 'Что такое триггеры'.

Задание режимов ссылочной целостности, присваиваемых по умолчанию

Вы можете изменить режимы RI, присваиваемые по умолчанию, в редакторе Referential Integrity Default.



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