Co je ER modelování?
Entity Relationship Model (ER Modeling) je grafický přístup k návrhu databáze. Jedná se o datový model na vysoké úrovni, který definuje datové prvky a jejich vztah pro specifikovaný softwarový systém. Model ER se používá k reprezentaci skutečných objektů.
Entity je věc nebo objekt v reálném světě, které je odlišují od okolního prostředí. Například každý zaměstnanec organizace je samostatnou entitou. Následuje několik hlavních charakteristik entit.
- Entita má sadu vlastností.
- Vlastnosti entity mohou mít hodnoty.
V tomto výukovém programu se naučíte
- Model EER (Enhanced Entity Relationship Relationship)
- Proč používat model ER?
- Entity v knihovně „MyFlix“
- Definování vztahů mezi entitami
Zvažme náš první příklad znovu. Zaměstnanec organizace je účetní jednotka. Pokud je „Peter“ programátor ( zaměstnanec ) ve společnosti Microsoft, může mít atributy ( vlastnosti), jako je jméno, věk, váha, výška atd. Je zřejmé, že tyto hodnoty mají pro něj relevantní hodnoty.
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í také více hodnot . Například Peterův věk má jedinou hodnotu. Ale jeho vlastnost „telefonní čísla“ může mít několik hodnot.
Subjekty mohou mít vzájemné vztahy . Zvažme nejjednodušší příklad. Předpokládejme, že každý programátor společnosti Microsoft dostane počítač. Je jasné, že Peterův počítač je také entita. Peter tento počítač používá a stejný počítač používá i Peter. Jinými slovy, mezi Petrem a jeho počítačem existuje vzájemný vztah.
V Entity Relationship Modeling modelujeme entity, jejich atributy a vztahy mezi entitami.
Model EER (Enhanced Entity Relationship Relationship)
Model Enhanced Entity Relationship (EER) je datový model na vysoké úrovni, který poskytuje rozšíření původního modelu Entity Relationship (ER). Modely EER podporují více podrobností. EER Modeling se ukázal jako řešení pro modelování vysoce komplexních databází.
EER používá notaci UML. UML je zkratka pro Unified Modeling Language; 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 entitami. Diagram zobrazený níže ilustruje diagram ER pomocí notace UML.
Proč používat model ER?
Nyní si možná pomyslíte, proč použít ER modelování, když můžeme jednoduše vytvořit databázi a všechny její objekty bez ER modelování? Jednou z výzev, kterým čelí při navrhování databáze, je skutečnost, že návrháři, vývojáři a koncoví uživatelé mají tendenci prohlížet data a jejich využití odlišně. Pokud tato situace zůstane nezaškrtnutá, můžeme skončit s výrobou databázového systému, který nesplňuje požadavky uživatelů.
Komunikační nástroje, kterým rozumějí všechny zúčastněné strany (technické i netechnické uživatele), jsou při výrobě databázových systémů, které splňují požadavky uživatelů, zásadní. Příklady těchto nástrojů jsou modely ER.
ER diagramy také zvyšují produktivitu uživatelů, protože je lze snadno přeložit do relačních tabulek.
Případová studie: Schéma ER 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 použijeme pro všechny předání ve zbytku tohoto kurzu
MyFlix je obchodní subjekt, který svým členům pronajímá filmy. MyFlix ukládá své záznamy ručně. Vedení chce nyní přejít na DBMS
Pojďme se podívat na kroky k vývoji EER diagramu pro tuto databázi -
- Identifikujte entity a určete vztahy, které mezi nimi existují.
- Každá entita, atribut a vztah by měly mít vhodné názvy, které snadno pochopí i netechničtí lidé.
- Vztahy by neměly být přímo propojeny. Vztahy by měly spojovat entity.
- 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 diagramu ER, jsou;
- Členové - tato entita bude uchovávat informace o členech.
- Filmy - tato entita bude obsahovat informace týkající se filmů
- Kategorie - tato entita bude uchovávat informace, které zařazují filmy do různých kategorií, například „Drama“, „Akce“ a „Epos“ atd.
- Výpůjčky filmů - tato entita 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
Následující ustanovení platí pro interakce mezi těmito dvěma entitami.
- Člen si může v daném období vypůjčit více než jeden film.
- Film si může v daném období vypůjčit více než jeden člen.
Z výše uvedeného scénáře vidíme, že povaha vztahu je mnoho k mnoha. Relační databáze nepodporují vztahy mezi mnoha. Musíme zavést spojovací entitu . Toto je role, kterou hraje entita MovieRentals. Má vztah one-to-many s tabulkou členů a další vztah one-to-many s tabulkou filmů.
Subjekty filmů a kategorií
O filmech a kategoriích platí toto.
- 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í toto
- Č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í pojďme vytvořit model EER pomocí MySQL Workbench
Na pracovním stole MySQL klikněte na tlačítko - „+“
Dvojitým kliknutím na tlačítko Přidat diagram otevřete pracovní prostor pro diagramy ER.
Zobrazí se následující okno
Podívejme se na dva objekty, se kterými budeme pracovat.
- Objekt tabulky nám umožňuje vytvářet entity a definovat atributy spojené s konkrétní entitou.
- Tlačítko vztahu místa nám umožňuje definovat vztahy mezi entitami.
The členská subjekt 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. Umístěte jej do oblasti pracovního prostoru. Zobrazí se entita s názvem tabulka 1
3. Poklepejte na něj. Zobrazí se okno vlastností zobrazené níže
Další ,
- Změňte tabulku 1 na Členové
- Upravte výchozí idtable1 na číslo_členství
- Kliknutím na další řádek přidáte další pole
- Udělejte totéž pro všechny atributy identifikované v entitě členů.
Okno vlastností by nyní mělo vypadat takto.
Výše uvedené kroky opakujte pro všechny identifikované entity.
Váš pracovní prostor diagramu by teď měl vypadat jako ten, který je zobrazen níže.
Umožňuje vytvořit vztah mezi členy a výpůjčkami filmů
- Vyberte vztah místa také pomocí existujících sloupců
- V tabulce Členové klikněte na číslo_členství
- Klikněte na reference_number v tabulce MovieRentals
Opakujte výše uvedené kroky pro další vztahy. Váš ER diagram by nyní měl vypadat takto -
souhrn
- Plnou formou ER jsou diagramy entit a vztahů. Hrají velmi důležitou roli v procesu navrhování databáze. Slouží jako netechnický komunikační nástroj pro technické a netechnické lidi.
- Subjekty představují věci skutečného světa; mohou být koncepční jako prodejní objednávka nebo fyzické jako zákazník.
- Všechny entity musí mít jedinečná jména.
- Modely ER také umožňují návrhářům databází identifikovat a definovat vztahy, které existují mezi entitami.
Celý model ER je uveden níže. Můžete jej jednoduše importovat do MySQL Workbench
Kliknutím sem stáhnete model ER