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.
![](konyvtar_pelda_osszetett.jpg)
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.