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

         

Как создать шаблон RI Type Override


1. Войдите в редактор Trigger Template и выберите шаблон, который Вы хотите изменить, из списка 'Built-in Trigger Template', так что код шаблона для этого триггера появится в окне Template Code.

2. Измените исходное имя 'Template Name' на 'говорящее' имя шаблона, который Вы создаете, например 'Archive Deleted Data'.

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

4. Закончив редактирование кода, нажмите кнопку 'Add', чтобы добавить Ваш шаблон в список 'User Override'.

5. Чтобы присвоить новый шаблон в качестве переопределяющего шаблона, выделите Ваш шаблон, а также встроенный шаблон, который Вы хотите переопределить, а затем нажмите кнопку 'Attach', которая находится над списком 'User Override'. ERwin заменит встроенный шаблон новым и покажет тип триггера и связанный с ним шаблон в списке наверху редактора Trigger Template.

6. Нажмите кнопку 'Close' для выхода из редактора в диаграмму.

7. Чтобы ERwin мог использовать шаблоны RI Type Override вместо встроенных, включите режим 'RI Type Override' в редакторе Schema Generation Report, когда Вы будете генерировать физическую схему базы данных.

Создание шаблона триггера Relationship Override

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

Например, Вы можете захотеть, чтобы ERwin использовал код триггера, установленный по умолчанию, - Parent-Delete RESTRICT - всякий раз при удалении строки из родительской таблицы ORDER, чтобы проверить, нет ли в этом заказе невыполненных пунктов. Если часть заказа не выполнена, то Вы, наверное, захотите использовать код триггера, устанавливаемого по умолчанию, который запрещает Вам удалять заказ. Предположим, однако, что в данной ситуации Вы хотите также, чтобы триггер ссылочной целостности автоматически изменил значение в колонке Order-Status на 'Outstanding'.

Если Вы изменяете встроенный триггер так, чтобы он мог выполнить это действие, создавая для этого Relationship Override для триггера Parent-Delete RESTRICT, то этот шаблон будет применяться только к связи между таблицами ORDER и ORDER LINE. Хотя изменение режимов ссылочной целостности для отдельных связей может усложнить работу с базой данных, использование режима Relationship Override позволяет вам поддерживать правила, которые распространяются на какие-то отдельные связи.

Режим Relationship Override изменяет действие RI-триггера для одной конкретной связи.



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