Co je ER modelování? Učte se s příkladem

Co je ER modelování?

Model vztahu entit (ER Modeling) je grafický přístup k návrhu databáze. Jedná se o vysokoúrovňový datový model, který definuje datové prvky a jejich vztah pro konkrétní softwarový systém. ER model se používá k reprezentaci objektů reálného světa.

An bytost je věc nebo předmět v reálném světě, který je odlišitelný od okolního prostředí. Například každý zaměstnanec organizace je samostatný subjekt. Níže jsou uvedeny některé z hlavních charakteristik entit.

  • Entita má sadu vlastností.
  • Vlastnosti entity mohou mít hodnoty.

Podívejme se znovu na náš první příklad. Zaměstnanec organizace je entita. Pokud je „Peter“ programátor (an zaměstnanec) na Microsoft, může mít atributy (vlastnosti), jako je jméno, věk, váha, výška atd. Je zřejmé, že se jedná o hodnoty, které jsou pro něj relevantní.

Každý atribut může mít Hodnoty. Ve většině případů má jeden atribut jednu hodnotu. Ale je možné, že atributy mají více hodnot také. Například Petrův věk má jedinou hodnotu. Ale jeho vlastnost „telefonních čísel“ může mít více hodnot.

Entity mohou mít vztahy jeden s druhým. Podívejme se na nejjednodušší příklad. Předpokládejme, že každý Microsoft Programátor dostane počítač. To je jasné Petrův počítač je také entita. Peter používá ten počítač a stejný počítač používá Peter. Jinými slovy, mezi Petrem a jeho počítačem existuje vzájemný vztah.

In Modelování vztahů entit, modelujeme entity, jejich atributy a vztahy mezi entitami.

Model Enhanced Entity Relationship (EER).

Model Enhanced Entity Relationship (EER) je datový model na vysoké úrovni, který poskytuje rozšíření k originálu Vztah entity(ER) model. EER Models podporuje návrh více detailů. EER Modeling se objevil jako řešení pro modelování vysoce komplexních databází.

EER používá notaci UML. UML je zkratka pro Unifikovaný Modelovací Jazyk; je to obecný modelovací jazyk používaný při navrhování objektově orientovaných systémů. Entity jsou reprezentovány jako diagramy tříd. Vztahy jsou reprezentovány jako asociace mezi subjekty. Níže uvedený diagram ilustruje ER diagram pomocí Notace UML.


Enhanced Entity Relationship (EER)

Proč používat ER Model?

Možná si teď říkáte, proč používat ER modelování, když to můžeme jednoduše vytvořit databázi a všechny jeho objekty bez ER modelování? Jednou z výzev, kterým čelíme při navrhování databáze, je skutečnost, že návrháři, vývojáři a koncoví uživatelé mají tendenci nahlížet na data a jejich využití odlišně. Pokud tato situace zůstane bez kontroly, můžeme skončit s výrobou databázového systému, který nebude splňovat požadavky uživatelů.

Komunikační nástroje, kterým rozumí všechny zainteresované strany (technickí i netechnickí uživatelé), jsou zásadní pro vytváření databázových systémů, které splňují požadavky uživatelů. Příklady takových nástrojů jsou modely ER.

ER diagramy také zvyšují produktivitu uživatelů, protože je lze snadno převést do relačních tabulek.

Případová studie: ER diagram pro videotéku „MyFlix“.

Pojďme nyní pracovat s databázovým systémem MyFlix Video Library, abychom porozuměli konceptu ER diagramů. Tuto databázi budeme používat pro všechny praktické části ve zbývající části tohoto tutoriálu

MyFlix je obchodní subjekt, který pronajímá filmy svým členům. MyFlix ukládá své záznamy ručně. Vedení se nyní chce přestěhovat do a DBMS

Podívejme se na kroky k vytvoření EER diagramu pro tuto databázi-

  1. Identifikujte entity a určete vztahy, které mezi nimi existují.
  2. Každá entita, atribut a vztah by měly mít vhodná jména, která mohou snadno pochopit i netechnickí lidé.
  3. Vztahy by na sebe neměly přímo navazovat. Vztahy by měly spojovat entity.
  4. Každý atribut v dané entitě by měl mít jedinečný název.

Entity v knihovně „MyFlix“.

