Adatbázisok kezelése


Új adatbázis létrehozása

A Microsoft Access segítségével új adatbázist kétféleképpen hozhat létre:

Az "Új adatbázis" adblakban elõször az adatbázis mappáját kell meghatározni (pl. C:\Temp), majd meg kell adni az adatbázis nevét (pl. kolcs.mdb).

Az új adatbázisnak elõször a tábláit kell megadni (az Adatbázis ablakban az Új gombra kattintva, majd a felkínált "Tábla Varázsló" gomb helyett egyszerûen az "Új Tábla" gombra kattintva), amely táblánként a megfelelõ mezõk adatainak (Mezõnév, Adattípus és Leírás) és tulajdonságainak (Mezõtulajdonságok) a meghatározását jelenti.

A táblák megadása után a táblanevek megjelennek az Adatbázis ablakban, ahol kiválasztásuk után lehetséges adatokkal való feltöltésük (Megnyitás) vagy módosításuk (Szerkesztés). A táblák közötti kapcsolatok a Szerkesztés menü Kapcsolatok... menüpontjában adhatóak meg, de ugyanez elérhetõ az ikonsorban a Kapcsolatok ikonra kattintva is.

Megjegyzés: a különbözõ Access verziók egyes részletekben eltérhetnek egymástól, ezt a fentiek kipróbálásakor természetesen figyelembe kell venni (a fenti példák a Microsoft Access 2.0 verzióját használva készültek).



Feladat: kölcsönzési adatbázis létrehozása

A Microsoft Access segítségével végezze el a következõ feladatokat (1-7):

  1. Ellenõrizze, hogy létezik-e a C:\Adatbázisok mappa a merevlemezen! Ha még nem létezik, hozza létre!
  2. Hozzon létre egy új adatbázist a C:\Adatbázisok mappában, amelynek a neve a saját nevével egyezik meg (pl. NagyMiklos.mdb)!
  3. Hozza létre az új adatbázisban a KONYV táblát, amelynek mezõi:
  4. Hozza létre az új adatbázisban az OLV táblát, amelynek mezõi:
  5. Hozza létre az új adatbázisban a KOLCS táblát, amelynek mezõi:
  6. Hozza létre az új táblák kapcsolatait az alábbi relációk alapján:
  7. Töltse fel 4-4 rekorddal az alábbi táblákat:


Feladat: videó adatbázis létrehozása

A Microsoft Access segítségével végezze el a következõ feladatokat (1-6):

  1. Hozza létre a C:\Adatbázisok mappában a FeladatXX adatbázist, ahol az XX helyébe írjon egy olyan számot, amilyen néven még nem létezik adatbázis!
  2. Hozza létre az új adatbázisban a SZINESZ táblát, amelynek mezõi:
  3. Hozza létre az új adatbázisban a FILMEK táblát, amelynek mezõi:
  4. Hozza létre az új adatbázisban a SZEREPLOK táblát, amelynek mezõi:
  5. Kapcsolja össze a táblákat a megfelelõ azonosítók azonos értéke alapján!
  6. Töltse fel a táblákat 5-5 értelmes rekorddal!

Lekérdezések készítése

Ha SQL nyelven akar lekérdezéseket megírni és lefuttatni, a következõképpen kell eljárnia:

  1. az Adatbázis ablakban válassza a Lekérdezések fület és kattintson az Új gombra
  2. az Új lekérdezés ablakban válassza az Új lekérdezés opciót (vagy újabb Access verziók esetén a Tervezõ nézetet)
  3. a Választó lekérdezés ablakban megjelenõ Tábla hozzáadása ablakot zárja be
  4. kattintson a felsõ ikonsorban megjelenõ SQL feliratú "SQL nézet"-re váltó ikonra (vagy a Nézet menüben válassza az SQL menüpontot)
  5. a Választó lekérdezés ablakban most már megírhat SQL nyelven egy lekérdezést
  6. a megírt lekérdezést lefuttathatja a felsõ ikonsor ! (felkiáltójel) jelû "Futtatás" elnevezésû ikonjára kattintva (vagy a Lekérdezés menüben válassza a Futtatás menüpontot)
  7. ha hibaüzenetet kapott, javítsa ki a hibát (pl. ha KONYVEK tablát írt KONYV tábla helyett, javítsa ki KONYV-re)
  8. olvassa el figyelmesen a lefuttatott lekérdezés eredményét,
  9. ha további lekérdezéseket akar SQL nyelven megfogalmazni és futtatni, váltson vissza SQL nézetre a felsõ ikonsor SQL feliratú ikonjára kattintva (újabb verziókban ez csak akkor jelenik meg, ha a "Tervezõ nézet" elnevezésû, vonalzót formáló ikon melletti, lefelé mutató nyílra kattint, és a feltáruló menübõl kiválasztja az SQL nézetre váltó menüpontot)
  10. ha pedig menteni akarja a lekérdezést, a felsõ ikonsor "Mentés" elnevezésû, floppyt formáló ikonjára kattintva, adjon meg egy nevet a lekérdezésnek a feltáruló Mentés másként ablakban (az elmentett lekérdezés a megadott néven az Adatbázis ablakban, a Lekérdezések fül mögött meg fog jelenni, és bármikor futtatható, ill. igény szerint módosítható lesz a Megnyitás, ill. a Tervezés gombokra kattintva).


1. feladatsor

Fogalmazza meg az alábbi lekérdezéseket SQL nyelven! SQL nézetben írja be, futtassa le, és mentse el õket Elsõ, Második, Harmadik, stb. néven a korábban készített (és a C:\Adatbázisok mappában az elõzõ feladatsor 2. pontja alapján a saját nevén, pl. NagyMiklós.mdb néven elmentett) adatbázisban (1-6):

Megjegyzés: a feladat megkönnyítése érdekében egyes
részfeladatok megoldásai megtalálhatóak a feladatok alatt.
Ha nincs meg az az adatbázis, amelyre szükség lenne,
az adatbázis tábláit DBASE III formátumban letöltheti innen:
KONYV
OLV
KOLCS
(a táblákat a Fájl menü importálás menüpontjával másolhatja be, azonban
az elsõdleges kulcsokat és a táblák kapcsolatait "kézzel" kell beállítania).
A teljes adatbázis tömörített formában letölthetõ innen.
  1. Írassa ki a könyvtárba szeptember hónapban befizetett késedelmi díjak teljes összegét „Késedelmi díjak” néven! (Feltéve, hogy a késedelmi díjakat a könyvek visszahozatalakor fizették be.)
  2. Írassa ki azokat az olvasójegy-számokat és neveket név szerint rendezve, amelyek az 1000 és 5000 közé esõ raktári jelzetû könyveket kölcsönzõ olvasókhoz tartoztak! (Ha egy olvasó több ilyen könyvet is kölcsönzött, az adatait csak egyszer írassa ki!)
  3. Írassa ki a 3000-es raktári jelzetû könyv raktári jelzetét, szerzõjét, címét, és a könyv legutóbbi 5 kölcsönzésének kiviteli és visszahozatali dátumát, dátum szerint csökkenõ sorrendben (tehát a legutóbbi kölcsönzés adatai legyenek az elsõ sorban)!
  4. Írassa ki a 2001.09.15. és 2001.10.15. között kikölcsönzött könyvek szerzõjét, címét és raktári jelzetét raktári jelzet szerint rendezve (ha egy könyv többször is szerepel, az adatait csak egyszer írassa ki)!
  5. Írassa ki a kikölcsönzött, lejárt határidejû és még vissza nem hozott könyvek raktári jelzetét, kiviteli dátumát és „Lejárat” néven a kölcsönzési idõ lejártának (várható) dátumát 15 nap kölcsönzési határidõt feltételezve!
  6. Írassa ki „Puk Kata” összes kölcsönzési adatát, kiviteli dátum szerint növekvõ sorrendben rendezve!


2. feladatsor

Az elõzõ feladatsorhoz hasonlóan oldja meg az alábbi feladatokat (1-6):

  1. Írassa ki "Könyvek száma" néven, hogy összesen hány példány található a könyvtárban a 3000 és 5000 közé esõ raktári jelzetû könyvekbõl!
  2. Írassa ki azokat az olvasójegy-számokat, amelyek az elmúlt két hét során 50 Ft-nál nagyobb összegû késedelmi díjat befizetõ olvasókhoz tartoznak!
  3. Írassa ki a 3000-es, 4000-es és 5000-es raktári jelzetû könyvek adatait!
  4. Írassa ki raktári jelzet szerint növekvõ sorrendben a 2001-ben kikölcsönzött könyvek raktári jelzetét, kölcsönzéseik számát, és azoknak a napoknak az összes és átlagos számát, ameddig az egyes könyvek kint voltak az olvasóknál! (Nyugodtan feltételezhetjük, hogy a 2001-ben történt kölcsönzések mindegyikét már lezárták, azaz rendelkeznek visszahozatali dátummal.)
  5. Írassa ki a szeptemberben visszahozott könyvek raktári jelzetét, szerzõjét és címét, valamint a kölcsönzés kiviteli és visszahozatali dátumát visszahozatali dátum szerint csökkenõ sorrendben rendezve!
  6. Írassa ki az F, G, ..., K betûvel kezdõdõ vezetéknevû olvasók összes adatát név szerint rendezve!


