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

⚡ Умно обобщение

Моделирането на обекти и взаимоотношения е графичен подход към проектирането на бази данни, който представя обекти от реалния свят като обекти, описва ги с атрибути и улавя как те се свързват чрез взаимоотношения, създавайки ясен план, преди да бъдат изградени каквито и да е таблици.

  • 🧩 Какво е: ER моделирането е графичен модел на данни на високо ниво, който дефинира елементите от данните и техните взаимовръзки.
  • 🗂️ Градивни елементи: Обектите представляват неща от реалния свят, атрибутите описват техните свойства, а връзките улавят как обектите взаимодействат.
  • 🔗 Кардиналност: Връзките са едно към едно, едно към много или много към много, разрешени с помощта на свързващ обект.
  • ???? Модел на EER: Подобреният ER модел използва UML нотация и допълнителни конструкции за силно сложни бази данни.
  • 🎬 Казус на MyFlix: Пример за видеотека представя членове, филми, категории, наеми и плащания в ER диаграма.
  • 🤖 AI помощ: Инструментите с изкуствен интелект и GitHub Copilot превръщат описанията на естествен език в ER диаграми и SQL схеми.

ER Моделиране

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

Модел на връзката между обекти (ER моделиране) е графичен подход към проектирането на база данни. Това е модел на данни от високо ниво, който дефинира елементи от данни и тяхната връзка за определена софтуерна система. ER модел се използва за представяне на обекти от реалния свят.

Едно същество е нещо или обект в реалния свят, което е различимо от заобикалящата го среда. Например, всеки служител на организация е отделно същество. По-долу са някои от основните характеристики на съществата.

  • Субектът има набор от свойства.
  • Свойствата на обекта могат да имат стойности.

Нека разгледаме отново първия ни пример. Служител на организация е юридическо лице. Ако „Петър“ е програмист (служител) в Microsoft, той може да има атрибути (свойства) като име, възраст, тегло, ръст и т.н. Очевидно е, че те съдържат стойности, релевантни за него.

Всеки атрибут може да има стойности. В повечето случаи един атрибут има една стойност. Но е възможно атрибутите да имат и множество стойности. Например, възрастта на Петър има една стойност. Но свойството му „телефонни номера“ може да има множество стойности.

Обектите могат да имат взаимоотношения помежду си. Нека разгледаме най-простия пример. Да приемем, че всеки Microsoft На програмиста е даден компютър. Ясно е, че компютърът на Петър също е обект. Петър използва този компютър и същият компютър се използва от Петър. С други думи, съществува взаимна връзка между Петър и неговия компютър.

В моделирането на обекти и връзки, ние моделираме обекти, техните атрибути и връзките между обектите.

Защо да използваме ER модел?

Сега може би си мислите защо да използваме ER моделиране, когато можем просто създайте базата данни и всички негови обекти без ER моделиране? Едно от предизвикателствата при проектирането на база данни е фактът, че дизайнерите, разработчиците и крайните потребители са склонни да разглеждат данните и тяхното използване по различен начин. Ако тази ситуация бъде оставена без контрол, можем да създадем система от бази данни, която не отговаря на изискванията на потребителите.

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

ER диаграмите също така повишават производителността на потребителите, тъй като могат лесно да бъдат преобразувани в релационни таблици.

Модел на подобрена връзка между обекти (EER).

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

EER използва UML нотация. UML е акронимът за Унифициран език за моделиране; това е език за моделиране с общо предназначение, използван при проектирането на обектно-ориентирани системи. Обектите са представени като класови диаграми. Връзките се представят като асоциации между обекти. Диаграмата, показана по-долу, илюстрира ER диаграма, използваща UML нотация.

Модел на подобрена връзка между обекти (EER).

Казус: ER диаграма за видеотеката „MyFlix“

Нека сега работим със системата от бази данни MyFlix Video Library, за да разберем концепцията за ER диаграми. Ще използваме тази база данни за цялата практическа работа в този урок.

MyFlix е бизнес субект, който отдава филми под наем на своите членове. MyFlix съхранява своите записи ръчно. Сега ръководството иска да се премести в a СУБД.

Нека разгледаме стъпките за разработване на EER диаграма за тази база данни:

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

Обекти в библиотеката „MyFlix“

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

  • Членове – този обект ще съхранява информация за членовете.
  • Филми – този обект ще съдържа информация относно филми.
  • Категории – този обект ще съдържа информация, която класифицира филмите в различни категории, като например „Драма“, „Екшън“ и „Епичен“ и др.
  • Филми под наем – тази организация ще съхранява информация за филми, отдадени под наем на членове.
  • Плащания – този обект ще съхранява информация за плащанията, извършени от членовете.