Subjekty, které mají být zahrnuty do našeho ER diagram jsou;

  • Členové – tento subjekt bude uchovávat informace o členech.
  • Filmy – tato entita bude uchovávat informace týkající se filmů
  • Kategorie – tato entita bude obsahovat informace, které zařazují filmy do různých kategorií, jako je „Drama“, „Action“ a „Epic“ atd.
  • Půjčovny filmů – tento subjekt bude uchovávat informace o filmech pronajatých členům.
  • Platby – tento subjekt bude uchovávat informace o platbách provedených členy.

Definování vztahů mezi entitami

Členové a filmy

Pokud jde o interakce mezi těmito dvěma entitami, platí následující.

  • Člen si může vypůjčit více než jeden film v daném období.
  • Film si může v daném období vypůjčit více členů.

Z výše uvedeného scénáře můžeme vidět, že povaha vztahu je mnoho k mnoha. Relační databáze nepodporují vztahy many-to-many. Musíme zavést entitu křižovatky. Toto je role, kterou hraje entita MovieRentals. Má vztah jeden k mnoha s tabulkou členů a jiný vztah jeden k mnoha s tabulkou filmů.

Filmy a entity kategorií

O filmech a kategoriích platí následující.

  • Film může patřit pouze do jedné kategorie, ale kategorie může mít více než jeden film.

Z toho můžeme odvodit, že povaha vztahu mezi kategoriemi a tabulkou filmů je jedna k mnoha.

Členové a platební subjekty

O členech a platbách platí následující

  • Člen může mít pouze jeden účet, ale může provádět několik plateb.

Z toho můžeme odvodit, že povaha vztahu mezi členy a platebními subjekty je jedna k mnoha.

Nyní vytvoříme model EER pomocí MySQL Workbench

v MySQL pracovní stůl , Klikněte na tlačítko „+“.

Definování vztahů mezi entitami

Double kliknutím na tlačítko Přidat diagram otevřete pracovní prostor pro diagramy ER.

Definování vztahů mezi entitami

Zobrazí se následující okno

Definování vztahů mezi entitami

Podívejme se na dva objekty, se kterými budeme pracovat.

  • Definování vztahů mezi entitamiObjekt tabulky nám umožňuje vytvářet entity a definovat atributy spojené s konkrétní entitou.
  • Definování vztahů mezi entitamiTlačítko umístit vztah nám umožňuje definovat vztahy mezi entitami.

Jedno členové entita bude mít následující atributy

  • Členské číslo
  • Celé jméno
  • Rod
  • Datum narození
  • Fyzická adresa
  • Poštovní adresa

Nyní vytvoříme tabulku členů

1. Přetáhněte objekt tabulky z panelu nástrojů

2. Položte jej na pracovní plochu. Objeví se entita s názvem tabulka 1

3.Double Klikněte na to. Zobrazí se okno vlastností zobrazené níže

Definování vztahů mezi entitami

Další ,

  1. Změňte tabulku 1 na Členy
  2. Upravte výchozí idtable1 na členské_číslo
  3. Kliknutím na další řádek přidáte další pole
  4. Proveďte totéž pro všechny atributy identifikované v entitě členů.

Vaše okno vlastností by nyní mělo vypadat takto.

Definování vztahů mezi entitami

Opakujte výše uvedené kroky pro všechny identifikované entity.

Váš pracovní prostor diagramu by nyní měl vypadat jako níže uvedený.

Definování vztahů mezi entitami

Umožňuje vytvořit vztah mezi členy a půjčovnami filmů

  1. Vyberte vztah místa také pomocí existujících sloupců
  2. Klikněte na členské_číslo v tabulce Členové
  3. Klikněte na referenční_číslo v tabulce MovieRentals

Definování vztahů mezi entitami

Opakujte výše uvedené kroky pro další vztahy. Váš ER diagram by nyní měl vypadat takto –

Shrnutí

  • Úplná forma ER je Entity and Relationship Diagrams. Hrají velmi důležitou roli v návrh databáze proces. Slouží jako netechnický komunikační nástroj pro technické i netechnické lidi.
  • Entity představují věci reálného světa; mohou být koncepční jako prodejní objednávka nebo fyzické, jako je zákazník.
  • Všechny entity musí mít jedinečné názvy.
  • Modely ER také umožňují návrhářům databází identifikovat a definovat vztahy, které existují mezi entitami.

Celý model ER je přiložen níže. Můžete jej jednoduše importovat MySQL Workbench

Kliknutím sem stáhnete model ER