Учебники

5) ER Моделирование

Что такое ER моделирование?

Модель сущностных отношений (ER Modeling) — это графический подход к проектированию базы данных. Это модель данных высокого уровня, которая определяет элементы данных и их взаимосвязь для определенной программной системы. Модель ER используется для представления объектов реального мира.

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

  • У сущности есть набор свойств.
  • Свойства объекта могут иметь значения.

В этом уроке вы узнаете

Давайте снова рассмотрим наш первый пример. Сотрудник организации — это субъект. Если «Питер» является программистом ( сотрудником ) в Microsoft, он может иметь такие атрибуты ( свойства), как имя, возраст, вес, рост и т. Д. Очевидно, что они содержат значения, относящиеся к нему.

Каждый атрибут может иметь значения . В большинстве случаев один атрибут имеет одно значение. Но возможно, что атрибуты имеют несколько значений . Например, возраст Петра имеет одно значение. Но его свойство «номера телефона» может иметь несколько значений.

Сущности могут иметь отношения друг с другом. Давайте рассмотрим самый простой пример. Предположим, что у каждого программиста Microsoft есть компьютер. Понятно, что компьютер Питера — это тоже сущность. Питер использует этот компьютер, и тот же компьютер используется Питером. Другими словами, существует взаимная связь между Питером и его компьютером.

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

Модель улучшенного отношения сущностей (EER)

Модель Enhanced Entity Relationship (EER) — это модель данных высокого уровня, которая предоставляет расширения для исходной модели Entity Relationship (ER). EER Models поддерживает более детальный дизайн. EER Modeling появилась как решение для моделирования очень сложных баз данных.

EER использует нотацию UML. UML является аббревиатурой от Unified Modeling Language; это язык моделирования общего назначения, используемый при проектировании объектно-ориентированных систем. Сущности представлены в виде диаграмм классов. Отношения представлены в виде ассоциаций между сущностями. Диаграмма, показанная ниже, иллюстрирует диаграмму ER с использованием нотации UML.

Что такое ER моделирование?  Учитесь на примере

Зачем использовать ER Model?

Теперь вы можете подумать, зачем использовать ER-моделирование, когда мы можем просто создать базу данных и все ее объекты без ER-моделирования? Одна из проблем, с которыми сталкиваются при проектировании базы данных, заключается в том, что дизайнеры, разработчики и конечные пользователи склонны по-разному воспринимать данные и их использование. Если эту ситуацию оставить без контроля, мы можем в конечном итоге создать систему баз данных, которая не отвечает требованиям пользователей.

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

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

Пример: диаграмма ER для видеотеки «MyFlix»

Давайте теперь поработаем с системой базы данных MyFlix Video Library, чтобы помочь понять концепцию ER-диаграмм. Мы будем использовать эту базу данных для всей практической работы в оставшейся части этого урока

MyFlix — это юридическое лицо, которое сдает в аренду фильмы своим членам. MyFlix хранит свои записи вручную. Теперь руководство хочет перейти на СУБД

Давайте посмотрим на шаги по разработке диаграммы EER для этой базы данных

  1. Определите сущности и определите отношения, которые существуют между ними.
  2. Каждая сущность, атрибут и отношение должны иметь соответствующие имена, которые могут быть легко понятны и нетехническим людям.
  3. Отношения не должны быть связаны напрямую друг с другом. Отношения должны соединять сущности.
  4. Каждый атрибут в данном объекте должен иметь уникальное имя.

Объекты в библиотеке «MyFlix»

Объекты, которые должны быть включены в нашу диаграмму ER:

  • Участники — эта организация будет хранить информацию об участниках.
  • Фильмы — эта сущность будет содержать информацию о фильмах
  • Категории — эта сущность будет содержать информацию, которая помещает фильмы в различные категории, такие как «Драма», «Действие», «Эпический» и т. Д.
  • Прокат фильмов — эта организация будет хранить информацию о фильмах, сдаваемых в аренду ее членам.
  • Платежи — эта организация будет хранить информацию о платежах, произведенных участниками.

