4.2
ERA diagram
U ERA diagramu vyjdeme z předchozího konceptuálního ER diagramu. Projdeme entity a tyto entity použijeme k vytvoření tabulek. U každé entity máme zapsané i obecné atributy. Všechny tyto atributy použijeme a přidáme i další, které vyvstaly při ponoření se do hlubší úrovně popisu. Důležité je také v této fázi určit přesný primární klíč a specifikovat obecné datové typy. Volíme zde databázovou koncepci, kterou chceme používat. ERA diagram slouží hlavně pro reprezentaci relačního modelu. Výběr databázového systému ale zatím logická úroveň neřeší, tzn. nezabýváme se konkrétním hardwarem a softwarem. Model je tedy nezávislý na implementaci. Nezabýváme se ani konkrétními podrobnostmi a detaily souvisejícími s databázovým RDBMS nebo v češtině Systémem řízení báze dat (SŘBD).
ERA diagram zobrazuje vztahy mezi entitami. Oproti ER diagramu přidává další, zpodrobňuje je a konkretizuje. Podrobněji se zabývá i násobností či kardinalitou. Více se také modelují atributy, určuje se primární klíč. Cizí klíče si zde promyslíme, ale ještě je nezakreslujeme. Máme zapsané relace, ale ještě nevíme, jestli relace bude jako cizí klíč nebo vazební tabulka. To, zda vznikne cizí klíč nebo vazební tabulka, závisí na kardinalitě vztahu. Je-li kardinalita vztahu N ku M, vznikne vazební tabulka. Při vztazích N ku 1 či 1 ku M, vznikne cizí klíč.
Projdeme si jednotlivé prvky diagramu:
- Entity – symbolizují jednotlivé tabulky v databázi. Entita bývá většinou subjekt nebo věc. Entity jsou zobrazeny pomocí obdélníků. V diagramu tříd by byla tato entita reprezentována třídou. ER diagram už je ale podrobnější a budeme zde uvádět více informací. Každá entita (stejně jako třída v diagramu tříd) má své atributy. Jeden z atributů entity by měl být určen jako primární klíč. Primární klíč nám slouží k jednoznačné identifikaci a nezaměnitelnosti záznamů.
+

Obr. 23. Ukázka entity s atributy a primárním klíčem
- Atributy – atributy jsou v databázi sloupečky tabulky. Vyjadřují vlastnosti entity či vlastnosti dané třídy. U každého atributu je potřeba určit jeho typ. Při vytváření objektu na základě třídy nebo obecné entity přiřazujeme atributům konkrétní hodnoty. Jsou to tedy vlastnosti objektů. Nahlédneme-li do databáze, vidíme, že třída či entita je v databázi tabulkou. Sloupce reprezentují atributy, což jsou vlastnosti tříd. Všechny řádky v tabulce dané třídy neboli entity mají pak stejné atributy. V každém řádku jsou vyplněny hodnoty atributů.
- Primární klíč – umožňuje nám jednoznačně identifikovat řádek v tabulce. Řádek v tabulce je vlastně datová položka neboli záznam. Každý řádek obsahuje hodnoty všech atributů. Primární klíč musíme zvolit tak, aby byl pro každý řádek jedinečný, tzn. že primární klíč se nesmí nikde vyskytnout dvakrát. Nesmí se opakovat. Nebyla by pak splněna podmínka unikátnosti. Jako primární klíč se často používá u osob například rodné číslo, číslo sociálního pojištění, u právnických osob daňové identifikační číslo nebo je možné primární klíč automaticky generovat jako pořadové číslo. V databázi pak použijeme položku AUTO_INCREMENT. Primární klíč v diagramu zvýrazníme podtržením. Primární klíč se může skládat i z více atributů a tím naplnit podmínku jednoznačné identifikace.
- Vztah relace – ve fyzickém modelu se pak z relace stává vazební tabulka nebo cizí klíč. Zde je to zatím spojení mezi (dvěma nebo více) prvky modelu.
Celkový ERA model vidíme na obrázku.
+

Obr. 24. Ukázka ERA diagramu