Реализация ссылочной целостности с помощью ERwin
Ссылочная целостность - это обеспечение требования, чтобы значения внешнего ключа экземпляра
дочерней сущности соответствовали значениям первичного ключа в родительской сущности.
Ссылочная целостность может контролироваться при всех операциях, изменяющих данные
(INSERT/UPDATE/DELETE). Средства контроля ссылочной целостности в ERwin включают
автоматическую генерацию триггеров и использование механизмов декларативной ссылочной
целостности (для тех СУБД, которые поддерживают данные механизмы).
Для каждой связи на логическом уровне могут быть заданы требования по обработке операций
INSERT/UPDATE/DELETE для родительской и дочерней сущности. ERwin представляет следующие
варианты обработки этих событий:
- отсутствие проверки;
- проверка допустимости;
- запрет операции;
- каскадное выполнение операции (DELETE/UPDATE);
- установка пустого (NULL-значения) или заданного значения по
умолчанию.
В соответствии с выбранным вариантом ERwin автоматически создает необходимые триггеры на
диалекте SQL целевой СУБД. При этом ERwin пользуется библиотекой шаблонов триггеров, которые
можно модифицировать.
При генерации структуры базы данных триггеры, обеспечивающие ссылочную целостность могут
быть переопределены на трех уровнях:
- Могут быть переопределены триггеры, обеспечивающие правила для всей модели.
- Могут быть переопределены триггеры, указанные для конкретной связи.
- Могут быть переопределены триггеры, указанные для конкретной таблицы.
Тип переопределения указывается разработчиком при генерации схемы базы данных