Определение отношений между сущностями

Члены и фильмы

Следующее справедливо в отношении взаимодействия между двумя объектами.

  • Участник может арендовать больше 1, чем фильм в данный период.
  • Фильм может быть арендован более чем одним участником в данный период.

Из приведенного выше сценария мы можем видеть, что природа отношений «многие ко многим». Реляционные базы данных не поддерживают отношения «многие ко многим». Нам нужно ввести объект соединения . Это роль, которую играет объект MovieRentals. Он имеет отношение один-ко-многим с таблицей участников и другое отношение один-ко-многим с таблицей фильмов.

Фильмы и категории лиц

Следующее верно для фильмов и категорий.

  • Фильм может принадлежать только к одной категории, но в категории может быть несколько фильмов.

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

Участники и платежные организации

Следующее верно для членов и платежей

  • Участник может иметь только одну учетную запись, но может сделать несколько платежей.

Из этого можно сделать вывод, что характер взаимоотношений между участниками и платежными организациями один-ко-многим.

Теперь давайте создадим модель EER, используя MySQL Workbench

В рабочей среде MySQL нажмите кнопку «+»

Что такое ER моделирование?  Учитесь на примере

Дважды щелкните кнопку Добавить диаграмму, чтобы открыть рабочее пространство для диаграмм ER.

Что такое ER моделирование?  Учитесь на примере

Появляется следующее окно

Что такое ER моделирование?  Учитесь на примере

Давайте посмотрим на два объекта, с которыми мы будем работать.

  • Что такое ER моделирование?  Учитесь на примереОбъект таблицы позволяет нам создавать объекты и определять атрибуты, связанные с конкретным объектом.
  • Что такое ER моделирование?  Учитесь на примереКнопка размещения отношений позволяет нам определять отношения между объектами.

Члены организация будет иметь следующие атрибуты

  • Членский номер
  • Полные имена
  • Пол
  • Дата рождения
  • Физический адрес
  • почтовый адрес

Давайте теперь создадим таблицу членов

1. Перетащите объект таблицы с панели инструментов.

2. Поместите его в рабочую область. Появляется сущность с именем таблицы 1

3. Дважды щелкните по нему. Появится окно свойств, показанное ниже

Что такое ER моделирование?  Учитесь на примере

Следующий ,

  1. Изменить таблицу 1 на Члены
  2. Измените idtable1 по умолчанию на номер_позиции
  3. Нажмите на следующую строку, чтобы добавить следующее поле
  4. Сделайте то же самое для всех атрибутов, указанных в сущности члена.

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

Что такое ER моделирование?  Учитесь на примере

Повторите вышеуказанные шаги для всех идентифицированных объектов.

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

Что такое ER моделирование?  Учитесь на примере

Позволяет создать отношения между участниками и прокатом фильмов

  1. Выберите отношение места, используя существующие столбцы
  2. Нажмите на номер_ членства в таблице Члены
  3. Нажмите на номер ссылки в таблице MovieRentals

Что такое ER моделирование?  Учитесь на примере

Повторите вышеуказанные шаги для других отношений. Ваша диаграмма ER теперь должна выглядеть так:

Резюме

  • Полная форма ER — диаграммы сущностей и отношений. Они играют очень важную роль в процессе проектирования баз данных. Они служат нетехническим средством связи для технических и нетехнических людей.
  • Сущности представляют вещи реального мира; они могут быть концептуальными как заказ на продажу или физическими, например, заказчиком.
  • Все лица должны иметь уникальные имена.
  • Модели ER также позволяют разработчикам баз данных идентифицировать и определять отношения, существующие между объектами.

Вся модель ER прилагается ниже. Вы можете просто импортировать его в MySQL Workbench

Нажмите здесь, чтобы скачать модель ER