Определяне на връзките между субектите

Членове и филми

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

  • Един член може да наеме повече от един филм за даден период.
  • Един филм може да бъде нает от повече от един член за даден период.

От горния сценарий можем да видим, че естеството на връзката е „много към много“. Релационните бази данни не поддържат връзки „много към много“. Трябва да въведем свързващ обект. Това е ролята, която играе обектът MovieRentals. Той има връзка „едно към много“ с таблицата Members и друга връзка „едно към много“ с таблицата Movies.

Филми и категории обекти

Следното важи за филмите и категориите.

  • Филмът може да принадлежи само към една категория, но една категория може да има повече от един филм.

От това можем да заключим, че естеството на връзката между категориите и таблиците с филми е едно към много.

Членове и разплащателни организации

Следното важи за членовете и плащанията.

  • Един член може да има само една сметка, но може да извършва няколко плащания.

От това можем да заключим, че естеството на връзката между членовете и платежните субекти е „един към много“.

Създайте EER модела, използвайки MySQL Workbench

In MySQL Workbench, щракнете върху бутона „+“.

Създайте EER модела, използвайки MySQL Workbench

Double Кликнете върху бутона „Добавяне на диаграма“, за да отворите работното пространство за ER диаграми.

Добавяне на диаграма в MySQL Workbench

Появява се следният прозорец.

MySQL Workbench EER среда за моделиране

Нека разгледаме двата обекта, с които ще работим.

  • Обектът на таблицата инструмент за маса ни позволява да създаваме обекти и да дефинираме атрибутите, свързани с конкретния обект.
  • Връзката с мястото инструмент за връзка между местата Бутонът ни позволява да дефинираме връзки между обекти.

Обектът „Членове“ ще има следните атрибути

  • Членски номер
  • Пълни имена
  • Пол
  • Дата на раждане
  • Физически адрес
  • пощенски адрес

Нека сега създадем таблицата „Членове“

1. Плъзнете табличния обект от панела с инструменти.

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

3. Double Кликнете върху него. Появява се прозорецът със свойства, показан по-долу.

Свойства на таблицата „Членове“ в MySQL Workbench

След

  1. Променете таблица 1 на Членове.
  2. Редактирайте стойността по подразбиране idtable1 на membership_number.
  3. Кликнете върху следващия ред, за да добавите следващото поле.
  4. Направете същото за всички атрибути, идентифицирани в обекта „Членове“.

Вашият прозорец със свойства сега трябва да изглежда така.

Дефинирани атрибути на обекта „Членове“

Повторете горните стъпки за всички идентифицирани обекти.

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

MyFlix обекти в работното пространство на диаграмата

Нека създадем връзка между членовете и филмите под наем

  1. Изберете връзката между местата, като използвате инструмента за съществуващи колони.
  2. Кликнете върху membership_number в таблицата „Членове“.
  3. Кликнете върху reference_number в таблицата MovieRentals.

Създаване на връзка между членовете и MovieRentals

Повторете горните стъпки за други зависимости. Вашата ER диаграма сега трябва да изглежда така –

Завършена диаграма на MyFlix ER

Въпроси и Отговори

ER диаграмата използва три основни компонента: обекти като правоъгълници, атрибути като овали и връзки като ромбове. Подчертаните атрибути маркират първичните ключове.

Често срещаните типове атрибути са прости (атомни), съставни (делими), производни (изчисляеми), многозначни (няколко стойности) и ключови атрибути, които идентифицират даден обект.

Кардиналността определя колко екземпляра на един обект са свързани с друг: едно към едно, едно към много или много към много. Обектът тип „свързване“ разрешава неподдържани връзки „много към много“.

Силният обект има свой собствен първичен ключ и е самостоятелен. Слабият обект няма пълен ключ и зависи от обект собственик.

Нотацията „Павиче краче“ показва кардиналност с краища на линии, наподобяващи птичи крак. Зъбците маркират страната „много“; чертичките и кръговете показват единица и опция.

ER моделът е визуален план на високо ниво на обекти и връзки. Релационният модел го имплементира като таблици, редове, колони и ключове в СУБД.

Инструментите с изкуствен интелект превръщат описанията на естествен език в ER диаграми, предлагат обекти и връзки и генерират SQL схеми. Дизайнерите преглеждат и коригират резултата, преди да го внедрят.

Да. Копилот на GitHub предлага обекти, взаимоотношения и таблични структури и генерира SQL код за изграждането им. Може също така да създава диаграма като код, като например Mermaid, която се рендира в ER диаграма.

Обобщете тази публикация с: