При построении ER-модели в ERWin можно задавать ограничения целостности.
Обязательный атрибут
Для атрибута можно задавать свойство «Required» (обязательный). Для тех атрибутов, которые выбраны в качестве первичного ключа, это свойство является неактивным, поскольку свойство обязательности и так (по определению ключа) присуще элементам ключа. Свойство «Required» следует задать для атрибутов «Фамилия», «Имя», «Отчество» объекта СОТРУДНИК, «Наименование предмета полное» объекта ПРЕДМЕТ и некоторых других атрибутов. Задание этого свойства будет означать, что при вводе данных в БД недопустимо пустое значение соответствующего поля.
Ограничения целостности связи
При описании связи можно задать ограничения целостности связи. Для этого следует воспользоваться вкладкой RI Actions (рис. 4.3) в окне редактора связей (Relationship Editor). В этой секции для каждой связи можно задать действия, которые будут выполняться при удалении (Delete), вставке (Insert) и обновлении (Update) как порожденной (Child), так и родительской (Parent) сущности.
Рис. 4.З. Описание целостности связи в ERWin
Для каждой корректирующей операции можно выбрать действие, которое представлено в ниспадающих списках. Каждый список имеет четыре возможных значения: NONE (никакой), RESTRICT(ограничивать),
CASCADE (каскад), SET DEFAULT(значение по умолчанию).
На рис. 4.3 показаны значения RI Actions, задаваемые по умолчанию. В рассматриваемом примере для операции ParentDelete следует выбрать действие CASCADE. Если «Код_сотрудника» может изменяться, то для операции ParentUpdate также следует выбрать действие CASCADE.
Так как связь «многие ко многим» в реляционной модели не поддерживается, то на уровне логической модели нет смысла (и, как следствие, нет возможности) задавать действия при корректировке сущностей, связанных таким типом связи. При необходимости можно перейти к уровню физической модели и скорректировать ограничения связи для связей, появляющихся в физической модели взамен связи «многие ко многим».
предыдущаяследующая