Читайте также:
|
|
Эти проблемы, которые принято называть дефектами соединения, обычно возникают из-за неправильного толкования смысла некоторых связей. Рассмотрим два основных типа дефектов соединения: дефект типа "разветвление" и дефект типа "разрыв".
Дефект типа «разветвление» возникает в том случае, когда две или несколько связей типа (1:*) исходят из одной сущности. Например, в филиалах некоторой компании имеются отделы, в которых работают сотрудники. На ER-диаграмме представлены связи между сущностями Отдел, Филиал и Сотрудник. При этом две связи типа (1:*) исходят из одной и той же сущности Филиал.
На основании этой модели можно сделать вывод, что один филиал может состоять из нескольких отделов и в нем может работать многочисленный штат сотрудников. Построим семантическую сеть для данной модели. Сеть наглядно иллюстрирует проблему модели.
Проблема возникает при попытках выяснить, в каком отделе компании работает каждый из сотрудников филиала. Так, например, сотрудник С1 может работать в отделе О1 или О2. Возникновение данного дефекта связано с неправильным толкованием связей между сущностями. Устранить эту проблему можно путем перестановки сущностей в ER-модели.
Если проверить эту модель в семантической сети на уровне отдельных связей, то можно убедиться, что теперь легко дать однозначный ответ на поставленный выше вопрос, т.е. сотрудник с номером С1 работает в отделе О1, который входит в состав филиала Ф1.
Дефект типа "разрыв" появляется в том случае, когда в модели предполагается наличие связи между типами сущностей, но не существует пути между отдельными экземплярами этих типов, т.е. если существует одна или несколько связей с необязательной степенью участия, и эти связи составляют часть пути между взаимосвязанными сущностями.
Например, рассмотрим связи между сущностями Отдел, Сотрудник и ОбъектНедвижимости.
На основании данной модели можно сделать вывод, что один отдел компании имеет много сотрудников, которые управляют объектами недвижимости. Однако не все сотрудники управляют объектами и не все сдаваемые в аренду объекты недвижимости в каждый конкретный момент находятся в ведении кого-либо из сотрудников компании. Построим семантическую сеть для данной модели.
Сеть наглядно иллюстрирует дефект модели: теоретически связь между сущностями Сотрудник и ОбъектНедвижимости существует, но практически ее может временно не быть, если для объекта недвижимости не назначен управляющий сотрудник. В данном случае проблема возникает, когда необходимо выяснить, какие объекты недвижимости закреплены за тем или иным отделом компании, например, какой отдел компании отвечает за работу с объектом ОН2. Выяснить это невозможно, поскольку этот объект в текущий момент не связан ни с одним из сотрудников компании.
Для решения этой проблемы следует ввести недостающую связь Управляет между сущностями Отдел и ОбъектНедвижимости. Такая структура ER-модели гарантирует, что всегда будут известны объекты недвижимости, связанные с каждым отделом компании, включая те, которые в данный момент не поручены никому из сотрудников этой компании.
Дата добавления: 2015-05-05; просмотров: 107 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Системный анализ предметной области | | | для очной формы обучения |