Скачиваний:
94
Добавлен:
30.04.2013
Размер:
112.64 Кб
Скачать

http://www.interface.ru/fset.asp?Url=/ca/ponatie.htm

22.01.03

Понятие отношения

Зайцев С.Л., к.ф.-м.н.

В предыдущих статьях были описаны основные концепции моделирования данных, сущностей и атрибутов для выявления и определения требований к информации, предъявляемых моделируемой областью бизнеса. Как вы уже знаете, логическая модель представляется на ERD сущностями, атрибутами и отношениями. В этой статье основное внимание будет уделено детальному рассмотрению отношений.

В следующих разделах будут освещены следующие вопросы, касающиеся отношений:

  • Роль отношений в процессе моделирования

  • Свойства отношений, такие как степень и направление

  • Основные виды отношений (идентифицирующие и не идентифицирующие), количество элементов и обязательность

  • Распространенные ошибки при выявлении отношений

На ER диаграммах сущности представляют контейнеры для атрибутов, атрибуты представляют интересующие нас факты, а отношения позволяют вам применять реляционную алгебру для связанных групп атрибутов в соответствие с бизнес-правилами. Давайте теперь рассмотрим отношения - сердце реляционной модели данных.

Что такое отношения?

Отношение - это ассоциация или "связь" между двумя сущностями. Отношение представляется в модели линией, соединяющей две сущности и глагольной конструкцией, которая описывает, как две сущности зависят друг от друга. Глагольная конструкция - механизм описания бизнес-правил, определяющих отношение. Хорошая глагольная конструкция описывает отношение в терминах бизнеса, а не на языке технических спецификаций. На Рисунке 4.1 показано отношение между двумя сущностями.

Рис. 4.1. На ER диаграммах отношения представляются линией между двумя сущностями, или замкнутой на саму сущность. Тип и свойства отношения представляют бизнес-правила. Экземпляр сущности БАНАНОВЫЙ ДЕСЕРТ может иметь один, два, три или ни одного экземпляра сущности ВЕРХУШКА БАНАНОВОГО ДЕСЕРТА. Экземпляр сущности ВЕРХУШКА БАНАНОВОГО ДЕСЕРТА может принадлежать одному, и только одному экземпляру сущности БАНАНОВЫЙ ДЕСЕРТ.

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

Отношение обладает следующими свойствами:

  • Степень

  • Направленность

  • Тип

  • Количество элементов

  • Обязательность

ПРИМЕЧАНИЕ Важно иметь в виду, что не все методологии моделирования используют именно эти термины для описания отношений, хотя большинство из них поддерживают сходные концепции.

Выявление отношений

Другим хорошим источником является корпоративная модель.

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

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

ПРИМЕЧАНИЕ Редко в приложении все сущности связаны друг с другом отношениями попарно. Если в модели присутствует только несколько сущностей, то они все могут быть связаны отношениями. Однако в более крупных приложениях отношениями могут быть связаны не все сущности.