Диаграммы сущность–связь

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

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

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

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

Как и для представления диаграмм потоков данных, для записи диаграмм сущность–связь используется несколько нотаций. Наиболее распространенными нотациями ERD являются нотация Чена (Chen) и нотация Баркера (Barker). Символы ERD в нотации Чена, соответствующие сущностям и отношениям, приведены на рис. 11.

Рис. 11. Символы ERD в нотации Чена: а – независимая сущность;
б – зависимая сущность; в – ассоциативная сущность; г – неограниченное отношение; д – ограниченное отношение; е – существенно ограниченное отношение

Независимая сущность определяет независимые данные, которые всегда присутствуют в системе. При этом её отношения с другими сущностями могут как существовать, так и не существовать.

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

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

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

Ограниченное (необязательное отношение) представляет собой условное отношение между сущностями.

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

Для идентификации требований, в соответствии с которыми сущности вовлекаются в отношения, используются связи. Каждая связь соединяет сущность и отношение и может быть направлена только от отношения к сущности. Значение связи характеризует её тип и выбирается из множества: "0 или 1", "0 или более", "1", "1 или более", "диапазон p:q". Пара значений связей, принадлежащая одному и тому же отношению, определит тип этого отношения.

Для большинства приложений достаточно использовать следующие типы отношений:

· один к одному (используется на верхних уровнях иерархии модели данных, на нижних встречается редко);

· один ко многим (отношения такого типа являются наиболее часто используемыми);

· многие ко многим (используется на ранних этапах проектирования с целью прояснения ситуации).

В дальнейшем каждое из отношений типа "многие ко многим" должно быть преобразовано в комбинацию типов отношений "один к одному" или "один ко многим" (возможно с введением вспомогательных ассоциативных сущностей и с введением новых отношений).

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

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

Домен – это совокупность значений некоторой информационной единицы, а атрибут – уникальное имя, приписываемое домену значений некоторой информационной единицы. Другими словами домен описывает область значений атрибута.

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

Приведенные выше средства для описания ERD и диаграммы атрибутов определяют модель в нотации Чена. Дальнейшее развитие этот подход получил в работах Баркера, предложившего оригинальную нотацию, которая позволила на верхнем уровне интегрировать предложенные Ченом средства описания моделей.

В нотации Баркера используется только один тип диаграмм – ERD. Сущность на ERD представляется прямоугольником любого размера, содержащим внутри себя имя сущности, список имен атрибутов и указателей ключевых атрибутов (знак # перед именем ключевого атрибута).

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

Разработка ERD включает такие основные этапы, как:

1) идентификация сущностей, их атрибутов, а также первичных и альтернативных ключей;

2) идентификация отношений между сущностями и указание типов отношений;

3) разрешение неспецифических видов отношений (многие к многим).

Этап 1 является определяющим при построении модели. Исходной информацией для этого этапа служит содержание хранилищ данных, определяемое входящими и выходящими из него потоками. Первоначально осуществляется анализ хранилища, включающий сравнение содержимого входных и выходных потоков и создания на основе этого сравнения варианта схемы хранилища. На следующем шаге осуществляется упрощение схемы путем устранения избыточности. Следующий шаг – упрощение схемы при помощи нормализации (удаление повторяющихся групп). Единственным способом нормализации является расщепление данной схемы на две более простые. Далее производится определение ключевых атрибутов для идентификации сущности.

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

Согласно Кодду любая нормализованная схема (схема без повторяющихся групп) автоматически находится в первой нормальной форме (1НФ), независимо от того, насколько сложен ее ключ и какая взаимосвязь может существовать между ее элементами. По определению схема находится во второй нормальной форме (2НФ), если все её ключевые атрибуты полностью зависят от ключа. Схема находится в третьей нормальной форме (3НФ), если она находится во 2НФ, и ни какой неключевой атрибут не зависит от другого неключевого атрибута. Порядок перевода ненормализованной схемы в 3НФ приведен на рис. 12.

Рис. 12. Порядок приведения к 3НФ

Этап 2 служит для выявления и определения отношений между сущностями. а также для идентификации типов отношений. На этом этапе допускаются неспецифические отношения "многие ко многим".

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

Этап 3 предназначен для разрешения отношений "многие ко многим". Для этого каждое такое неспецифическое отношение преобразуется в два специфических с введением новых, а именно, ассоциативных сущностей.

Содержание работ третьего этапа удобнее всего пояснить следующим примером (рис. 13).

Рис. 13. Разрешение неспецифического отношения

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

Таким образом, ассоциативные сущности по своей природе являются представителями пар реальных объектов и обычно появляются на этапе 3.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: