Entitno - Relačný Diagram

Z Kiwiki
Skočit na navigaci Skočit na vyhledávání

Definícia: Entitno-relačný diagram (ER, ERD, ER diagram) je špeciálny graf, ktorý naznačuje vzťahy medzi subjektmi v databáze. V ER diagramoch sa používajú symboly predstavujúce základné typy informácií: boxy (obdĺžniky) reprezentujú entity, atribúty sú reprezentované oválmi, ktoré sú spojené s entitou, alebo je názov atribútu priamo vpísaný do značky pre entitu. Vzájomné vzťahy, resp. relácie medzi entitami sú vyjadrené buď značkou malého kosoštvorca, alebo jednoduchým prepojením 2 entít pomocou úsečky.

Základné pojmy

Entita.
Entita je špecifickým predmetom záujmu z oblasti reálneho sveta. Ako príklad uvedieme účtovný systém, kde sú nevyhnutné dve veci: účty a transakcie. Ako ďalší príklad môže byť napr. systém zákazníckej podpory, kde potrebujeme informácie o zákazníkoch. Každá takáto jednotka základných informácií sa nazýva 'entita', ktorá má určitý názov a obsahuje atribúty (vlastnosti entity).
Atribút.
Každá entita obsahuje jeden alebo viac atribútov. Atribúty si môžeme predstaviť ako malé kusy informácií v rámci entity. Spolu popisujú entitu do takej miery, ako je to nevyhnutné. Príkladom môže byť entita zákazník:
  • Zákazník
    • zákaznícke číslo
    • krstné meno
    • priezvisko
    • kontakt
Názov entity je Zákazník a obsahuje 4 atribúty: zákaznícke číslo, krstné meno, priezvisko a kontakt.
Relácia.
V relačnej databáze majú všetky subjekty medzi sebou určitú väzbu, ktorá je vyjadrená ako vzťah. Relácia je väzba medzi subjektami[1].
Doména.
Doména je pomenovaná množina skalárnych hodnôt rovnakého typu. Je to vlastne typ atribútu. Rozoznávame celočíselný, reálny, textový, dátumový a binárny typ.


Postup pri tvorbe ERD

Keďže pomocou ER diagramu opisujeme určitú časť reality, je potrebné si na úvod zadefinovať tú časť reality, ktorú budeme modelovať. [2]

Postup pri tvorbe ERD

  1. Definovať entity.
  2. Definovať vzťahy.
  3. Pridať entitám atribúty.
  4. Reláciám definovať kardinalitu.
  5. Reprezentovať navrhnutú schému pomocou grafických symbolov.

Grafické vyjadrenie ERD

V súčasnosti sa požíva mnoho grafických vyjadrení pre modelovanie dát. Jeden z najpoužívanejších spôsobov je práve ER diagram. Ako bolo spomenuté pri ERD používame pojmy entita a relácia. Aj pre zápis ER diagramov existuje viacero spôsobov vyjadrenia. Spomenieme napríklad techniky:

  • Bachman-ov zápis[3],
  • EXPRESS[4],
  • IDEF1X[5],
  • Martin-nov zápis[6],
  • zápis pomocou UML class diagramov[7],
  • zápis Crow's foot[8].

Spôsob zápisu ER diagramov Crow's foot dovoľuje vyjadriť vzájomné vzťahy jednoduchými symbolmi. V nasledujúcom texte bude vysvetlený tento spôsob zápisu entitno-relačných diagramov.

Entita

Každá entita má meno, čo je podstatné meno a atribúty, ktoré opisujú vlastnosti entity. Entita taktiež obsahuje identifikátor, ktorý jednoznačne identifikuje inštancie entity. Atribút, ktorý slúži ako identifikátor je označený hviezdičkou.

Na nasledujúcom obrázku je entita Mesto, ktorá reprezentuje ľubovoľné mesto. Pre identifikáciu mesta navrhujeme jeho atribúty: Názov, PSČ, počet obyvateľov daného mesta a informáciu o krajine, v ktorej sa nachádza. Pre jednoznačnú identifikáciu mesta ešte pridáme identifikačné číslo.

Príklad entity Mesto

Relácia

Relácia ilustruje spojenie medzi dvoma entitami. To má meno, ktoré je sloveso. Pri relácii je taktiež definovaná kardinalita, resp. mohutnosť a modalita.

Relácia medzi dvoma entitami

Mohutnosť a modalita

Mohutnosť sa vzťahuje na maximálny počet, koľkokrát môže byť jedna inštancia entity prepojená s inštanciami súvisiacej entity. Modalita hovorí o minimálnom počte, koľkokrát sa jedna inštancia entity vyskytne vo vzájomnom vzťahu so súvisiacou entitou.

Mohutnosť môže byť 1 alebo mnoho. Symbol, ktorý toto určuje je na konci čiary definujúcej reláciu medzi dvoma entitami. Modalita môže byť 1 alebo 0. Symbol modality je umiestnený vedľa symbolu pre mohutnosť.

relácia 0 alebo viac
relácia 1 alebo viac

Pre modalitu 1 je na konci prepojovacej čiary krátka kolmá úsečka. Pre mohutnosť mnoho je nakreslená na konci prepojovacej čiary 'trojnožka'. Pre modalitu 1 nie je žiaden symbol. Pre modalitu 0 sa nakreslí prázdny krúžok.

relácia práve 1
relácia 0 alebo 1


Mohutnosť a modalita sú označené na oboch koncoch linky definujúcej vzájomnú reláciu vzťah. Poznáme vzťahy 1:1, 1:N, M:N. Príklady týchto vzťahov sú ukázané na nasledujúcich obrázkoch:

Relácia 1:1 s povinným členstvom

Študent zaberie (resp zoberie) jedno miesto. Ide o vzťah 1:1. Jeden študent môže vyplniť maximálne 1 miesto. Jedno miesto môže byť obsadené maximálne 1 študentom. Každá strana má vzťah mohutnosti 1. Modalita na každej strane je tiež 1. Študent musí vyplniť aspoň 1 miesto a 1 miesto musí byť vyplnené aspoň jedným študentom. Hoci sa môže zdať možné mať prázdne miesto (v tomto prípade by bola modalita 0), pravidlá, ktoré sme definovali pre náš model to nedovoľujú - nechceme aby sme ukladali informáciu o voľných miestach.

Relácia N:1 s povinným členstvom

Učiteľ učí kurz. Toto je vzťah 1:M. Jeden učiteľ môže vyučovať veľa kurzov, ale samozrejme jeden kurz môže učiť viac učiteľov. Modalita je 1 na oboch koncoch vzťahu. Podľa nami definovaných pravidiel sme určili pravidlo - učiteľ musí učiť aspoň 1 kurz a samozrejme kurz musí byť učený aspoň 1 učiteľom.

Relácia N:M s povinným členstvom

Študent chodí na kurz. Jedná sa o vzťah M:N. Jeden študent môže navštevovať viacero kurzov a na jeden kurz môže byť prijatých viacero študentov. Diagram ďalej hovorí, že študent musí mať zapísaný minimálne jeden kurz a na kurz musí chodiť minimálne jeden študent aby bol otvorený. Modalita je na oboch stranách 1.

Relácia N:1 s nepovinným členstvom

Profesor učí časti kurzu. To je vzťah 1:M. Jeden profesor môže učiť veľa častí kurzov a jedna časť kurzu môže byť vyučovaná jedným učiteľom. Modalita tohto vzťahu: profesor nemusí učiť žiadnu časť kurzu, takže modalita je nula. Na druhej strane vzťahu, danú časť kurzu musí učiť jeden učiteľ.

Zdroje a odkazy