Что такое ER-диаграмма и как ее создать?

Что такое ER-диаграмма и как ее создать?

Золотая Лихорадка

В этой статье вы подробно познакомитесь с ER-диаграммами и моделями, их истоками, сферами применения, примерами, компонентами и ограничениями.

Что такое ER-диаграмма?

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

Пример ER-диаграммы

ER-диаграммы — «родственники» схем структуры данных (DSD), где вместо связей между самими сущностями отображаются отношения между элементами внутри них. ER-диаграммы часто используются в сочетании с диаграммами DFD, которые схематично показывают движение потоков информации в рамках процесса или системы.

В ER-моделях и моделях данных обычно выделяют до трех уровней детализации:

  • Концептуальная модель данных — схема наивысшего уровня с минимальным количеством подробностей. Достоинство этого подхода заключается в возможности отобразить общую структуру модели и всю архитектуру системы. Менее масштабные системы могут обойтись и без этой модели. В этом случае можно сразу переходить к логической модели.
  • Логическая модель данных содержит более подробную информацию, нежели концептуальная модель. На этом уровне определяются более подробные операционные и транзакционные сущности. Логическая модель не зависит от технологии, в которой она будет применяться.
  • Физическая модель данных: на основе каждой логической модели данных можно составить одну или две физических модели. В последних должно присутствовать достаточно технических подробностей для составления и внедрения самой базы данных.

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

  • Только реляционные данные. Следует четко понимать, что цель ER-диаграмм — показать связи и отношения между элементами, поэтому они отображают только реляционную структуру.
  • Только для структурированных данных. Данные должны быть четко разбиты на поля, столбцы и строки, иначе пользы от ER-диаграммы будет мало. Это касается и частично структурированных данных, так как только некоторые из них будут пригодны для работы.
  • Сложность интеграции с существующей базой данных. Применение ER-моделей для интеграции с существующей базой данных — непростая задача по причине различия в архитектурах.

Области применения диаграмм «сущность-связь»

  • Проектирование баз данных. ER-диаграммы применяются для моделирования и проектирования реляционных баз данных, причем как в плане логических и бизнес-правил (логические модели данных), так и в плане внедрения конкретных технологий (физические модели данных). В сфере разработки программного обеспечения ER-диаграмма, как правило, служит первым шагом в определении требований проекта по созданию информационных систем. На дальнейших этапах работы ER-диаграммы также применяются для моделирования конкретных баз данных. Реляционная база данных сопровождается соответствующей реляционной таблицей и при необходимости может быть представлена в этом формате.
  • Отладка баз данных. ER-диаграммы применяются для анализа уже имеющихся баз данных с целью выявить и устранить ошибки в логике или развертывании. Диаграмма позволяет выявить, где именно закрались ошибки.
  • Информационные системы для бизнеса. ER-схемы используются для проектирования и анализа реляционных баз данных, применяемых в бизнес-процессах. Реляционные базы данных могут пригодиться в любом бизнес-процессе, где задействованы данные, разбитые на поля, включая сущности, действия и взаимосвязи. Базы данных помогают оптимизировать процессы, извлекать данные и повышать качество результатов.
  • Реорганизация бизнес-процессов (BPR). ER-диаграммы помогают анализировать базы данных, применяемые при реорганизации бизнес-процессов и моделировании новых баз данных.
  • Образование. Базы данных — широко распространенный в наши дни способ хранения реляционной информации, применяемой в целях образования и для последующего извлечения данных, поэтому ER-диаграммы играют не последнюю роль в планировании подобных структур данных.
  • Исследовательская деятельность. Поскольку исследовательская работа во многом опирается на четко структурированные данные, ER-диаграммы играют ключевую роль в построении оптимальных баз данных для анализа информации.

Символы и способы нотации ERD

Диаграммы «сущность-связь» (или ERD) — неотъемлемая составляющая процесса моделирования любых систем, включая простые и сложные базы данных, однако применяемые в них фигуры и способы нотации могут запросто ввести в заблуждение любого. Это руководство поможет вам стать настоящим экспертом по нотации ER-диаграмм и уверенно взяться за моделирование собственных баз данных!

