Kapitola3
Konceptuální úroveň modelování databází
3.1
ER diagram (entity-relationship diagram)
Tento diagram nám slouží k modelování entit a vztahů na konceptuální úrovni. Diagram má jako základní prvky entity, atributy, primární a cizí klíč, vztahy, násobnost a další. Postupně si uvedeme pro jednotlivé prvky příklady.
  • 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. Atributy zatím nemusíme uvádět. Modelují se až v logickém návrhu databáze v ERA diagramu. Chceme-li je ale přece jen z nějakého důvodu uvést, značí se v ER diagramu oválem.
  • Relace – přesněji je nazveme jako vztahy mezi relacemi. Značí se pomocí kosočtverce. Kosočtverec je umístěn na čáře spojující obě tabulky. Čára spojuje entity v relacích. U čáry mezi entitami bývá určena násobnost neboli kardinalita vztahu. Na jednotlivých začátcích nebo koncích může mít označení M a N nebo M a 1 nebo N a 1. Označení kardinality funguje stejným způsobem jako v diagramu tříd. Není-li uvedeno M ani N, je-li zobrazena jen prostá čára bez dalšího označení, je zde relace jedna ku jedné.
  • Kardinalita vztahů – je značena pomocí znaků M:N, M:1 a N:1, nebo není označena a v tom případě je považována za kardinalitu 1:1. Kardinalita je pro návrh databáze velmi důležitá. Můžeme říci, že je to jedna z nejdůležitějších a zároveň z nejsložitějších věcí v návrhu ER diagramu. Chyby v určení kardinality mohou vést k nekonzistentním a redundantní záznamům a také k záznamům duplicitních údajů. Databáze se může následně špatně udržovat a její rychlost může být velmi omezena. Pokud se nám ale naopak tento úkol podaří, získáme pravděpodobně velmi dobře navrženou, funkční a rychlou databázi.
+
22. Entita a zobrazení kardinality vztahu mezi relacemi
Obr. 22. Entita a zobrazení kardinality vztahu mezi relacemi
3.1.1
Postup při tvorbě diagramu
Podíváme se na postup a na podmínky, které je potřeba při tvorbě diagramu dodržet.
  1. Nejdůležitější je mít co nejpřesněji definované požadavky od zákazníka. Všechny požadavky mít jasné, zdokumentované a hlavně zákazníkem odsouhlasené.
  1. Pro tvorbu ER diagramu vycházíme z úvodní studie a z byznys modelování. Budeme vlastně rozpracovávat diagram aktivit a hlavně diagram tříd do větších detailů.
  1. Pracujeme v iteracích a k modelu se budeme několikrát vracet, doplňovat ho a případně i předělávat.
  1. Nejprve si definujeme entity. Vyjdeme ideálně z diagramu tříd.
  1. Definujeme k entitám atributy.
  1. Entity, které nemají atributy nebo nás k nim žádné atributy nenapadají, z diagramu můžeme vyřadit nebo je můžeme použít jen jako atributy jiné entity.
  1. Přidáme k entitám vztahy.
  1. Je vhodné si vybrat jen ty vztahy, které vyplývají z požadavků zákazníka a které budeme potřebovat. Nemodelujeme všechny vztahy, které nás napadnou, diagram by pak byl nepřehledný.
  1. Přidáme relace a kardinalitu vztahu. Ideální kardinalita je jedna ku N. Relace N:M je většinou příliš složitá. Relace 1:1 je dosti neobvyklá. U takového vztahu se podívejte, nejedná-li se místo dvou o jedinou entitu.
  1. Určíme klíčové atributy.