Skip navigation

1. példa

Könyvtári adatbázis

Tervezzünk egy könyvtári adatbázist! A könyvtárban a könyveket leltári számmal látják el, amelyek egyértelműen azonosítja a könyv példányt. Egy adott könyvből több példány is rendelkezésre áll a könyvtárban. A leltári számon túl a könyvről eltárolják a könyv címét, szerzőit (mivel lehetséges, hogy több szerzője van a könyvnek), az ISBN számát, a kiadót és a kiadási évet. A könyvtári adatbázisban eltárolják az olvasókat is. Minden olvasó egyedi olvasószámmal rendelkezik, ezen kívül néhány személyes adatot (név, születési év, lakcím, telefonszám) is eltárolnak. A lakcím egyetlen szöveges bejegyzés. Csak az aktuális kölcsönzéseket tartják nyilván a kölcsönzés dátumát is feljegyezve. Megjegyezzük továbbá, hogy egy olvasó egyszerre több könyvet is kölcsönözhet.

Határozzuk meg az egyedeket. A könyv és az olvasó biztosan egyed lesz, mivel azoknak vannak olyan attribútumaik, amelyek egyértelműen azonosítják az egyes példányokat. A könyv egyed kulcsa a leltári szám lesz, az olvasókat pedig az olvasószám azonosítja egyértelműen. A kölcsönzés egy kapcsolat lesz, mivel ez egy reláció a könyvek és az olvasók között. Felmerül a kérdés, hogy a kölcsönzés dátumát hová soroljuk. Ez vagy a könyv egyedhez sorolható, vagy pedig kapcsolati attribútum lehet. Ha azt az elvet követjük, hogy az egyedekhez lehetőleg csak az őt jellemző attribútumokat kössük, akkor célszerű a második megoldást választani, vagyis, hogy a kölcsönzés dátuma kapcsolati attribútum lesz.

Honnan tudjuk, hogy az adatbázis a szerzőket úgy tartja nyilván, hogy egy könyvhöz több szerzőt is fel tudunk tüntetni? Ez a szerzők attribútumnál látszik, ugyanis azt többértékűnek jelöltük.

Hol tárolódik az az információ, hogy egy olvasó egyszerre több könyvet is kivehet? Ez a kapcsolat típusában rejlik, az E-K diagramba 1:N kapcsolatot rajzoltunk be, az "1-es" vége az olvasó felé mutat. Ez azt jelenti, hogy ha kapcsolat irányát az olvasótól a könyv felé nézzük, akkor láthatjuk, hogy egy olvasóhoz több könyv példány is tartozhat. Fordítva pedig ha ismerjük a könyv példányt akkor az legfeljebb egy olvasónál lehet.