Какво е 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 нотация.
Казус: ER диаграма за видеотеката „MyFlix“
Нека сега работим със системата от бази данни MyFlix Video Library, за да разберем концепцията за ER диаграми. Ще използваме тази база данни за цялата практическа работа в този урок.
MyFlix е бизнес субект, който отдава филми под наем на своите членове. MyFlix съхранява своите записи ръчно. Сега ръководството иска да се премести в a СУБД.
Нека разгледаме стъпките за разработване на EER диаграма за тази база данни:
- Идентифицирайте обектите и определете връзките, които съществуват между тях.
- Всеки обект, атрибут и връзка трябва да имат подходящи имена, които могат лесно да бъдат разбрани и от хора без технически познания.
- Взаимоотношенията не трябва да се свързват директно едно с друго. Отношенията трябва да свързват субектите.
- Всеки атрибут в даден обект трябва да има уникално име.
Обекти в библиотеката „MyFlix“
Субектите, които ще бъдат включени в нашия ER диаграма са:
- Членове – този обект ще съхранява информация за членовете.
- Филми – този обект ще съдържа информация относно филми.
- Категории – този обект ще съдържа информация, която класифицира филмите в различни категории, като например „Драма“, „Екшън“ и „Епичен“ и др.
- Филми под наем – тази организация ще съхранява информация за филми, отдадени под наем на членове.
- Плащания – този обект ще съхранява информация за плащанията, извършени от членовете.
Определяне на връзките между субектите
Членове и филми
Следното е вярно по отношение на взаимодействията между двете единици.
- Един член може да наеме повече от един филм за даден период.
- Един филм може да бъде нает от повече от един член за даден период.
От горния сценарий можем да видим, че естеството на връзката е „много към много“. Релационните бази данни не поддържат връзки „много към много“. Трябва да въведем свързващ обект. Това е ролята, която играе обектът MovieRentals. Той има връзка „едно към много“ с таблицата Members и друга връзка „едно към много“ с таблицата Movies.
Филми и категории обекти
Следното важи за филмите и категориите.
- Филмът може да принадлежи само към една категория, но една категория може да има повече от един филм.
От това можем да заключим, че естеството на връзката между категориите и таблиците с филми е едно към много.
Членове и разплащателни организации
Следното важи за членовете и плащанията.
- Един член може да има само една сметка, но може да извършва няколко плащания.
От това можем да заключим, че естеството на връзката между членовете и платежните субекти е „един към много“.
Създайте EER модела, използвайки MySQL Workbench
In MySQL Workbench, щракнете върху бутона „+“.
Double Кликнете върху бутона „Добавяне на диаграма“, за да отворите работното пространство за ER диаграми.
Появява се следният прозорец.
Нека разгледаме двата обекта, с които ще работим.
- Обектът на таблицата
ни позволява да създаваме обекти и да дефинираме атрибутите, свързани с конкретния обект.
- Връзката с мястото
Бутонът ни позволява да дефинираме връзки между обекти.
Обектът „Членове“ ще има следните атрибути
- Членски номер
- Пълни имена
- Пол
- Дата на раждане
- Физически адрес
- пощенски адрес
Нека сега създадем таблицата „Членове“
1. Плъзнете табличния обект от панела с инструменти.
2. Пуснете го в работната област. Появява се обект с име таблица 1.
3. Double Кликнете върху него. Появява се прозорецът със свойства, показан по-долу.
След
- Променете таблица 1 на Членове.
- Редактирайте стойността по подразбиране idtable1 на membership_number.
- Кликнете върху следващия ред, за да добавите следващото поле.
- Направете същото за всички атрибути, идентифицирани в обекта „Членове“.
Вашият прозорец със свойства сега трябва да изглежда така.
Повторете горните стъпки за всички идентифицирани обекти.
Вашето работно пространство за диаграма вече трябва да изглежда като показаното по-долу.
Нека създадем връзка между членовете и филмите под наем
- Изберете връзката между местата, като използвате инструмента за съществуващи колони.
- Кликнете върху membership_number в таблицата „Членове“.
- Кликнете върху reference_number в таблицата MovieRentals.
Повторете горните стъпки за други зависимости. Вашата ER диаграма сега трябва да изглежда така –