3. feladatsor

Az elõzõ feladatsorhoz hasonlóan oldja meg az alábbi feladatokat (1-6):

  1. Írassa ki azoknak az olvasóknak az olvasójegy-számát, akik a könyvtárba 2001-ben nullánál nagyobb összegû késedelmi díjat fizettek be, és „Késedelmi díjak” néven irassa ki az általuk befizetett késedelmi díjak összegét is nagyság szerint csökkenõ sorrendben! (Feltéve, hogy a késedelmi díjakat a könyvek visszahozatalakor fizették be.)
  2. Írassa ki a könyvtárba beiratkozott olvasók olvasójegy-számát, nevét és kölcsönzési adatait olvasójegy-szám, ezen belül raktári jelzet szerint rendezve! A kölcsönzési adatok tartalmazzák az egyes olvasók által kölcsönzött könyvek raktári jelzetét, és a könyv kölcsönzésének kiviteli és visszahozatali dátumát. (Valósítson meg laza illesztést a táblák között, tehát ha egy olvasó nem kölcsönzött, az olvasójegy-számát és nevét akkor is írassa ki!)
  3. Írassa ki a könyvtárban levõ könyvek raktári jelzetét, szerzõjét, címét, és kölcsönzéseinek számát "Kölcsönzések száma" néven, a kölcsönzések száma szerint csökkenõ sorrendben!  (Valósítson meg laza illesztést a táblák között, tehát azok a könyvek is jelenjenek meg a lekérdezésben nulla kölcsönzési számmal, amelyeket még nem kölcsönzött ki senki!)
  4. Írassa ki beágyazott alkérdéssel a legalább 5-ször kikölcsönzött könyvek szerzõjét, címét és raktári jelzetét raktári jelzet szerint rendezve!
  5. Írassa ki kiviteli dátum szerint fordított sorrendben rendezve a kikölcsönzött, lejárt határidejû és még vissza nem hozott könyvek raktári jelzetét, kiviteli dátumát, „Lejárat” néven a kölcsönzési idõ lejártának (várható) dátumát, és "Fizetendõ" néven a mai napig fizetendõ késedelmi díjat (15 nap kölcsönzési határidõt és 100 Ft/nap késedelmi díjat feltételezve)!
  6. Írassa ki egy paraméterként megadott vezetéknevû olvasó összes kölcsönzési adatát, valamint "Idõtartam" néven azt, mennyi ideig voltak a könyvek a megadott vezetéknevû ovasónál, ez utóbbi (tehát az idõtartam) szerint csökkenõ sorrendben elrendezve az adatokat (Alkalmazzon feltételes kifejezést az idõtartam kiszámításakor: ha a megadott olvasó még nem hozott vissza egy könyvet, akkor a visszahozatali dátum helyett a mai dátumot használja fel az idõtartam kiszámításakor)!


További feladatok

Az elõzõ feladatsorhoz hasonlóan oldja meg az alábbi feladatokat:

  1. Írassa ki ábécé sorrendben a könyvtárba beiratkozott olvasók nevét és foglalkozását, továbbá a könyvtárban levõ könyvek szerzõinek a nevét és a "szerzõ" szöveget egy lekérdezéssel (Ha egy szerzõ többször is elõfordul, csak egyszer írassa ki!)
  2. Írassa ki korrelált alkérdéssel azoknak az olvasóknak a nevét és olvasójegy-számát, akik még nem kölcsönöztek!
  3. Írassa ki beágyazott alkérdéssel azoknak az olvasóknak a nevét és olvasójegy-számát, akiknél legalább 3 lejárt könyvtartozás van (15 nap kölcsönzési határidõt feltételezve)!

Boda István, 2003. november 23.