Skip navigation

Projektmunka

Könyvtári adatbázis tervezése

Feladatleírás:

Az előző fejezetben elkészítettük a könyvtári adatbázis  egyed-kapcsolat diagramját, ezzel az adatbázis logikai modelljét. Képezzük le most relációs adatbázissémákká!

A könyvtári adatbázis egyed-kapcsolat diagramja
A könyvtári adatbázis egyed-kapcsolat diagramja

A leképezés menete:

  1. Egyedek és attribútumaik leképezése:
    • Az OLVASÓ egyedet egyszerűen le tudjuk képezni, felvesszünk egy OLVASÓ relációsémát és felsoroljuk az atttribútumait.
    • A KÖNYV egyednek is felveszünk egy relációs adatbázissémát, és az egyszerű attribútumait felsoroljuk.
    • A SZERZŐK többértékű attribútum, ráadásul összetett is, ezért felveszünk neki egy új relációs adatbázissémát amiben feltüntetjük a részattribútumait valamint a KÖNYV séma kulcsát, a könyvszámot. Meg kell állapítanunk, hogy az attribútumok mely részhalmaza lesz kulcs.
      • a könyvszám önmagában nem, mert egy könyvnek több szerzője lehet
      • a szerzőnév önmagában nem, mert több könyvpéldánynak is lehet ugyanaz a személy szerzője
      • a sorszám önmagában nem, mert ugyanaz a sorszám (pl. 1 minden könyv esetében előfordul)
      • a {könyvszám, szerzőnév} kulcs, mert egy adott könyvpéldány esetén egy szerző csak egyszer szerepel a szerzőlistában
      • a {könyvszám, sorszám} kulcs, mert egy könyv esetében egy sorszámmal biztonsan csak egy szerző lesz
      • a {szerzőnév, sorszám} nem, mert több könyvpéldán esetében előfordulhat ugyanaz az adatpáros.
      • a {könyvszám, sorszám, szerzőnév} szuperkulcs, de nem kulcs, mert van szűkebb kulcs részhalmaza
  2. Kapcsolatok leképezése:
    • Egyetlen kapcsolat a kölcsönzés, felveszünk neki egy relációs adatbázissémát, amelyben feltüntetjük a saját kapcsolati attribútumait, valamint a kapcsolódó egyedek kulcsait. Meg kell állapítanunk a séma kulcsait:
      • a kölcsönzés időpontja önmagában nem kulcs, mert több kölcsönzés lehet egyidejűleg
      • a visszahozta (visszahozás időpontja) önmagában nem kulcs, mert ugyanabban az időpontban több könyvet vissza lehet hozni
      • az olvasószám önmagában nem kulcs, mert egy olvasó több könyvet is kikölcsönözhet
      • a könyvszám önmagában nem kulcs, mert ugyanazt a könyvet többször is kikölcsönözhetik
      • a {könyvszám, olvasószám} nem kulcs, mert ugyanaz az olvasó többször kiveheti ugyanazt a könyvet
      • a {könyvszám, kölcsönzés időpontja} kulcs, mert egy könyvet egy adott időpontban csak egy olvasó vehet ki
      • a {könyvszám, visszahozta} kulcs, mert ez a két adat is egyértelműen azonosítja a rekordot
      • az {olvasószám, kölcsönzés időpontja} nem kulcs, mert egy olvasó több könyvet is kivehet egyidejűleg
      • az {olvasószám, visszahozta} nem kulcs, mert egy olvasó visszahozhatja egyszerre az egyszerre kölcsönzött könyveit
      • ... hasonlóan vizsgáljuk meg a három- és négy attribútumot tartalmazó halmazokat.
  3. Konszolidálás:
    • Ha van két olyan relációs adatbázissémánk, amelyek kulcsai megegyeznek, akkor azokat összevonjuk.