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):
-
Ellenõrizze, hogy létezik-e a C:\Adatbázisok mappa
a merevlemezen! Ha még nem létezik, hozza létre!
-
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)!
-
Hozza létre az új adatbázisban a KONYV táblát,
amelynek mezõi:
-
Hozza létre az új adatbázisban az OLV táblát,
amelynek mezõi:
-
Hozza létre az új adatbázisban a KOLCS táblát,
amelynek mezõi:
-
Hozza létre az új táblák
kapcsolatait az alábbi relációk alapján:
-
OLV.OLVJ=KOLCS.OLVJ (1:N)
-
KONYV.RAKTJ=KOLCS.RAKTJ (1:M)
-
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):
-
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!
-
Hozza létre az új adatbázisban a SZINESZ táblát,
amelynek mezõi:
-
AZON (azonosító; szám (hosszú egész)
típusú mezõ; indexelt (nem lehet azonos); elsõdleges
kulcs)
-
NEV (név; 50 karakter szélességû szöveges
típusú mezõ)
-
NEM (nem; egy karakter szélességû szöveges típusú
mezõ [f: férfi; n: nõ])
-
SZULDAT (születési dátum; dátum típusú
mezõ)
-
NEMZ (nemzetiség; 20 karakter szélességû szöveges
típusú mezõ)
-
Hozza létre az új adatbázisban a FILMEK táblát,
amelynek mezõi:
-
AZON (azonosító; szám (hosszú egész)
típusú mezõ; indexelt (nem lehet azonos); elsõdleges
kulcs)
-
CIM (film címe; 30 karakter szélességû szöveges
típusú mezõ)
-
DATUM (megjelenés dátuma; dátum típusú
mezõ)
-
RENDEZO (rendezõ neve; 50 karakter szélességû
szöveges típusú mezõ)
-
Hozza létre az új adatbázisban a SZEREPLOK
táblát, amelynek mezõi:
-
FAZON (film azonosítója; szám (hosszú egész)
típusú mezõ; összetett kulcs része)
-
SZAZON (színész azonosítója; szám (hosszú
egész) típusú mezõ; összetett kulcs része)
-
Kapcsolja össze a táblákat a megfelelõ azonosítók
azonos értéke alapján!
-
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:
-
az Adatbázis ablakban válassza a Lekérdezések
fület és kattintson az Új gombra
-
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)
-
a Választó lekérdezés ablakban megjelenõ
Tábla
hozzáadása ablakot zárja be
-
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)
-
a Választó lekérdezés
ablakban most már megírhat SQL nyelven egy lekérdezést
-
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)
-
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)
-
olvassa el figyelmesen a lefuttatott lekérdezés
eredményét,
-
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)
-
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.
-
Í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.)
-
Í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!)
-
Í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)!
-
Í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)!
-
Í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!
-
Í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):
-
Í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!
-
Í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!
-
Írassa ki a 3000-es, 4000-es és 5000-es raktári jelzetû
könyvek adatait!
-
Í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.)
-
Í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!
-
Í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):
-
Í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.)
-
Í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!)
-
Í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!)
-
Í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!
-
Í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)!
-
Í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:
-
Í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!)
-
Í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!
-
Í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.