Переопределение шаблонов триггеров в ERwin
При генерации физической схемы базы данных ERwin по умолчанию использует для генерации кода триггера на языке SQL встроенные шаблоны RI-триггеров, которые автоматически присваиваются каждой связи. Поскольку с каждым типом правила ссылочной целостности связан какой-то встроенный шаблон, Вы можете сгенерировать код триггера для всей Вашей модели и больше в этом отношении ничего не делать. Если Вы используете шаблоны, присваиваемые ERwin по умолчанию, то ERwin составляет коды триггера по умолчанию, используя фиксированную внутреннюю схему для комбинирования различных встроенных шаблонов.
Если Вы хотите изменить коды триггера, генерируемые на основе встроенных шаблонов, ERwin позволяет Вам изменить шаблон и указать, что при генерации модифицированная версия должна заменить встроенный шаблон. ERwin позволяет переопределить триггер, устанавливаемый по умолчанию, тремя способами.
1. RI Type Override - Переопределение типа RI. Для каждой комбинации правил ссылочной целостности (например Parent-Delete RESTRICT) ERwin позволяет Вам создать переопределенный шаблон и использовать этот шаблон вместо шаблона, используемого по умолчанию, для всех связей диаграммы, которым был присвоен этот тип правила ссылочной целостности. Используя в качестве отправного пункта встроенный код шаблона, Вы можете, пользуясь этим способом, производить глобальные изменения в отношении ссылочной целостности, изменяя коды триггера только в одном месте. Шаблоны RI Type Override используются вместо стандартных шаблонов ERwin, если при генерации схемы Вы задаете режим RI Type Override.
2. Relationship Override - Переопределение связи. Если Вы хотите переопределить шаблон, задаваемый по умолчанию, для какой-то конкретной связи, Вы можете модифицировать встроенный шаблон и связать новую версию только в этой связью. Например, если связь между сущностями MOVIE и MOVIE-COPY задана для Parent-Delete RESTRICT, а Вы хотите изменить поведение для этой связи, то Вы можете создать шаблон триггера Relationship Override для комбинации Parent-Delete RESTRICT и связать новый шаблон со связью MOVIE-MOVIE-COPY.