Какво е ER моделиране?
Модел на връзката между обектите (ER Modeling) е графичен подход към дизайна на базата данни. Това е модел на данни на високо ниво, който дефинира елементи от данни и тяхната връзка за определена софтуерна система. ER модел се използва за представяне на обекти от реалния свят.
Един субект е нещо или обект в реалния свят, който се различава от заобикалящата среда. Например, всеки служител на организация е отделен субект. Следват някои от основните характеристики на обектите.
- Обектът има набор от свойства.
- Свойствата на обекта могат да имат стойности.
В този урок ще научите -
- Модел на подобрена връзка между субектите (EER)
- Защо да използвам ER Model?
- Обекти в библиотеката "MyFlix"
- Определяне на връзките между субектите
Нека отново разгледаме първия си пример. Служител на организация е субект. Ако „Питър“ е програмист ( служител ) в Microsoft, той може да има атрибути ( свойства) като име, възраст, тегло, височина и т.н. Очевидно е, че те притежават стойности, свързани с него.
Всеки атрибут може да има Стойности . В повечето случаи единичните атрибути имат една стойност. Но е възможно и атрибутите да имат множество стойности . Например възрастта на Петър има една стойност. Но свойството му „телефонни номера“ може да има множество стойности.
Субектите могат да имат взаимоотношения помежду си. Нека разгледаме най-простия пример. Да приемем, че на всеки програмист на Microsoft е даден компютър. Ясно е, че Компютърът на Питър също е субект. Питър използва този компютър и същият компютър се използва от Питър. С други думи, има взаимна връзка между Питър и неговия компютър.
При моделирането на взаимоотношения между обектите ние моделираме обекти, техните атрибути и връзки между обектите.
Модел на подобрена връзка между субектите (EER)
Модел за подобрена връзка на обекти (EER) е модел на данни на високо ниво, който предоставя разширения на оригиналния модел на Entity Relationship (ER). EER Models поддържа дизайн на повече детайли. EER Modeling се появи като решение за моделиране на изключително сложни бази данни.
EER използва UML нотация. UML е съкращението за Унифициран език за моделиране; това е език за моделиране с общо предназначение, използван при проектирането на обектно-ориентирани системи. Обектите са представени като диаграми на класове. Взаимоотношенията са представени като асоциации между образувания. Диаграмата, показана по-долу, илюстрира ER диаграма, използваща UML нотация.
Защо да използвам ER Model?
Сега може би си мислите защо да използвате ER моделиране, когато можем просто да създадем базата данни и всички нейни обекти без ER моделиране? Едно от предизвикателствата, пред които е изправено проектирането на база данни, е фактът, че дизайнерите, разработчиците и крайните потребители са склонни да гледат на данните и тяхното използване по различен начин. Ако тази ситуация не бъде отметната, можем в крайна сметка да създадем система от бази данни, която не отговаря на изискванията на потребителите.
Комуникационните инструменти, разбирани от всички заинтересовани страни (както технически, така и нетехнически потребители), са от решаващо значение за създаването на системи от бази данни, които отговарят на изискванията на потребителите. ER моделите са примери за такива инструменти.
ER диаграмите също увеличават производителността на потребителите, тъй като те могат лесно да бъдат преведени в релационни таблици.
Казус: ER диаграма за видео библиотека "MyFlix"
Нека сега работим със системата за бази данни MyFlix Video Library, за да разберем концепцията за ER диаграмите. Ще използваме тази база данни за всички ръчни в останалата част от този урок
MyFlix е бизнес субект, който дава филми под наем на своите членове. MyFlix съхранява записите си ръчно. Сега ръководството иска да премине към СУБД
Нека да разгледаме стъпките за разработване на EER диаграма за тази база данни-
- Идентифицирайте обектите и определете връзките, които съществуват между тях.
- Всеки обект, атрибут и връзка трябва да имат подходящи имена, които могат лесно да бъдат разбрани и от нетехническите хора.
- Връзките не трябва да бъдат директно свързани помежду си. Връзките трябва да свързват обекти.
- Всеки атрибут в даден обект трябва да има уникално име.
Обекти в библиотеката "MyFlix"
Обектите, които трябва да бъдат включени в нашата ER диаграма са;
- Членове - този обект ще съхранява информация за членовете.
- Филми - този обект ще съхранява информация относно филми
- Категории - този обект ще съхранява информация, която поставя филмите в различни категории като „Драма“, „Действие“ и „Епично“ и т.н.
- Филми под наем - този обект ще съхранява информация относно филми, отдадени под наем на членове.
- Плащания - този обект ще съхранява информация за плащанията, извършени от членовете.
Определяне на връзките между субектите
Членове и филми
Следното важи по отношение на взаимодействията между двете обекти.
- Един член може да наеме повече от един филм за даден период.
- Филм може да бъде нает от повече от един член за даден период.
От горния сценарий можем да видим, че естеството на връзката е много към много. Релационните бази данни не поддържат връзки много към много. Трябва да въведем кръстовище . Това е ролята, която играе субектът MovieRentals. Той има връзка едно към много с таблицата на членовете и друга връзка към таблица с филми.
Филми и категории субекти
Следното важи за филмите и категориите.
- Филмът може да принадлежи само към една категория, но категорията може да има повече от един филм.
От това можем да заключим, че естеството на връзката между категориите и филмовата таблица е едно към много.
Членове и субекти за плащания
Следното важи за членове и плащания
- Член може да има само един акаунт, но може да извърши няколко плащания.
От това можем да заключим, че естеството на връзката между членовете и субектите за плащания е едно към много.
Сега позволява да се създаде EER модел с помощта на MySQL Workbench
В работната среда на MySQL щракнете върху бутона "+"
Щракнете двукратно върху бутона Добавяне на диаграма, за да отворите работното пространство за ER диаграми.
Появява се следният прозорец
Нека разгледаме двата обекта, с които ще работим.
Обектът на таблицата ни позволява да създаваме обекти и да дефинираме атрибутите, свързани с конкретния обект.
Бутонът за връзка с място ни позволява да дефинираме връзки между обектите.
Обектът на членовете ще има следните атрибути
- Членски номер
- Пълни имена
- Пол
- Дата на раждане
- Физически адрес
- пощенски адрес
Нека сега създадем таблицата на членовете
1. Плъзнете обекта на таблицата от панела с инструменти
2. Пуснете го в областта на работното пространство. Появява се обект с име 1
3. Кликнете два пъти върху него. Появява се прозорецът със свойства, показан по-долу
Следващия ,
- Променете таблица 1 на Членове
- Редактирайте idtable1 по подразбиране на member_number
- Щракнете върху следващия ред, за да добавите следващото поле
- Направете същото за всички атрибути, идентифицирани в обекта на членовете.
Прозорецът на вашите свойства сега трябва да изглежда така.
Повторете горните стъпки за всички идентифицирани обекти.
Работното пространство на вашата диаграма сега трябва да изглежда като показаното по-долу.
Нека създадем връзка между членовете и филмовите наеми
- Изберете връзката на място, като използвате и съществуващи колони
- Щракнете върху член_номер в таблицата Членове
- Щракнете върху reference_number в таблицата MovieRentals
Повторете горните стъпки за други взаимоотношения. Вашата ER диаграма сега трябва да изглежда така -
Обобщение
- Пълната форма на ER е Entity and Relationships Diagrams. Те играят много важна роля в процеса на проектиране на база данни. Те служат като нетехнически комуникационен инструмент за технически и нетехнически хора.
- Субектите представляват неща от реалния свят; те могат да бъдат концептуални като поръчка за продажба или физически като клиент.
- На всички обекти трябва да се дават уникални имена.
- ER моделите също позволяват на дизайнерите на бази данни да идентифицират и дефинират отношенията, които съществуват между обектите.
Целият ER модел е приложен по-долу. Можете просто да го импортирате в MySQL Workbench
Щракнете тук, за да изтеглите ER модел