Информационное обеспечение систем управления

       

Проблемы ER-моделирования


В процессе создания инфологической модели на языке ER-диаграмм, могут возникать нежелательные ситуации, которые в литературе называются ловушками соединения. Причины этих проблем кроются в неправильной интерпретации семантики предметной области, в том числе смысла некоторых связей между выделенными сущностями. Очень важно своевременно выявлять в модели данных ловушки соединения, иначе • они могут привести к неадекватному описанию пред-, меткой области и необходимости перестройки всей концептуальной модели [7].

Наиболее распространенными являются два вида

ловушек соединения:

–       ловушки разветвления;

–       ловушки разрыва.

Ловушка разветвления имеет место в том случае, если модель отображает связь между сущностями, но путь между отдельными экземплярами этих сущностей однозначно не определяется.

Ловушка разветвления возникает в случае, когда две или больше связей ОДИН-КО-МНОГИМ разветвляются из одной сущности. Потенциальная ловушка разветвления показана на рис. 2.11, где две связи типа 1:М выходят из одной и той же сущности ФАКУЛЬТЕТ. Проанализировав модель, можно сделать вывод, что на одном факультете осуществляется обучение по нескольким специальностям, и на факультете учится множество студентов. Проблема может возникнуть при попытке выяснить, по какой специальности обучается каждый из студентов факультета.

Рис. 2.11. Пример ловушки разветвления

Для обнаружения этой проблемы удобно пользоваться семантическими сетями – (рис, 2.12). С помощью семантической сетевой модели на конкретном примере невозможно дать однозначный ответ на вопрос: «По какой специальности обучается студент Гаврюхов?» -это ловушка разветвления» Эта неприятность произошла из-за неправильной трактовки связей между сущностями ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТЬ, СТУДЕНТ. Устранить такой дефект можно только путем перестройки исходной модели.

Рис. 2.12. Семантическая сеть ER-модели с ловушкой разветвления

Результат адекватного преобразования модели представлен на рис. 2.13.



В таком варианте легко определяется, что студент Гаврюхов учится на экономическом факультете по специальности «Налоговая работа и аудиторский контроль».



Рис. 2.13. Преобразованная ER-модель

Если проверить полученную структуру на уровне отдельных экземпляров сущностей (как показано на рис. 2.14), можно убедиться, что по преобразованной модели легко дать однозначный ответ на поставленный выше вопрос.



Рис. 2.14. Семантическая сеть преобразованной ER-моделт

Ловушка разрыва появляется в том случае, если в модели предполагается наличие связи между сущностями, но не существует пути между отдельными экземплярами этих сущностей.

Ловушка разрыва возникает при наличии связи, образующей часть пути между связанными сущностями.

На рис. 2.15 потенциальная ловушка разрыва показана на примере связей между сущностями ОБЩЕЖИТИЕ, СТУДЕНТ и КОМНАТА.



Рис. 2.15. Пример ловушки-разрыва

С помощью семантической сети ER-модели с рис. 2.15 (представлена на рис. 2.16), невозможно дать ответ на вопрос: «В каком общежитии находится комната под условным номером 703?». Это причина проявления ловушки разрыва, возникающей из-за неправильной интерпретации связей между сущностями ОБЩЕЖИТИЕ, СТУДЕНТ и КОМНАТА.



Рис. 2.16. Преобразованная ER-модель

Устранить эту проблему можно только путем перестройки ER-модели для представления правильного взаимоотношения между этими сущностями. Преобразованная ЕR-модель показана на рис. 2.17. В модель добавлена связь Размещение между сущностями ОБЩЕЖИТИЕ и КОМНАТА.



Рис. 2.17. Семантическая сеть ER-модели с ловушкой разрыва

Если исследовать новую структуру на уровне отдельных сущностей (как показано на рис. 2.18), то можно дать ответ на поставленный вопрос: «Комната с условным номером 703 находится в общежитии №1».



Рис. 2.18. Семантическая сеть преобразованной ER-модели


Содержание раздела