Диаграммы сущность-связь - Международный банковский институт

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Диаграммы сущность-связь (ERD)
Источник:
http://www.cs.karelia.ru/~sigovtse/study_pr/inf_sys/inf_s_book/lecture/15d.html
Цель моделирования данных состоит в обеспечении разработчика ИС концептуальной схемой
базы данных в форме одной модели или нескольких локальных моделей, которые относительно
легко могут быть отображены в любую систему баз данных. Наиболее распространённым
средством моделирования данных являются диаграммы "сущность-связь" (ERD EntityRelationship Diagrams). С их помощью определяются важные для предметной области объекты
(сущности), их свойства (атрибуты) и отношения друг с другом (связи). ERD непосредственно
используются для проектирования реляционных баз данных.
Модель "сущность-связь" – неформальная модель предметной области, используемая на
этапе концептуального проектирования. Лёгкость понимания и использование естественного
языка позволяют её применять как инструмент общения с конечными пользователями для сбора
информации в предметной области. Эта модель и нотация ERD была предложена П.Ченом
(Chen) в 1976 г. В дальнейшем она получила развитие в работах других авторов. Основное
назначение ERD – семантическое описание предметной области и представление информации
для обоснования выбора видов моделей и структур данных с целью использования на этапе
логического проектирования.
Описание предметной области включает существующие в ней объекты, их свойства и
отношения. Соответственно модель сущность-связь строится с использованием трёх
конструктивных элементов: сущность, атрибут и связь.
Сущность (Entity) - это некоторая абстракция (модель) реально существующего либо
воображаемого объекта, процесса или явления, имеющего существенное значение для
рассматриваемой предметной области, информация о котором подлежит хранению. С сущностью
связаны понятия: тип – набор однородных предметов, явлений, выступающий как единое
целое, и экземпляр – конкретный элемент набора, определяющего некоторый тип. Каждая
сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен
однозначно идентифицироваться и отличаться от всех других экземпляров данного типа
сущности.
Различают сущности независимые, зависимые и ассоциированные. Независимая сущность
представляет данные, которые всегда присутствуют в системе. Зависимая сущность
представляет данные, зависящие от других сущностей в системе. Для существования зависимой
сущности необходимо наличие сущностей, от которых она зависит. Ассоциированная
сущность представляет данные, которые связаны с отношением между сущностями.
Атрибут (attribute) – это поименованная характеристика сущности, являющаяся средством
для описания её свойств, значимых для рассматриваемой предметной области (т. е. средством
для моделирования свойств объекта). (Пример: сущность – книга, а автор, название,
издательство, год издания, тираж – атрибуты этой сущности.) Атрибут предназначен для
квалификации,
идентификации,
классификации,
количественной
характеристики
или
выражения состояния сущности
Атрибут представляет тип характеристик или свойств, ассоциированных с множеством
реальных или абстрактных объектов (людей, мест, событий, состояний, идей, пар предметов и
т. д.). Экземпляр атрибута - это определенная характеристика отдельного элемента множества.
Экземпляр атрибута определяется типом характеристики и её значением, называемым
значением атрибута. В ER-модели атрибуты ассоциируются с конкретными сущностями. Таким
образом, экземпляр сущности должен обладать единственным определенным значением для
ассоциированного атрибута. Атрибут может быть одинаковым для различных сущностей
(возраст человека и возраст здания), но для конкретного типа сущности все атрибуты должны
быть различны. Атрибут может быть либо обязательным, либо необязательным. Обязательность
означает, что атрибут не может принимать неопределённых значений.
1
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Связь понятий сущности и её атрибутов с предметной областью проиллюстрирована на
рисунке.
Для идентификации конкретных экземпляров сущностей, принадлежащих некоторому типу,
используются специальные атрибуты или наборы атрибутов, называемые ключом. Каждая
сущность должна обладать хотя бы одним возможным ключом. Возможный ключ сущности это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр
сущности. При существовании нескольких возможных ключей один из них выбирается в
качестве первичного ключа, а остальные рассматриваются как альтернативные ключи.
Связь (Relationship) - средство для представления отношений между сущностями,
значимых для рассматриваемой предметной области. Каждая сущность может обладать любым
количеством связей с другими сущностями модели. Семантически отношения могут объединять
любое количество сущностей, но в ERD-модели используются только бинарные связи, которыми
моделируются любые n-арные отношения.
Связь между сущностями, моделирующая отношения, которые всегда существуют, пока
существуют соединяемые ими объекты, называется неограниченной (обязательной).
Ограниченная (необязательная) связь моделирует условные отношения между объектами.
Важным частным случаем связи является ассоциация между сущностями, при которой
каждый экземпляр сущности, называемой родительской, ассоциирован с произвольным (в том
числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком
(это зависимая сущность), а каждый экземпляр сущности-потомка ассоциирован в точности с
одним экземпляром сущности-родителя.
Бинарные связи классифицируют по типу отношения между экземплярами сущностей
следующим образом:
 Связь один-к-одному (1:1): каждому экземпляру сущности А соответствует один
экземпляр сущности В и наоборот (пример: студент - зачётка);
 Связь один-ко-многим (1:М): одному экземпляру сущности А соответствует несколько
экземпляров сущности В, и каждому экземпляру сущности В соответствует один экземпляр
сущности А (пример: группа - студент);
 Связь многие-к-одному (М:1): обратная по отношению к связи один-ко-многим (пример:
студент - группа);
 Связь многие-ко-многим (М:N): каждому экземпляру сущности А соответствует несколько
экземпляров сущности В и наоборот (пример: студент - учебный предмет).
Помимо перечисленных основных конструкций модель данных может содержать ряд
дополнительных. К ним относятся:
 Подтипы и супертипы: супертип – это сущность, которая является обобщающим
понятием для группы подобных сущностей, (эти сущности выступают как подтипы по отношению
к супертипу);
 Взаимно исключающие связи: каждый экземпляр сущности участвует только в одной
связи из группы взаимно исключающих связей;
 Рекурсивная связь: сущность может быть связана сама с собой;
 Неперемещаемые связи: экземпляр сущности не может быть перенесён из одного
экземпляра связи в другой.
Для изображения ER-диаграммы в нотации Чена используются следующие графические
примитивы:
2
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Примитивы, изображающие
указывается тип связи.
сущности
и
связи,
соединяются
линиями,
над
которыми
Для описания сущности может быть использована диаграмма атрибутов, состоящая из
детализируемой сущности, соответствующих ей атрибутов (с указанием ключевых атрибутов) и
доменов. (Домен – это множество, элементами которого являются все возможные значения
какого-то атрибута.)
Пример на рисунке – диаграмма атрибутов сущности учебный предмет с ключевыми
атрибутами название и специальность.
3
Download