Diagram entít a vzťahov je špecializovaná grafika, ktorá ilustruje vzťahy medzi entitami v databáze. ER diagramy používajú symboly na reprezentáciu troch typov informácií: entity (alebo koncepty), vzťahy a atribúty.
Čo sú diagramy vzťahov medzi entitou?
V štandardných ER diagramoch predstavujú obdĺžniky alebo štvorce entity, čo sú tabuľky, ktoré obsahujú špecifické informácie v databáze. Diamanty predstavujú vzťahy, ktoré predstavujú interakcie medzi entitami. Ovály predstavujú atribúty alebo údaje, ktoré popisujú entitu.
Hoci diagramy vzťahov medzi entitami môžu vyzerať komplikovane, tieto diagramy pomáhajú skúseným používateľom porozumieť databázovým štruktúram na vysokej úrovni bez sprievodných podrobností. Návrhári databáz používajú ER diagramy na modelovanie vzťahov medzi databázovými entitami v prehľadnom formáte. Mnoho softvérových balíkov má automatizované metódy na generovanie ER diagramov z existujúcich databáz.
Príklad diagramu vzťahu entita
Zvážte príklad databázy, ktorá obsahuje informácie o obyvateľoch mesta. Diagram ER zobrazený na obrázku nižšie obsahuje dve entity v obdĺžnikoch: „Osoba“a „Mesto“. Jediný vzťah „Lives In“v diamante ich spája. Každá osoba žije len v jednom meste, ale v každom meste môže bývať veľa ľudí. Vo vzorovom diagrame sú atribúty zobrazené v ováloch meno osoby a počet obyvateľov mesta.
Podstatné mená sa používajú na opis entít a atribútov, zatiaľ čo slovesá sa používajú na opis vzťahov.
Entity sú objekty, ktoré sa sledujú
Každá položka, ktorá je sledovaná v databáze, je entita a každá entita je tabuľka v relačnej databáze. Zvyčajne každá entita v databáze zodpovedá riadku.
Ak databáza obsahuje mená ľudí, jej entita sa môže nazývať „Osoba“. V databáze by existovala tabuľka s rovnakým názvom a každá osoba by bola priradená k riadku v tabuľke „Osoba“.
Atribúty opisujú entity
Databázy obsahujú informácie o každej entite. Tieto informácie sa označujú ako atribúty. Atribúty pozostávajú z informácií jedinečných pre každú uvedenú entitu. V príklade „Osoba“môžu atribúty zahŕňať krstné meno, priezvisko, dátum narodenia a identifikačné číslo.
Atribúty poskytujú podrobné informácie o entite. V relačnej databáze sú atribúty uchovávané v poliach, kde sa uchovávajú informácie v zázname. Databáza nie je obmedzená na konkrétny počet atribútov.
Vzťahy držia údaje pohromade
Hodnota diagramu entít a vzťahov spočíva v jeho schopnosti zobraziť informácie o vzťahoch medzi entitami. V príklade je možné sledovať informácie o meste, kde každý človek žije. Je možné sledovať aj informácie o meste v entite „Mesto“so vzťahom, ktorý spája informácie „Osoba“a „Mesto“.
Existujú tri typy vzťahov medzi entitami:
- One-to-One: Niekedy je jedna entita spojená s jednou ďalšou entitou. Napríklad každý zamestnanec v databáze má iba jedno číslo sociálneho poistenia a toto číslo je jedinečné.
- One-to-Many: Jedna entita môže súvisieť aj s niekoľkými ďalšími entitami. Napríklad pobočka spoločnosti a všetci zamestnanci, ktorí v danej pobočke pracujú, majú vzťah jeden k mnohým.
- Many-to-Many: Viaceré entity môžu súvisieť s viacerými ďalšími entitami. Napríklad spoločnosť môže vyrábať tri produkty a má predajný personál, ktorý tieto produkty predáva. Niektorí pracovníci predaja môžu rozdeliť svoj čas medzi produkty.
Ako vytvoriť ER diagram
Skôr ako navrhnete relačnú databázu, má zmysel vytvoriť ER diagram. Môžete mať softvér, ktorý je vybavený na zvládnutie tohto procesu. Ak nie, priložte pero (alebo ceruzku) na papier alebo nájdite softvérový program, ktorý zvládne požiadavky na vytváranie grafov.
Ručné vytvorenie ER diagramu:
- Vytvorte obdĺžnikové pole pre každú entitu alebo koncept relevantný pre váš model.
- Nakreslite čiary na prepojenie súvisiacich entít na modelovanie vzťahov. Označte vzťahy pomocou slovies vo vnútri kosoštvorcových tvarov.
- Identifikujte príslušné atribúty pre každú entitu, počnúc najdôležitejšími atribútmi, a zadajte ich do oválu v diagrame. Neskôr môžete zoznam atribútov spresniť.
Keď skončíte, ilustrovali ste, ako sa rôzne koncepty navzájom týkajú, a máte koncepčný základ pre návrh relačnej databázy.