Базы данных. Вводный курс


Взаимно исключающие связи


Пример диаграммы из двух сущностей с взаимно исключающими связями показан на (a). Самолет может находиться в рабочем состоянии, и тогда у него имеется один и только один пилот. Или же самолет может находиться на ремонте на одном из нескольких возможных авиаремонтных предприятий (каждое предприятие может производить ремонт нескольких самолетов).


Рис. 10.13.  Пример ER-диаграммы со взаимно исключающими связями

В данном случае для каждого экземпляра типа сущности  САМОЛЕТ должен существовать экземпляр одной из указанных связей. Для экземпляров типа сущности  САМОЛЕТ, соответствующих исправным самолетам, должен существовать экземпляр связи «один к одному» с экземпляром типа сущности  ПИЛОТ, а экземпляры, соответствующие неисправным самолетам, должны участвовать в экземпляре типа связи «многие к одному» c экземпляром типа сущности  АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ.

Как показано на (b), диаграмма со взаимно исключающими связями из (a) может быть преобразована к диаграмме без взаимно исключающих связей путем введения подтипов. Поскольку любой самолет может быть либо исправным, либо неисправным, можно корректным образом ввести два подтипа  супертипа  САМОЛЕТ – ИСПРАВНЫЙ САМОЛЕТ и НЕИСПРАВНЫЙ САМОЛЕТ. На уровне супертипа сущности связи не определяются. Для подтипа  ИСПРАВНЫЙ САМОЛЕТ определяется обязательная связь «один к одному» с типом сущности  ПИЛОТ, а для подтипа  НЕИСПРАВНЫЙ САМОЛЕТ определяется обязательная связь «многие к одному» с типом сущности  АВИАРЕМОНТНОЕ ПРЕДПРИЯТИЕ.

Заметим, что для того чтобы описанная схема реализации механизма взаимно исключающих связей на основе механизма наследования действительно могла работать, в средствах манипулирования данными ER-модели должна быть предусмотрена возможность динамического изменения типа сущности у экземпляра. Конкретно для нашего случая требуется возможность изменения типа экземпляра сущности  ИСПРАВНЫЙ САМОЛЕТ на тип сущности  НЕИСПРАВНЫЙ САМОЛЕТ, и наоборот (исправный самолет может ломаться, неисправный самолет – приводиться в рабочее состояние). Конечно, при такой смене типа должен изменяться и экземпляр связи. Заметим, что в рассматриваемом случае мы имеем дело с ограниченным динамическим изменением типа экземпляра, поскольку и исправные, и неисправные самолеты являются экземплярами  супертипа  САМОЛЕТ.




Начало  Назад  Вперед



Книжный магазин