Log inRegister
You are here: Mithrandir » ERModelling

ER diagramok felépítése, jelölési módok

Az egyed-kapcsolat diagram a tárolandó adatok (egyedek és tulajdonságok) valamint kapcsolataik grafikus ábrázolására szolgál.

Egyedek

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

er01.png

Egyedtípusok

  • Erős egyedtípus: Amelyet egyértelműen tudunk azonosítani. Van azonosító jellegű tulajdonsága (pl.: könyvet az ISBN szám segítségével azonosíthatunk).
    Jelölése: téglalapban az egyed neve.
  • Gyenge egyedtípus: A tulajdonságai nem határozzák meg egyértelműen, csak a kapcsolatai révén lesz meghatározott. (pl.: számítógép szervizben a számítógépet a tulajdonosával azonosítják).
    A gyenge típusú egyednek nincs azonosító tulajdonsága (bár az adatbázis kialakításakor célszerű rekordazonosítót használni).
    Jelölése: duplavonallal rajzolt téglalapban az egyed neve.
er02.png

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

Tulajdonságok (attribútumok)

Az egyedeket tulajdonságaikkal írjuk le. A tulajdonságok lehetnek
  • Leírók: csak az egyed jellemzésében vesznek részt.
    Jelölése: elipszisben a tulajdonság neve.
  • Azonosítók: egyértelműen meghatározzák az egyed egy előfordulását (pl. könyv ISBN száma).
    Jelölése: elipszisben a tulajdonság neve aláhúzva és/vagy félkövéren.
    Amennyiben több ilyen tulajdonság azonosít egy egyedet, az összetartozó tulajdonságokat szaggatott vonallal kötjük össze.
  • Összetett tulajdonság: a tulajdonság résztulajdonságokból áll (pl.: lakcím - helység, utca, házszám, irsz).
    Jelölése: a fő tulajdonság ellipsziséhez kapcsolódó ellipszisekkel.
  • Többértékű tulajdonságok: egy egyed-előforduláshoz köthetően több értéke is lehet az adott tulajdonságnak (pl.: egy könyvnek több szerzője is lehet).
    Jelölése: duplavonallal rajzolt elipszisben a tulajdonság neve.
  • Származtatott tulajdonság: olyan tulajdonság, amelynek értéke más tulajdonságokból vezethető le (pl.: a település neve származtatható az irányítószámból).
    Jelölése: szaggatott vonallal rajzolt elipszisben a tulajdonság neve.
  • Kötelező és opcionális tulajdonságok.
    Jelölése: nem jelölhető az egyed-kapcsolat diagramokban.
er03.png

er04.png

Kapcsolat

Kapcsolat két egyed között lehetséges. Például:

  • Személy járművet vezet
  • Személy részt vesz a tárgyaláson

Kapcsolat leírása

A tulajdonságok lehetnek leíró vagy azonosító jellegűek,

Kapcsolatokat ábrázolhatunk megnevezéssel vagy anélkül, célszrű a kapcsolat irányától függően mindkét egyed szempontjából definiálni. Amíg az egyed megnevezésében általában főneveket használunk, addig az iránytól függő leírásra általában igéket használunk.

er07.png

Kapcsolat számosságának jelzése

Két egyedtípus egyed-előfordulásai közötti viszony számosságát adja meg. Attól függően, hogy az egyik egyedtípus egyed-előfordulásához hány egyed-előfordulás kapcsolódik a másik egyedtípusból, három esetet különböztetünk meg:

  • Egy az egyhez kapcsolat (1:1)
    Az egyik egyedtípus egyed-előfordulásai a másik egyedtípus legfeljebb egy egyed-előfordulásával létesítenek kapcsolatot (pl.: személy és személyigazolvány egyedtípusok között).
    Jelölése: a kapcsolatot jelző szálat mindkét végén derékszögben keresztező folyamatos vonal.
  • Egy a többhöz kapcsolat (1:n)
    Az egyik egyedtípus egyed-előfordulása a másik egyedtípus több egyed-előfordulásához kapcsolódik (pl.: megye és a települések között).
    Jelölése: a kapcsolatot jelző szál egyik végén "szarkaláb" jelzi, hogy melyik egyedből tartozhat több a másik egyedhez, a másikon derékszögben keresztező folyamatos vonal.
  • Több a többhöz kapcsolat (n:m)
    A több a többhöz kapcsolat egy egyed példányaihoz egy másik egyed több példányát rendeli (pl.: könyvek és az olvasók kapcsolata).
    Jelölése: a kapcsolatot jelző szál mindkét végén "szarkaláb".
  • Rekurzív (egyváltozós) kapcsolat:
    Egy egyedtípus előfordulásai saját egyedtípusuk előfordulásaihoz is kapcsolódhatnak (pl.: a személyeknél a házastársi kapcsolat). A számosságot itt is jelölni kell.
    Jelölése: folyamatos vonal, ami visszamutat az egyedre. A megfelelő oldalon szarkaláb jelezheti a számosságot.
er06.png