Символы ERD-сущностей

Под понятием «сущности» подразумеваются объекты или понятия, несущие важную информацию. С точки зрения грамматики, они, как правило, обозначаются существительными, например, «товар», «клиент», «заведение» или «промоакция». Ниже представлены три наиболее распространенных типа сущностей, используемых в ER-диаграммах.

Независимая (сильная) сущность

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

Символ зависимой сущности

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

Символ ассоциативной сущности

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

Символы ERD-связей

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

Символ слабой связи

Связь между зависимой сущностью и ее «хозяином».

Символы ERD-атрибутов

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

Символ многозначного атрибута

Многозначный атрибутАтрибут, которому может быть присвоено несколько значений.

Производный атрибут

Атрибут, чье значение можно вычислить, опираясь на значения связанных с ним атрибутов.

Связь

Отношение между сущностями.

Символы физических ER-диаграмм

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

Как показано ниже, таблицы представляют собой еще один способ отображения сущностей. Вот ключевые составляющие таблиц «сущность-связь»:

Поля

Поля — это участки таблицы, где задаются атрибуты сущностей. Под атрибутами обычно подразумеваются столбцы базы данных, которая моделируется по принципу «сущность-связь».

Фигура «поле»

В примере ниже InterestRate («процентная ставка») и LoanAmount («сумма займа») оба являются атрибутами сущности и оба находятся внутри полей.

Ключи

Ключи — один из способов категоризации атрибутов. Напоминаем, что ER-диаграммы помогают пользователям моделировать базы данных посредством таблиц, которые обеспечивают им упорядоченность, эффективность и высокую скорость работы. Ну а ключи применяются с целью максимально эффективно связать между собой разные таблицы в базе данных.

Первичные ключи

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

Внешние ключи

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

Пример внешнего ключа

К примеру, займ на каждый отдельный автомобиль может быть выдан только одним банком, поэтому в качестве внешнего ключа FinancedBy («кем выдан займ») в таблице Car (автомобиль») использован основной ключ BankId («идентификатор банка»).При этом идентификатор BankId может служить внешним ключом сразу для нескольких автомобилей.

Типы

Под типом подразумевается тип данных в соответствующем поле таблицы. Однако это также может быть и тип сущности, то есть описание ее составляющих. Например, у сущности «книга» будут следующие типы: «автор», «название» и «дата публикации».

ERD-таблицы

Кардинальность и ординальность

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

Кардинальность и ординальность отображаются на соединительных линиях согласно выбранному формату нотации.

Нотация ER-диаграмм

Дополнительные советы по созданию ER-диаграмм

  1. Выберите подходящий уровень детализации. В зависимости от нужд проекта вам может подойти концептуальная, логическая или физическая модель. (Все эти уровни описаны выше.)
  2. Избегайте лишних сущностей и связей.
  3. Если схема создается с целью отладки базы данных, обращайте внимание на пробелы в связях или отсутствие сущностей или атрибутов.
  4. Сопровождайте все сущности и связи необходимыми ярлыками.
  5. Вы можете конвертировать реляционные таблицы в ER-диаграммы и обратно, если вам удобнее работать таким образом.
  6. Убедитесь, что ER-диаграмма поддерживает все виды данных, которые подлежат хранению.
  7. К созданию ER-диаграммы можно подойти по-разному. Но если вам удалось собрать в ней всю необходимую информацию согласно цели и масштабу проекта, то беспокоиться не о чем.

Шаблоны и примеры ER-диаграмм

Шаблон ER-диаграммы базы данных

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

Шаблон ER-диаграммы базы данных

 

Шаблон ER-диаграммы заказа на покупку

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

Шаблон ER-диаграммы процесса покупки

Шаблон ER-диаграммы для библиотеки

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

Шаблон ER-диаграммы для библиотеки


Надеюсь вы поняли что это и зачем. Хочу думать что я вам помог чем то этой статьей, потому что для программиста это очень важно, ведь базы данных это неотъемлемая часть айти, а перед тем как создать базу данных нужно составить ее модель (диаграму), можно даже на листке. Удачки!


Report Page