Egyed-kapcsolat diagram

(Entity Relationship Diagram)

Az egyed-kapcsolat diagram a tárolandó adatok és kapcsolataik grafikus ábrázolására szolgál. Segítségükkel könnyen áttekinthető, a függőségi diagrammokkal ellentétben sok adatot tartalmazó, rendszervázlatot készíthetünk. Az egyed-kapcsolat diagram háromféle összetevőt tartalmaz:

Egyedek

Azok a természetben megtalálható elemek vagy elvont fogalmak, amelyek tulajdonságait (attribútumait) szeretnénk tárolni. Egyed lehetnek például személyek, berendezések, stb. Az egyedeket egy téglalappal ábrázoljuk, melyben felül megjelenik az egyed neve.

Az egyedek az azonos tulajdonságokkal (attribútumokkal) bíró csoportot jelképeznek, az adatbázisban egyes konkrét példányait tároljuk az egyednek.

Attribútumok

Az egyedeket az attribútumaikkal írjuk le. Az attribútum a legkisebb egység, amely az egyed egy tulajdonságát tárolja. Az attribútumokat az egyedek neve alatt soroljuk fel.

A kulcsokat kiemeljük aláhúzással vagy félkövér betűkkel. A több kulccsal, vagy összetett kulccsal rendelkező entitások nem egyértelműek, ezért célszerű csak az elsődleges kulcsot feltüntetni. Például a Tárgyalás egyed összetett kulccsal rendelkezik, míg a Jármű egyednek a Rendszám és az Alvázszám is kulcsa. Helyesebb a Jármű egyed egyik kulcsát jelölni csak.

Kapcsolat

Kapcsolat két különböző típusú egyed között lehetséges. Például:

Amíg az egyedek megnevezésében általában főneveket használunk, addig a kapcsolat leírására általában igéket használunk. A kapcsolatok három típusát különböztethetjük meg:

Az egy az egyhez kapcsolat esetén az egyik egyed egyik példányához egy és csak egy példányát kapcsoljuk a másik egyednek. A kapcsolatot a két egyed összekötésével ábrázoljuk.

A fenti kapcsolat azt fejezi ki, hogy egy hajónak egy kapitánya van, és egy kapitány egy hajónak a parancsnoka. Azaz egy hajónak nem lehet két kapitánya és egy kapitány nem lehet (legalább is egy időben) két hajónak a parancsnoka.

A kapcsolat mindkét végén kis merőleges szakasz vagy kör szerepelhet, ami a kapcsolat jellegére utal. A vonal a kapcsolat kötelező, a kör a kapcsolat opcionális voltára utal. Azaz a fenti Egyed-kapcsolat diagram azt fejezi ki, hogy minden kapitánynak van hajója és minden hajónak van kapitánya.

A fenti kapcsolatban a kör azt fejezi ki, hogy lehetnek olyan kapitányok, akiknek nincsen hajója.

Az egy a többhöz kapcsolat esetén az egyik egyed egyik példányához nulla vagy több példányát kapcsoljuk a másik egyednek.

Az egy a többhöz kapcsolat esetén is lehetnek kötelező vagy opcionális megjelölések. A fenti kapcsolaton szereplő körök azt fejezik ki, hogy lehetnek munkanélküliek és lehetnek alkalmazott nélküli cégek. A kapcsolaton megjelenhet a kapcsolatot kifejező szöveg.


A több a többhöz kapcsolat egy egyed példányaihoz egy másik egyed több példányát rendeli.

A fenti kapcsolat azt fejezi ki, hogy egy járművet több személy vezethet (persze nem egy időben), és egy személy több járművet vezethet. A több a többhöz kapcsolat a legtöbb esetben rejtett egyedet tartalmaz illetve az áttekinthetőséget, értelmezést zavarja. A több a többhöz kapcsolat egy újabb egyed beiktatásával és két egy a többhöz kapcsolattá alakítható át.

Előfordulhat, hogy egy egyed példányi között áll fent kapcsolat. Ezt rekurzív kapcsolatnak nevezzük. Ilyen lehet például a munkahelyi főnök - beosztott kapcsolat.

A hasonló tulajdonságokkal bíró egyedek általánosításával tisztább képet kaphatunk. Ez az egyed altípusainak a létrehozásával történik. Ez hasonló az objektum orientált tervezésekben használt öröklődésre.

Egyed kapcsolat diagramok létrehozásának segítésére programok is rendelkezésre állnak a nagyobb adatbáziskezelő rendszerekben. Ezek nem csak a diagram megrajzolására alkalmas, hanem abból általában az adattáblákat létrehozó SQL parancsfájl is elkészíthető.

Referenciák:

What is an Entity Relationship Diagram?

Mini szótár

angol magyar
entity egyed
attribute attribútum
relationship kapcsolat
one-to-one relationship egy az egyhez kapcsolat
one-to many relationship egy a többhöz kapcsolat
many-to-many relationship több a többhöz kapcsolat
sub-type altípus
recursive rekurzív
mandatory relationship kötelező kapcsolat
optional relationship opcionális kapcsolat