Skip navigation

3. példa

Könyvtári adatbázis

Ebben a példában a könyvtári adatbázis egy változatának egyed-kapcsolat diagramját képezzük le relációs adatbázissémákká! Ebben a változatban a szerző többértékű attribútum, és egyben összetett attribútum is, mivel részattribútumokkal rendelkezik. Könyv szerzői kapcsán fontos lesz a szerzők sorszáma több szerző esetében.

A könyvtári adatbázis E-K diagramja

Kezdjük az egyedek leképezésével!

Az Olvasó egyedből relációs adatbázissémát készítünk és felvesszük az attribútumait. A séma kulcsa az egyed kulcsa lesz, vagyis az olvasójegy. Minden attribútum atomi, ezért különleges leképezési szabályt nem kell alkalmaznunk.

OLVASÓ(olvasószám, név, lackím, születési dátum)

A Könyv egyedet is hasonlóképpen képezzük le, de figyelünk arra, hogy a Szerzők többértékű attribútum, így azt külön sémába vesszük fel. Mivel összetett attribútum is, ezért a részattribútumaival helyettesítjük. A Szerzők sémába csak a szerzőnév, a sorszám és a Könyv egyed kulcsa, vagyis a könyvszám kerül, ami a Szerzők sémában külső kulcs lesz. A Szerzők táblában két összetett kulcs van, {könyvszám, sorszám} és {könyvszám, szerző}. Ebből a {könyvszám, szerző} attribútumpárt válaszjuk elsődleges kulcsnak.

KÖNYV( könyvszám, cím, kiadó, kiadási év)
SZERZŐK(könyvszám, sorszám, szerző)

A következő lépésben a kapcsolatot képezzük le. Először ennek is felveszünk egy relációs adatbázissémát. A sémába csak a kapcsolódó egyedek kulcsait vesszük fel, valamint a kapcsolati attribútumot ("kölcsönzés dátuma"). A séma kulcsa a "leltári szám" lesz, mivel 1:N kapcsolatról van szó, a könyv a kapcsolat N-oldalán van, és a való életben is úgy van, hogy egy kölcsönzött könyv alapján meg tudjuk mondani, hogy kinél van.

KÖLCSÖNZÉS(könyvszám, olvasószám, kölcsönzés dátuma)

Konszolidálás

Láthatjuk, hogy a KÖLCSÖNZÉS és a KÖNYV séma kulcsa megegyezik, ezért ez a két séma összevonható, vagyis a KÖNYV sémába olvasztjuk be a KÖLCSÖNZÉS-t. Lássuk, hogyan néz ki most az adatbázisunk!

KÖNYV (könyvszám, cím, kiadó, kiadási év, olvasószám, kölcsönzés dátuma)
OLVASÓ( olvasószám, név, lakcím, születési dátum)
SZERZŐK(könyvszám, sorszám, szerző)

Ezzel elkészültünk.