Kovács Gergely Péter Az egyed-kapcsolat modell
Az egyed-kapcsolat diagram Az egyed-kapcsolat diagram egy grafikus szemléltető eszköz. Szemléletesen képes megadni az adatbázisok struktúráját.
Példa Tegyük fel, hogy egy könyvtár kölcsönzési nyilvántartását szeretnénk adatbázis segítségével kezelni. Ehhez nyilvántartást kell vezetnünk a könyvekről, az olvasókról, a kikölcsönzési dátumokról, a visszahozási dátumokról.
Az egyed és az egyedpéldány Egyedek azok az objektumok, amelyek adataival dolgozunk. Példánkban egyed a könyv és az olvasó. Az egyedek egy-egy konkrét előfordulását egyedpéldánynak nevezzük. Példánkban egyedpéldány egy-egy konkrét könyv és egy-egy konkrét olvasó.
A tulajdonság Tulajdonságnak nevezzük az egyed egy – a feladat szempontjából fontos – jellemzőjét. Példánkban a könyv egyed tulajdonsága lehet például a szerző és a cím.
Egyedi tulajdonság Egy könyvtárban egy könyvből gyakran több példány is található. A modellünk nem egyértelmű, ha egy könyvnek kizárólag a szerzőjét és a címét tároljuk. Az egyértelműség kedvéért a könyvekről tárolnunk kell egy egyedi azonosítót is, a könyvszámot.
Egyedi tulajdonság Az előbbiek alapján az olvasókról tárolnunk kell a nevüket, a címüket és az olvasószámukat.
A kulcs Egy egyed egy olyan tulajdonságát, amely egyértelműen meghatároz egy egyedpéldányt, az egyed kulcsának nevezzük.* Példánkban a könyv egyed kulcsa a könyvszám, az olvasó egyed kulcsa az olvasószám. *egyszerű kulcs
A kapcsolat Az egyedek közötti összefüggéseket kapcsolatnak nevezzük. Példánkban a könyv egyed és az olvasó egyed közötti kapcsolat a kölcsönzés. A kapcsolatok is rendelkezhetnek tulajdonságokkal. Példánkban ilyen tulajdonságok a kikölcsönzés dátuma és a visszahozás dátuma.
Az egyed-kapcsolat diagram Az egyedeket téglalappal jelöljük. A tulajdonságokat ellipszissel jelöljük. A kapcsolatokat rombusszal jelöljük. A kulcsokat aláhúzással jelöljük.* *elsődleges kulcs
Példa
A kapcsolatok típusai 1:1 kapcsolat 1:N kapcsolat N:M kapcsolat
Az 1:1 kapcsolat Az 1:1 kapcsolat olyan kapcsolat, ahol egy egyedpéldány egyszerre kizárólag egy egyedpéldánnyal állhat kapcsolatban és ez fordítva is igaz.
Példa Ha a magyar nők és a magyar férfiak közötti házastársi kapcsolatot szeretnénk modellezni, akkor 1:1 kapcsolatot kell alkalmaznunk. Egy férfinek egy felesége lehet. Egy nőnek egy férje lehet.
Az 1:N kapcsolat Az 1:N kapcsolat olyan kapcsolat, ahol egy egyedpéldány egyszerre akár több egyedpéldánnyal is kapcsolatban állhat, azonban ez fordítva nem igaz.
Példa Ha a muszlim nők és a muszlim férfiak közötti házastársi kapcsolatot szeretnénk modellezni, akkor 1:N kapcsolatot kell alkalmaznunk. Egy férfinek több felesége is lehet. Egy nőnek kizárólag egy férje lehet.
Az N:M kapcsolat Az N:M kapcsolat olyan kapcsolat, ahol egy egyedpéldány egyszerre akár több egyedpéldánnyal is kapcsolatban állhat és ez fordítva is igaz.
Példa Ha valamely törzshöz tartozó nők és férfiak közötti házastársi kapcsolatot szeretnénk modellezni, akkor N:M kapcsolatot kell használnunk. Egy férfinek több felesége is lehet. Egy nőnek több férje is lehet.
Példa Ha egy olvasó egyszerre egy könyvet kölcsönözhet ki és egy könyvet egyszerre egy olvasó kölcsönözhet ki akkor 1:1 kapcsolatot kell alkalmaznunk.
Példa Ha egy olvasó egyszerre több könyvet kölcsönözhet ki, de egy könyvet egyszerre egy olvasó kölcsönözhet ki akkor 1:N kapcsolatot kell alkalmaznunk.
Példa Ha egy olvasó egyszerre több könyvet kölcsönözhet ki és egy könyvet egyszerre több olvasó kölcsönözhet ki*, akkor N:M kapcsolatot kell alkalmaznunk. *például egy csoport
Jelölés Az 1:1 kapcsolat jelölése:
Jelölés Az 1:N kapcsolat jelölése:
Jelölés Az N:M kapcsolat jelölése:
Feladat Modellezd a házasság minden verzióját! Határozd meg az egyedeket, a tulajdonságokat, és a kapcsolatokat! Készítsd el az egyed-kapcsolat diagramokat!
Feladat Határozd meg, hogy milyen kapcsolatokkal lehet modellezni a következő jelenségeket: szülő-gyerek kapcsolat apa-fiú kapcsolat testvér-testvér kapcsolat nagymama-unoka kapcsolat facebook felhasználók közötti ismerősi kapcsolat város-polgármester kapcsolat
Feladat Keress példát 1:1, 1:N, illetve N:M kapcsolatra! Készítsd el az egyed-kapcsolat diagramokat!