Читаем BPwin и Erwin. CASE-средства для разработки информационных систем полностью

NONE - при удалении значение атрибута внешнего ключа не меняется. Запись об игроке "повисает в воздухе", т. е. ссылается на несуществующую уже команду. Такая ситуация характерна для "плоских" таблиц. Например, если информация об игроках и командах хранится в dbf-файлах, можно удалить запись о команде, при этом файл игроков "ничего не будет знать" о том, что соответствующей команды не существует. Поэтому в настольных или файл-серверных системах функциональность, обеспечивающая правила ссылочной целостности, реализуется в клиентском приложении.

Правила удаления управляют тем, что будет происходить в БД при удалении строки. Аналогично правила вставки и обновления управляют тем, что будет происходить с БД, если строки изменяются или добавляются. Например, можно установить правило, которое разрешает вносить новую команду только в том случае, когда в нее зачислен хотя бы один игрок. Желаемое поведение может быть достигнуто следующими действиями:

Задать мощность связи между сущностями Команда и Игрок, равную "One or more" - 1 или более (тип Р). Предполагается, что установлена идентифицирующая связь.

Присвоить действие RI-триггера "Parent Insert-CASCADE" для того, чтобы при создании новой строки в таблице Команда автоматически создавалась хотя бы одна строка в дочерней таблице Игрок.

Присвоить связи действие RI-триггера "Parent Delete-CASCADE" для того, чтобы при удалении строки из таблицы Команда соответствующая строка или строки из таблицы Игрок тоже удалялись.

ERwin автоматически присваивает каждой связи значение ссылочной целостности, устанавливаемой по умолчанию, прежде чем добавить ее в диаграмму. Режимы RI, присваиваемые ERwin по умолчанию (приведены в табл. 2.4), могут быть изменены в редакторе Referential Integrity Default, который вызывается, если щелкнуть по кнопке RI Defaults диалога Target Server (меню Server/Target Server).


Таблица 2.4. Значения RI, присваиваемые в ERwin no умолчанию, а также возможные оежимы для каждого типа связи

Идентифицирующая связьНеидентифицирующая связь (Nulls Allowed)Неидентифицирующая связь (No Nulls)Категориальная связь
Child Delete Возможные режимыRESTRICT, CASCADE, NONERESTRICT, CASCADE, NONE, SET NULL, SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE,
NONE
Child Delete Режимы по умолчаниюNONENONENONENONE
Child Insert Возможные режимыRESTRICT, CASCADE,RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE,
NONENONE
Child Insert Режимы по умолчаниюRESTRICTSET NULLRESTRICTRESTRICT
Child Update Возможные режимыRESTRICT, CASCADE, NONERESTRICT, CASCADE, NONE, SET NULL,SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE, NONE
Child Update Режимы по умолчаниюRESTRICTSET NULLRESTRICTRESTRICT
Parent Delete Возможные режимыRESTRICT, CASCADE, NONERESTRICT, CASCADE, NONE, SET NULL,SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE,
NONE
Parent Delete Режимы по умолчаниюRESTRICTSET NULLRESTRICTCASCADE
Parent Insert Возможные режимыRESTRICT, CASCADE, NONERESTRICT, CASCADE, NONE, SET NULL,SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE, NONE
Parent Insert Режимы по умолчаниюNONENONENONENONE
Parent Update Возможные режимыRESTRICT, CASCADE, NONERESTRICT, CASCADE, NONE, SET NULL,SET DEFAULTRESTRICT, CASCADE, NONE, SET DEFAULTRESTRICT, CASCADE, NONE
Parent Update Режимы по умолчаниюRESTRICTSET NULLRESTRICTCASCADE


Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже