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

Содержание:

Anonim

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

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

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

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

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

  • Модель расширенных отношений сущностей (EER)
  • Зачем использовать модель ER?
  • Сущности в библиотеке "MyFlix"
  • Определение отношений между сущностями

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

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

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

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

Модель расширенных отношений сущностей (EER)

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

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

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

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

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

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

Пример использования: ER-диаграмма для видеотеки "MyFlix"

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

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

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

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

Сущности в библиотеке "MyFlix"

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

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

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

Участники и фильмы

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

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

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

Сущности фильмов и категорий

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

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

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

Члены и платежные организации

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

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

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

Теперь давайте создадим модель EER с помощью MySQL Workbench.

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

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

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

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

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

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

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

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

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

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

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

Следующий ,

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

Окно ваших свойств теперь должно выглядеть так.

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

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

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

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

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

Резюме

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

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

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