Проектирование информационных систем с CA ERwin Modeling Suite 7.3. Горбаченко В.И - 100 стр.

UptoLike

100
Рис. 6.33. Пример рекурсивной связи
Другим видом рекурсии является сетевая рекурсия (network recursion),
когда руководитель может иметь множество подчиненных и, наоборот, под-
чиненный может иметь множество руководителей. Сетевая рекурсия задает
паутину отношений между экземплярами родительской и дочерней сущно-
стей. Это случай, когда сущность находится сама с собой в связи "многие-ко-
многим". Для разрешения связи "многие
-ко-многим" необходимо создать до-
полнительную сущность (подробнее связь "многие-ко-многим" рассматрива-
ется ниже).
Правила ссылочной целостности (referential integrity (RI)) – логические
конструкции, которые выражают бизнесправила использования данных и
представляют собой правила вставки, замены и удаления. Определение пра-
вил ссылочной целостности осуществляется с помощью вкладки RI
Actions контекстного меню Relationships (
рис. 6.34). Заданные на
вкладке RI Actions опции логической модели используются при генера-
ции схемы базы данных для определения правил декларативной ссылочной
целостности, которые предписываются для каждой связи, и триггеров, обес-
печивающих ссылочную целостность.
На рис. 6.34 показан пример установленных по умолчанию правил ссы-
лочной целостности для неидентифицирующей связи между сущностями
Отдел и Менеджер
. На удаление экземпляра родительской сущности
(Parent Delete) устанавливается ограничение RESTRICT. Это означает,
что экземпляр родительской сущности нельзя удалить, если с ней связан эк-
земпляр дочерней. С экземпляром родительской сущности может быть не
связан ни один экземпляр дочерней сущности. Поэтому при вставке экземп-
ляра родительской сущности (Parent Insert) не проводится никакой
проверки (ограничение
NONE). При изменении ключевых атрибутов роди-
тельской сущности (Parent Update) нарушится связь с дочерними сущно-
стями, так как внешний ключ дочерних сущностей не равен ключу родитель-
ской сущности. Поэтому по умолчанию такое изменение запрещено (ограни-
чение RESTRICT). Отметим, что в данном случае можно применить ограни-
чение CASCADE, приводящее к изменению внешних
ключей дочерних сущ-
ностей при изменении ключа родительской сущности. При удалении экземп-
ляра дочерней сущности (Child Delete) ссылочная целостность не нару-
шается, поэтому по умолчанию применено ограничение NONE. Если при
                      Рис. 6.33. Пример рекурсивной связи

      Другим видом рекурсии является сетевая рекурсия (network recursion),
когда руководитель может иметь множество подчиненных и, наоборот, под-
чиненный может иметь множество руководителей. Сетевая рекурсия задает
паутину отношений между экземплярами родительской и дочерней сущно-
стей. Это случай, когда сущность находится сама с собой в связи "многие-ко-
многим". Для разрешения связи "многие-ко-многим" необходимо создать до-
полнительную сущность (подробнее связь "многие-ко-многим" рассматрива-
ется ниже).
      Правила ссылочной целостности (referential integrity (RI)) – логические
конструкции, которые выражают бизнес – правила использования данных и
представляют собой правила вставки, замены и удаления. Определение пра-
вил ссылочной целостности осуществляется с помощью вкладки RI
Actions контекстного меню Relationships (рис. 6.34). Заданные на
вкладке RI Actions опции логической модели используются при генера-
ции схемы базы данных для определения правил декларативной ссылочной
целостности, которые предписываются для каждой связи, и триггеров, обес-
печивающих ссылочную целостность.
      На рис. 6.34 показан пример установленных по умолчанию правил ссы-
лочной целостности для неидентифицирующей связи между сущностями
Отдел и Менеджер. На удаление экземпляра родительской сущности
(Parent Delete) устанавливается ограничение RESTRICT. Это означает,
что экземпляр родительской сущности нельзя удалить, если с ней связан эк-
земпляр дочерней. С экземпляром родительской сущности может быть не
связан ни один экземпляр дочерней сущности. Поэтому при вставке экземп-
ляра родительской сущности (Parent Insert) не проводится никакой
проверки (ограничение NONE). При изменении ключевых атрибутов роди-
тельской сущности (Parent Update) нарушится связь с дочерними сущно-
стями, так как внешний ключ дочерних сущностей не равен ключу родитель-
ской сущности. Поэтому по умолчанию такое изменение запрещено (ограни-
чение RESTRICT). Отметим, что в данном случае можно применить ограни-
чение CASCADE, приводящее к изменению внешних ключей дочерних сущ-
ностей при изменении ключа родительской сущности. При удалении экземп-
ляра дочерней сущности (Child Delete) ссылочная целостность не нару-
шается, поэтому по умолчанию применено ограничение NONE. Если при
                                     100