Kapcsolatok opcionalitásának jelölése

  • Opcionális egyes kapcsolat: nulla vagy egy kapcsolat lehetséges.
  • Opcionális többes kapcsolat: nulla vagy több kapcsolat lehetséges.
  • Kötelező egyes kapcsolat: egy kötelező kapcsolat.
  • Kötelező többes kapcsolat: egy vagy több kapcsolat.
Jelölése: a számosság jelzése mellett kör jelzi, ha opcionális, függőleges vonal, ha kötelezően kapcsolódik az adott elem a másikhoz.

er05.png

Kapcsolati egyed

Több a többhöz kapcsolat típusú viszony adatbázisban történő megvalósításakor egy új egyedet hozunk létre. Például egy vásárlás modellezésekor egy eladó több vevőt is kiszolgálhat, illetve egy vevő több eladótól is vásárolhat, ezért a két egyed viszonya több : több típusú. Az Eladó és a Vevő egyedeket az Eladás kapcsolat köti össze, amelynek saját tulajdonságai is vannak. A vásárlás dátuma és a vásárolt termék tulajdonságok ezt az eseményt jellemzik. Vagyis nem kapcsolható külön sem az Eladó sem a Vevő egyedekhez. Megjegyzés: Az ilyen (N:M) típusú viszony adatbázisban történő megvalósításakor egy új egyedet hozunk létre.

Ez a kapcsoló egyed tartalmazni fogja a kapcsolatot jellemző tulajdonságokat és a kapcsolt egyedek azonosítóit.
Jelölése: egy vonallal rajzolt paralelogramma, benne a kapcsolat nevével (ami egy főnév).

er11.png

Sokban hasonlít ez egy valódi egyedre (lehet neve, tulajdonsága), de fontos eltérés, hogy a számosságot és az opcionalitást a kapcsolati egyed mellett nem jelöljük, csak az egyednél.

Gyenge (más néven azonosító) kapcsolat

Előfordul, hogy egy egyed nem létezhet egy másik egyed nélkül (pl.: telefonszám - tulajdonos kapcsolat). Az adatbázisban jellemzően egy távoli kulcsot használunk ilyenkor egyedi kulcsként.
Jelölése: dupla vonallal rajzolt paralelogramma.

er10.png

Teljes vagy részleges kapcsolatok

Fentieken kívül megkülönböztetünk még teljes vagy részleges kapcsolatot:
  • Teljes a kapcsolat: ha az adott egyedtípus minden egyed-előfordulása részt vesz a kapcsolatban (pl.: megye - település).
    Minden megyéhez tartozik település és minden település tartozik valamelyik megyéhez. Nincs olyan megye, amelyhez ne tartozna település és nincs olyan település amelyhez ne tartozna megye.
    Jelölése: folytonos vonal.
  • Részleges vagy opcionális a kapcsolat: ha az egyedtípus nem minden előfordulása vesz részt a kapcsolatban (pl.: személy - személyigazolvány)
    Van olyan személy egyed-előfordulás, amelyhez nem tartozik a személyigazolvány egyedtípusból előfordulás (pl.: gyermekek).
    Jelölése: a teljes oldalról folytonos, az opcionális oldal felől szaggatott vonal.
er08.png

Egymást kölcsönösen kizáró kapcsolat típusa

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.

Egyes esetekben egyes kapcsolatok kölcsönösen kizárhatják egymást. Általában egy egyedből kiindulva ugyanlyan nevű kapcsolatok indulnak hasonló tulajdonsábú más egyedek felé, melyek sok esetben a kiinduló egyed altípusai.

Jelölése több féle lehet, mi a yEd korlátai miatt egy kis kört használunk az ilyen típusú kapcsolat jelöléséere.

er09.png

Adatmodell és adatbázis felépítését bemutató ábra

Nagyon fontos kiemelni egy fontos eltérést az adatmodell és az adatbázis felépítését bemutató ábra között: mivel a relációs adatbázisban csak kapcsolótábla segítségével lehet több a többhöz kapcsolatot megvalósítani, így az SQL tábla felépítését ábrázoló ER diagram nem tartalmazhat n:m kapcsolatot, míg az adatmodellben ez természetesen megjelenhet, függetlenül a fizikai megvalósítástól.

Miniszótár

  • entity/relationship: egyed/kapcsolat
  • entity: egyed
  • weak entity: gyenge egyed
  • attribute: tulajdonság
  • multivalued attribute: többértékű tulajdonság
  • composite attribute: összetett tulajdonság
  • derived attribute: származtatott tulajdonság
  • relationship: kapcsolat
  • weak relationship: gyenge 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
  • mandatory relationship: kötelező kapcsolat
  • optional relationship: opcionális kapcsolat
  • recursive relationship: rekurzív kapcsolat
  • unary relationship: egyváltozós kapcsolat
  • binary relationship: kétszereplős kapcsolat
  • ternary relationship: háromszereplős kapcsolat
  • mutually exclusive relationship: egymást kölcsönösen kizáró kapcsolat típusa
  • cardinality: számosság
  • sub-type: altípus
  • primary key: elsődleges kulcs
  • *foreign key kiss távoli kulcs