Диаграмма привязки сущности ER - это блок-схемы, которые иллюстрируют, как «сущности» (люди, объекты или концепции) относятся друг к другу в системе. ER-диаграмма - это та модель, которая чаще всего используются для разработки или отладки реляционных баз данных в областях ПО, бизнес-информационных систем и исследований. Она использует набор геометрических символов, таких как прямоугольник, ромб, овал и линии, для отображения взаимосвязи объектов, отношений и их атрибутов.
Эта ER-диаграмма связана со структурой данных DSD, которые фокусируются на отношениях элементов внутри сущностей, а не на отношениях между самими объектами. Схемы ER также часто используются в сочетании с диаграммами потоков данных DFD, которые отображают информацию для процессов или систем.
История моделей ER
Разработка этой диаграммы ER приписывается Питеру Чену, преподавателю университета Карнеги-Меллона в Питтсбурге. Он начал ее использовать для проектирования баз данных в 70-х годах прошлого столетия. Будучи помощником профессора в Школе управления Sloan MIT, в 1976 году он опубликовал статью под названием «Модель отношения сущностей к единому представлению данных». В более широком историческом смысле, понимание изображения взаимосвязи вещей восходит к древней Греции, принципы которых обнаружены в трудах Аристотеля, Сократа и Платона.
О них упоминается в работах философов-логиков более позднего исторического периода - Чарльза Сандерс Пирса и Готлофа Фреге. К 1960-м и 1970-м годам Чарльз Бахман с единомышленниками работали над теоретической моделью Чена. Бахман разработал диаграмму структуры данных, названную его именем. Браун опубликовал работы по моделированию реальных систем. Джеймс Мартин добавил уточнения в эту диаграмму ER. Работа Чена, Бахмана, Брауна, Мартина и других участников привела к разработке унифицированного языка моделирования (UML), применяемого в разработке программного обеспечения.
Использование диаграмм
Этот метод используются для моделирования и разработки реляционных баз данных в ER-диаграммах. Особенно часто применяется в логической модели и с точки зрения конкретной технологии, которая будет реализована в модели физических данных. В разработке ПО, диаграмма ER часто является начальным этапом в установке требований к проекту информ-систем. Реляционная база данных имеет эквивалентную реляционную таблицу и таким образом выражается по мере необходимости.
Области применения:
- Устранение неисправностей базы данных. Диаграммы ER используются для анализа существующих баз данных для поиска и устранения проблем в логике или развертывании. Рисунок диаграммы должен показать, где это происходит.
- Системы бизнес-информации. Диаграммы используются для разработки или анализа реляционных баз данных, используемых в бизнес-процессах. Любой бизнес-процесс, который использует полевые данные, включающие сущности, действия и взаимодействие, может потенциально извлечь выгоду из реляционной базы данных. Он может оптимизировать процессы, упростить информацию и улучшить результаты.
- Реорганизация бизнес-процессов (BPR). Модели диаграмм ER помогают в анализе баз данных, используемых при реорганизации бизнес-процессов.
- Образование. База данных сегодня является методом хранения реляционной информации для образовательных целей и последующего поиска, поэтому диаграммы ER могут быть полезны при планировании этих структур.
- Исследования. Поскольку так много исследований сосредоточено на структурированных фактов, ER могут играть ключевую роль в создании полезных баз данных для их анализа.
Компоненты и особенности
ER-диаграммы состоят из сущностей, отношений и атрибутов. Они также отображают мощность, которая определяет отношения в терминах чисел.
Сущность - определяемый объект, такой как человек, концепция или событие. Может содержать данные, хранящиеся в нем. Примеры: клиент, ученик, автомобиль или продукт. Обычно отображается, как прямоугольник. Тип сущности - группа определяемых вещей, таких как учащиеся или спортсмены, а субъект будет конкретным учеником или спортсменом. Другие примеры: клиенты, автомобили или продукты.
Набор сущностей - такой же, как их тип, но определенный в заданный момент времени, например, учащихся, обучающихся в классе в первый день. Связанным термином является экземпляр, в котором конкретным человеком или автомобилем будет набор объектов.
Сущности делятся на сильные, слабые или ассоциативные. Сильный объект определяется только по своим признакам, а слабая сущность этого не может. Ассоциативный вид связывает объекты или элементы. Ключи сущностей указывают на атрибут, определяющий объект в наборе.
Они подразделяются на такие категории:
- Супер.
- Кандидат.
- Первичный.
Супер - атрибуты, определяющие объекты в наборе сущностей. Ключ кандидата - имеет наименьшее возможное количество атрибутов. Первичный ключ - избранный разработчиком БД для однозначной идентификации набора объектов.
Отношения и атрибут
Отношения - это то, как субъекты действуют друг на друга или связаны друг с другом. Например, студент может зарегистрироваться для прохождения курса. Эти два объекта будут учеником и курсом, а изображенная связь - это акт зачисления, соединяющий эти два объекта. Отношения обычно отображаются как ромбы. Рекурсивные отношения: одно и то же лицо участвует в отношениях несколько раз.
Атрибут часто отображается как овал или круг. Описательный атрибут: свойство или характеристика отношения по сравнению с сущностью.
Атрибуты подразделяются на простые, составные, производные, а также однозначные или многозначные.
Их категории:
- Простой - означает, что значение атрибута является атомарным и не может быть дополнительно разделено, например, номер телефона.
- Составной или Composite - субатрибут, возникающий из атрибута.
- Производный - атрибут вычисляется или иным образом определяется из другого атрибута, например, определение возраста по дате рождения.
Многозначный - обозначение более одного значения атрибута, например, несколько телефонных номеров для человека.
Однозначный - одно значение атрибута.
Типы объединяются в простые или составные атрибуты.
Представление мощности
Мощность определяет числовые атрибуты, отношения между двумя объектами или наборами сущностей. Три основных кардинальных отношения - это «один к одному», «один-ко-многим» и «многие-ко-многим». Пример «один-к-одному» будет одним студентом, связанным с одним почтовым адресом. Пример «один-ко-многим» или «многие-ко-многим» зависит от направления отношений - один ученик регистрируется для прохождения нескольких курсов, но все они имеют одну обратную линию по отношению к одному ученику. Примеры «многие-ко-многим»: учащиеся, как группа связаны с несколькими преподавателями, а преподаватели, в свою очередь, связаны с несколькими учениками.
Мощность может отображаться как обратная или одинаковая в зависимости от того, где показаны символы. Она имеет ограничения кардинальности - минимальные или максимальные числа.
Компоненты ER можно приравнять к частям речи, как это сделал Питер Чен. Этот пример показывает, как диаграмма ER сравнивается с грамматикой:
- Общее существительное. Тип сущности. Пример: студент.
- Собственное существительное. Сущность. Пример: Салли Смит.
- Глагол, тип отношения. Пример: регистрация.
- Прилагательное, атрибут для объекта. Пример: второкурсник.
- Наречие, атрибут отношений. Пример: в цифровом виде.
Язык запросов базы данных ERROL на самом деле имитирует конструкции на естественном языке. ERROL основан на переработанной реляционной алгебре (RRA) и работает с ER-моделями, фиксируя их лингвистические аспекты. Существует несколько систем нотации, которые, в целом, похожи, но все же отличаются некоторыми особенностями:
- Стиль обозначения Чена.
- Стиль Бахмана.
- IDEF1X стиль.
- Стиль Баркера.
Модели концептуальных, логических и физических данных
Создание диаграммы ER и модели данных обычно формируются на трех уровнях детализации:
- Модель концептуальных данных - представление наивысшего уровня, содержащее наименьшие детали. Его значение показывает общий масштаб модели и изображение архитектуры системы. Для системы меньшего масштаба, возможно, нет необходимости рисовать. Вместо этого начинают с логической модели.
- Логическая модель данных - содержит больше деталей, чем концептуальная. В ней определены более подробно операционные и транзакционные сущности. Логическая модель не зависит от технологии, в которой она будет реализована.
- Модель физических данных.
Обращают внимание на то, что аналогичные уровни детализации и объема существуют в других типах диаграмм, например, потоках данных.
Реляционные данные
Иногда инженеры выделяют диаграммы ER с дополнительными иерархиями для добавления необходимых информационных уровней и проектирования базы данных. Например, они могут добавлять группировки, расширяясь с помощью суперклассов и сужаться с помощью подклассов только для реляционных данных. Диаграммы ER показывают только эту реляционную структуру для неструктурированных данных.
Если данные не очерчены четко в границах поля, то строки и столбцы диаграммы ER будут ограничены. То же самое можно сказать и о полуструктурированных данных, поскольку только некоторые из данных будут полезными.
Создание основных конструкций
Перед тем как начать создания диаграммы ER определяют все объекты. Сущность появляется один раз на определенной диаграмме. Создают прямоугольники для всех объектов и правильно их называют. Определяют отношения. Соединяют их с помощью линий и добавляют ромб посередине, описывающий их действия. Добавляют атрибуты для объектов. Дают им значимые имена, чтобы их можно было легко различать.
Это звучит просто, но в сложной системе может вызвать затруднения. Это то, что будет совершенствоваться только с практикой. Неопытным разработчикам лучше воспользоваться готовыми шаблонами диаграмм ER, чтобы можно было быстро начать работу и совершенствовать свою практику.
Пример для разработки программного обеспечения
Диаграммы отношений сущностей используются в разработке программного обеспечения на многих этапах планирования проекта. Они помогают идентифицировать различные элементы системы, их отношения друг с другом и часто используются в качестве основы для диаграмм потоков данных или DFD.
Например, программное обеспечение инвентаря, используемое в розничном магазине, будет иметь базу данных, которая контролирует такие элементы, как покупки, товар, тип товара, источник товара и цена товара. Предоставление этой информации с помощью диаграммы ER будет примерно таким:
На диаграмме информация внутри овальных фигур является атрибутом конкретного объекта.
Диаграммы потоков
Схемы ER обычно используются в сочетании с диаграммой потоков данных для отображения содержимого хранилища. Они помогают визуализировать то, как данные связаны в общем виде. Можно при построении диаграммы ER рисовать связи сущностей вручную. Однако для более сложных систем и для внешних аудиторий нужно программное обеспечение для диаграмм, например, Creately для создания визуально привлекательных и точных диаграмм ER.
Программное обеспечение ER-диаграммы, предлагаемое Creately в качестве онлайн-сервиса, довольно простое в использовании. Оно также отлично подходит для команд разработчиков благодаря своей мощной поддержке на этапе сотрудничества.
Преимущества в управлении БД
Базы данных ER диаграмм представляют собой очень полезную основу для создания и управления массивами данных. Во-первых, диаграмму ER легко понять. Это означает, что, например, дизайнеры могут использовать диаграммы ER для простого общения с разработчиками, клиентами и конечными пользователями, независимо от их профессионализма в области ИТ.
Они легко переводятся в реляционные таблицы, которые можно использовать для быстрой сборки баз данных. Кроме того, диаграммы ER могут непосредственно использоваться разработчиками БД в качестве плана для внедрения данных в конкретные программные приложения. Они могут применяться в других контекстах, таких как описание различных отношений и операций внутри организации.
Диаграмма ER очень популярна, поскольку имеет множество преимуществ:
- Эффективная коммуникация позволяет читателям легко понимать отношения между различными предметными областями диаграммы ER.
- Символы используются для эффективного представления информации, а также помогают в понимании работы базы данных.
- Визуальное представление диаграммы потоков данных вместе с диаграммами ER могут эффективно использоваться для визуального представления макета.
- Простое понимание дизайна с использованием диаграмм ER.
- Высокая гибкость. Диаграмму ER можно эффективно использовать для установления отношений с существующими системами. Для выполнения этой операции могут использоваться математические формулы и реляционные таблицы.
В Интернете доступно несколько инструментов, связанных с созданием и редактированием моделей ER:
- Pony ORM - позволяет пользователям создавать таблицы базы данных с использованием диаграмм Pony ORM и ER.
- Edra Soft - помогает быстро создавать диаграммы ЭМ.
- Draw - помогает эффективно рисовать блок-схемы и диаграммы ER.
- ERD Plus - его можно использовать для создания звездных схем и реляционных схем вместе с диаграммами ER.
- Lucidchart - позволяет пользователям импортировать структуру базы диаграммы ER для эффективной автоматизации процессов.
- ERDiagrams - его можно использовать для бесплатной загрузки готовых графиков ER.
Советы новичкам
Первым шагом в создании ER является идентификация всех объектов, которые планируется использовать. Сущность - это не что иное, как прямоугольник с описанием системной информации. Это может быть клиент, менеджер, счет-фактура, расписание. Рисуют прямоугольник для каждого объекта.
Далее определяют связь ER диаграммы между двумя сущностями. Рисуют сплошную линию, соединяющую два объекта. Определяют отношения. Рисуют ромб действия между двумя объектами и пишут краткое описание того, как они связаны.
После этого добавляют атрибуты. Они должны быть добавлены с использованием символов овальной формы. Завершают диаграмму, соединяя объекты линиями и добавляя ромбы для описания каждого отношения до тех пор, пока не будут описаны все отношения. У каждого из объектов могут быть какие-либо отношения, у некоторых может быть их несколько, что вполне нормально.
Советы по эффективным диаграммам ER:
- Перед тем как создать ER диаграмму, убеждаются, что каждый объект на диаграмме отображен один раз.
- Называют все сущности, отношения и атрибуты на диаграмме.
- Изучают отношения между сущностями.
- Устраняют любые лишние отношения. Не связывают их друг с другом.
- Используют цвета для выделения важных частей диаграммы.
- Показывают уровень детализации, необходимый для пользовательской цели. Возможно, понадобится нарисовать концептуальную, логическую или физическую модель, в зависимости от необходимых условий.
- Следят за избыточными связями сущностей диаграммы ER или отношений.
- Если устраняется проблема с базой данных, следят за ошибками в отношениях, наличием отсутствующих объектов или атрибутов.
- Убеждаются, что все элементы отмечены. Переводят таблицы и диаграммы назад и вперед, если это поможет достичь своей цели.
- Убеждаются, что диаграмма ER поддерживает все данные, необходимые для хранения.
- Указывают точное имя для каждого элемента на диаграмме. В именах объектов не забывают использовать сингулярные существительные. Прилагательные могут использоваться для различения объектов, принадлежащих к одному классу (например, работник с частичной занятостью и штатный сотрудник). Имена атрибутов должны быть значимыми, независимыми от системы и легко понятными.
- Удаляют неопределенные, избыточные или лишние отношения среди сущностей.
- Эффективно используют цветовое обозначение. Можно брать цвета для классификации похожих объектов или для выделения ключевых областей на диаграммах.
Как видно из вышесказанного, ER особенно полезны там, где требуется моделировать данные с точки зрения разных типов и категорий сведений и их отношений друг с другом для проектирования базы данных.