Базы данных. Проектирование и создание
126
Обычно удаление зависимой записи (Child Delete) при любом из типов связи не
требует дополнительных проверок на допустимость корректировки и не приводит к из-
менениям в связанных записях. Поэтому режимом по умолчанию для всех типов связи
является NONE. Дополнительная проверка может потребоваться, если в предметной об-
ласти невозможно существование «главного» объекта без связанных с ним «подчинен-
ных» объектов. Например, не может быть ОТДЕЛА без СОТРУДНИКОВ. В этом случае
либо не должна быть допущена попытка удаления последнего сотрудника из отдела, ли-
бо при этом должен быть удален отдел.
Как правило, вставка зависимой записи при наличии идентифицирующей связи
не может быть произведена, если отсутствует соответствующая ей запись в главной таб-
лице (ситуация, когда в главной таблице нет записи со значением ключа, равным введен-
ному значению поля связи), т.е. используется режим RESTRICT. Можно представить себе
такую организацию ведения таблиц базы данных, когда в основную таблицу при вводе
зависимой записи автоматически вводится новая запись с ключом, соответствующим зна-
чению поля связи зависимой записи. Но такой возможностью не надо злоупотреблять, так
как отсутствующее значение может быть вызвано ошибкой при вводе данных, а не отсут-
ствием информации в базе данных. Режим NONE при вставке зависимой записи при на-
личии идентифицирующей связи использовать не следует. Если в предметной области
возникает необходимость вставить зависимый объект, не связанный с основным объектом
(т.е. класс членства объекта в связи – необязательный), то для связи таких объектов следу-
ет выбрать неидентифицирующую связь.
Так называемая «категориальная» связь является особой связью: с одной стороны,
она является идентифицирующей связью, а с другой – связывает не две разные сущности,
а отражает информацию об одном и том же объекте. Для обобщенного объекта жела-
тельно иметь специальный инструмент, который позволял бы рассматривать его как
единое целое. В ERWin можно задавать ограничения целостности только для каждой от-
дельной связи, соединяющей родовой объект с каждым из видовых объектов.
Для того чтобы заданные ограничения целостности отражались при изображении
модели, можно в меню Format/Relationship Display/Referential Integrity отметить пози-
цию Referential Integrity (рис. 4.75).
Рис. 4.75. Меню Format/Relationship Display/Referential Integrity
После такого выбора на схеме ER-модели на обоих концах каждой линии связи бу-
дут отображаться значения ограничений целостности связи. Они задаются двумя латин-
скими буквами, разделенными двоеточием (рис. 4.76). Первая буква обозначает опера-