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

Что такое ER-моделирование?
Модель отношений сущностей (ER Modeling) — это графический подход к проектированию базы данных. Это модель данных высокого уровня, которая определяет элементы данных и их взаимосвязь для указанной программной системы. Модель ER используется для представления объектов реального мира.
Сущность — это вещь или объект в реальном мире, который отличается от окружающей среды. Например, каждый сотрудник организации является отдельной сущностью. Ниже приведены некоторые из основных характеристик сущностей.
- Сущность имеет набор свойств.
- Свойства сущности могут иметь значения.
Давайте еще раз рассмотрим наш первый пример. Сотрудник организации — это сущность. Если «Питер» — программист (сотрудник) в MicrosoftУ него могут быть такие атрибуты (свойства), как имя, возраст, вес, рост и т. д. Очевидно, что они имеют для него важное значение.
Каждый атрибут может иметь значения. В большинстве случаев атрибут имеет одно значение. Но атрибуты также могут иметь несколько значений. Например, возраст Питера имеет одно значение. Но свойство «номера телефонов» может иметь несколько значений.
Сущности могут иметь отношения друг с другом. Рассмотрим простейший пример. Предположим, что каждая Microsoft Программисту дают компьютер. Очевидно, что компьютер Питера также является отдельным объектом. Питер использует этот компьютер, и тот же компьютер используется самим Питером. Другими словами, между Питером и его компьютером существует взаимосвязь.
В моделировании «сущность-связь» мы моделируем сущности, их атрибуты и отношения между сущностями.
Зачем использовать ER-модель?
Теперь вы можете подумать, зачем использовать ER-моделирование, если мы можем просто создать базу данных и все его объекты без ER-моделирования? Одна из проблем, с которыми сталкиваются при проектировании базы данных, заключается в том, что дизайнеры, разработчики и конечные пользователи склонны по-разному рассматривать данные и их использование. Если эту ситуацию оставить без внимания, мы можем в конечном итоге создать систему баз данных, которая не будет отвечать требованиям пользователей.
Инструменты коммуникации, понятные всем заинтересованным сторонам (как техническим, так и нетехническим пользователям), имеют решающее значение для создания систем баз данных, отвечающих требованиям пользователей. Примером таких инструментов являются ER-модели.
Диаграммы ER также повышают производительность пользователей, поскольку их можно легко преобразовать в реляционные таблицы.
Расширенная модель отношений сущностей (EER)
Расширенная модель «сущность-связь» (EER) — это высокоуровневая модель данных, которая расширяет возможности исходной модели «сущность-связь» (ER). Модели EER поддерживают более детальное проектирование. Моделирование EER возникло как решение для моделирования очень сложных баз данных.
В EER используется нотация UML. UML — это аббревиатура от... Унифицированный язык моделирования; это язык моделирования общего назначения, используемый при проектировании объектно-ориентированных систем. Сущности представлены в виде диаграмм классов. Отношения представляются как ассоциации между сущностями. На диаграмме, показанной ниже, показана диаграмма ER с использованием Нотация UML.
Пример из практики: ER-диаграмма для видеотеки «MyFlix».
Теперь давайте поработаем с базой данных видеотеки MyFlix, чтобы лучше понять концепцию ER-диаграмм. Мы будем использовать эту базу данных для всех практических заданий в этом уроке.
MyFlix — это коммерческое предприятие, которое сдает фильмы в аренду своим участникам. MyFlix хранит свои записи вручную. Теперь руководство хочет переехать в СУБД.
Рассмотрим шаги по созданию EER-диаграммы для этой базы данных:
- Определите сущности и определите отношения, существующие между ними.
- Каждой сущности, атрибуту и связи должны быть присвоены соответствующие имена, легко понятные даже неспециалистам.
- Отношения не должны быть связаны напрямую друг с другом. Отношения должны соединять сущности.
- Каждый атрибут в данной сущности должен иметь уникальное имя.
Объекты в библиотеке «MyFlix»
Субъекты, которые будут включены в нашу ER диаграмма составляют:
- Участники – данная организация будет хранить информацию об участниках.
- Фильмы – в этом разделе будет храниться информация о фильмах.
- Категории – этот раздел будет содержать информацию, которая распределяет фильмы по различным категориям, таким как «Драма», «Боевик», «Эпический» и т. д.
- Прокат фильмов – эта организация будет хранить информацию о фильмах, взятых напрокат участниками.
- Платежи – данная организация будет хранить информацию о платежах, произведенных участниками.
Определение отношений между сущностями
Участники и фильмы
Следующее справедливо в отношении взаимодействия между двумя объектами.
- Участник может взять напрокат более одного фильма за определенный период.
- Фильм может быть взят напрокат более чем одним участником в течение определенного периода.
Из приведенного выше сценария видно, что характер отношений — «многие ко многим». Реляционные базы данных не поддерживают отношения «многие ко многим». Нам необходимо ввести промежуточную сущность. Именно эту роль играет сущность MovieRentals. Она имеет отношение «один ко многим» с таблицей Members и еще одно отношение «один ко многим» с таблицей Movies.
Объекты фильмов и категорий
Следующее справедливо в отношении фильмов и категорий.
- Фильм может принадлежать только к одной категории, но категория может включать в себя более одного фильма.
Из этого можно сделать вывод, что характер связи между таблицами категорий и фильмов — «один ко многим».
Члены и платежные организации
В отношении участников и платежей справедливо следующее.
- Участник может иметь только один счет, но может совершать несколько платежей.
Из этого можно сделать вывод, что характер взаимоотношений между участниками и платежными системами — «один ко многим».
Создайте модель EER, используя MySQL Верстак
In MySQL ВерстакНажмите кнопку «+».
Double Нажмите кнопку «Добавить диаграмму», чтобы открыть рабочую область для ER-диаграмм.
Появится следующее окно.
Давайте рассмотрим два объекта, с которыми мы будем работать.
- Объект таблицы
Это позволяет нам создавать сущности и определять атрибуты, связанные с конкретной сущностью.
- Место и отношения
Эта кнопка позволяет нам определять взаимосвязи между сущностями.
Сущность «Участники» будет обладать следующими атрибутами.
- Членский номер
- Полные имена
- пол
- Дата рождения
- Физический адрес
- почтовый адрес
Теперь давайте создадим таблицу "Участники".
1. Перетащите объект «Таблица» из панели инструментов.
2. Перетащите его в рабочую область. Появится объект с именем «Таблица 1».
3. Double Щёлкните по нему. Откроется окно свойств, показанное ниже.
Далее
- Замените таблицу 1 на "Участники".
- Измените значение по умолчанию idtable1 на membership_number.
- Нажмите на следующую строку, чтобы добавить следующее поле.
- Повторите то же самое для всех атрибутов, указанных в сущности "Участники".
Окно ваших свойств теперь должно выглядеть так.
Повторите вышеуказанные шаги для всех идентифицированных объектов.
Ваше рабочее пространство диаграммы теперь должно выглядеть так, как показано ниже.
Давайте наладим взаимоотношения между участниками и пунктами проката фильмов.
- Выберите взаимосвязь местоположения, используя инструмент «Существующие столбцы».
- В таблице "Участники" нажмите на "membership_number".
- В таблице MovieRentals нажмите на reference_number.
Повторите описанные выше шаги для других взаимосвязей. Ваша ER-диаграмма теперь должна выглядеть так:









