Nádasiné Rákossy Gabriella
Adatbázis-kezelés Lekérdezések, jelentések készítése
A követelménymodul megnevezése:
Informatikai ismeretek A követelménymodul száma: 1155-06 A tartalomelem azonosító száma és célcsoportja: SzT-003-50
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
ESETFELVETÉS – MUNKAHELYZET Munkahelyén azt a feladatot kapta főnökétől, hogy a másnapi értekezletre keresse meg és nyomtassa ki az általa kért adatokat a cégnél használt adatbázisból. Hogyan oldaná meg a leghatékonyabban a kereséseket, és a találatok esztétikus, áttekinthető nyomtatását? A továbbiakban megismerkedünk a lekérdezések, jelentések hatékony felhasználásával a különböző feladatoknál, és elkészítésük módjaival.
SZAKMAI INFORMÁCIÓTARTALOM LEKÉRDEZÉSEK MS ACCESS 2003-BAN 1. A lekérdezés fogalma A lekérdezések segítségével egy vagy több tábla, vagy lekérdezés rekordjaiból az előre meghatározott kritériumoknak eleget tevő részhalmazt tudjuk megjeleníteni. A lekérdezés alapjául szolgáló táblákat és lekérdezéseket összefoglaló néven rekordforrásnak nevezzük. A kritériumok megfogalmazása történhet grafikus módon, vagy az erre a célra kialakított SQL
(Structured
Query
Language)
nyelv
használatával.
A
lekérdezések
eredményét
táblázatszerűen kapjuk meg. A lekérdezések eredménye alapjául szolgálhat a jelentéseknek, űrlapoknak. Az irányított szűréssel szemben lehetőség van csak a tábla egyes mezőinek tartalmát megjeleníteni a rekordok csoportosítására, ez módosíthatja egy tábla vagy az adatbázis tartalmát. Az Irányított szűrő elsősorban az alkalmi szűrések esetén lehet hasznos, míg a lekérdezések különösen a rendszeresen ismétlődő szűrések, adatfrissítések végrehajtásánál hasznosak. A lekérdezések alapjául más lekérdezések eredményei is felhasználhatók. A legtöbb lekérdezésnek háromféle nézete van, amelyeket a Nézet (View) ikonra kattintva nézhetünk meg.
1
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
2. A lekérdezés nézetei Tervező nézet Itt készítjük el a lekérdezés tervét. A lekérdezés ilyenkor két részből áll, a felső részen a lekérdezés által használt táblák és lekérdezések mezőit, valamint a táblák között fennálló kapcsolatokat látjuk. Az alsó részen a lekérdezésekben szereplő mezőket, valamint a mezőkre vonatkozó rendezési módot, a csoportosítási szempontokat és a szűrőfeltételeket vehetjük fel az úgynevezett QBE (Query By Example) rácson.
1. ábra. Lekérdezés tervező nézete
Adatlap nézet Az Adatlap nézetben megtekinthetjük, vagy módosíthatjuk is a lekérdezés eredményeként kapott adatokat.
2. ábra. A Lekérdezés adatlap nézete 2
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE SQL nézet Az SQL nézetben a Tervező nézetben elkészített lekérdezést SQL kifejezésként tekinthetjük meg. Lehetőség van ebben a nézetben a már korábban elkészített lekérdezéseink módosítására, illetve újakat is létrehozhatunk.
3. ábra. Lekérdezés SQL nézetben
3. A lekérdezés típusai Választó lekérdezések Ez olyan lekérdezés, amely egy vagy több táblából, különböző feltételeknek megfelelő eredményt egy adatlapon jeleníti meg. A választó lekérdezés ezen kívül használható rekordok csoportosítására, valamint összegek, átlagok és más jellemzők kiszámítására. Akció lekérdezések Az akció lekérdezések segítségével különféle változtatásokat hajthatunk végre a meglévő táblák tartalmával, illetve új táblát hozhatunk létre. Az akció lekérdezések előnye, hogy egy művelettel több rekordot is módosíthatunk, létrehozhatunk vagy törölhetünk a táblában. -
Táblakészítő: Egy vagy több tábla az adott feltételeknek megfelelő adatából új táblát készít.
-
Hozzáfűző: Egy vagy több táblából származó rekordcsoportot ad hozzá egy kijelölt táblához.
-
Törlő: Rekordok adott csoportját törli egy táblából.
-
Frissítő: Teljes módosítást hajt végre egy táblában lévő rekordcsoportnál.
Paraméteres lekérdezés A paraméteres lekérdezés olyan lekérdezés, amely futás közben feltételeket vagy egy mezőbe illesztendő értékeket kér be a felhasználótól egy párbeszédpanel segítségével. Ebben az esetben a felhasználó beavatkozásától is függ az eredmény.
3
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE Kereszttáblás lekérdezés A kereszttáblás lekérdezés segítségével olyan összesítést készíthetünk, amely két vagy több kiválasztott mező adatai alapján összesíti egy harmadik mező adatait.
4. A lekérdezések létrehozása Új lekérdezés létrehozásához álljunk az adatbázisablak Lekérdezés objektum elemére, majd kattintsunk az adatbázisablak Új gombjára. A megjelenő Új lekérdezés panelen válasszuk a
Tervező nézet listaelemet, majd kattintsunk az OK gombra.
4. ábra. Választó lekérdezés létrehozása
A lekérdezés alapjául szolgáló táblákat vagy lekérdezéseket a Tábla megjelenítése párbeszédpanel segítségével adhatjuk hozzá a lekérdezéshez. Több objektum kijelölését a CTRL gomb segítségével kezdeményezhetjük. A kijelölt objektumokat a Hozzáadás gombbal adjuk hozzá a lekérdezéshez. A panelt az objektumok felvétele után a Bezárás gombbal zárjuk be.
4
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
5. ábra. Táblák hozzáadása
A felvett rekordforrások és a közöttük esetlegesen fennálló kapcsolatok az ablak felső részén jelennek meg. Az alsó ablakban (QBE rács) a lekérdezési kritériumokat lehet megadni.
6. ábra. QBE rács
A tervező felület sorainak jelentése a következő. -
Mező: legördülő listából kiválasztható a mező neve.
-
Tábla: sorban az aktuális tábla neve látható.
-
Rendezés:
a
lekérdezésen
belül
különböző
mezők
szerinti
rendezettségeket
kérhetünk. A rendezés iránya lehet növekvő vagy csökkenő. -
Megjelenítés: ha kivesszük a jelölőnégyzetet, nem jelenik meg az eredménylistában a mező tartalma.
-
Feltétel: egyszerű és összetett feltételeket fogalmazhatunk meg.
A táblázatba a mezőket többféle módszerrel lehet elhelyezni:
5
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE -
A Mező sorban a legördülő listából kiválasztjuk azt a mezőt, amelyiknek a tartalmát az eredménylistában látni akarjuk.
-
A fogd és vidd módszerrel, ilyenkor a tábla képében kiválasztjuk a mezőt, és az egérrel lehúzzuk az oszlopba.
-
Dupla kattintás a tábla képében a kiválasztott mezőn, hatására az első üres oszlopba kerül a kívánt mezőnév.
-
A mező kezdőbetűjével, ilyenkor automatikusan bekerül a neve az oszlopba.
A kész lekérdezés mentését a Fájl menü Mentés parancsával kezdeményezhetjük. A megjelenő Mentés másként panelen adjuk meg a lekérdezés nevét, majd kattintsunk az OK gombra! A lekérdezést a Fájl menü Bezárás parancsával vagy a Lekérdezés ablak Bezárás vezérlőgombjával zárhatjuk be. Ha még nem mentettük el a lekérdezést vagy az utolsó mentés óta módosításokat végeztünk benne, a program rákérdez, hogy szeretnénk-e menteni a módosításokat. A módosítások mentéséhez kattintsunk az Igen gombra. A Nem gomb használata esetén a lekérdezést a változások mentése nélkül zárja be a program. A Mégse gombot választva visszatérhetünk a lekérdezés szerkesztéséhez.
5. Feltételek a lekérdezésekben A tervezőrács Feltétel sorában adjuk meg a rekordok megjelenítési feltételeit. Az egy sorban levő feltételek között ÉS kapcsolat van, a sorok kritériumai között pedig VAGY kapcsolat van. A rekordokat a mezőkre vonatkozó feltételekkel választjuk ki. A lekérdezés eredményében azok a rekordok szerepelnek, melyekre teljesül a feltétel. A kiválogató feltétel (szűrőfeltétel) megfogalmazása operátorokkal történik. Az operátor az adatokból újabb adatot képező művelet vagy függvény. Logikai operátorok AND, OR, NOT Összehasonlító operátorok Egyszerű összehasonlítás: csak azok a rekordok lesznek az eredménylistában, amelyek eleget tesznek a relációs jellel megfogalmazott feltételnek (=, <,>, <=,>=, <>). Egyéb operátorok -
Between alsó and felső: Ilyenkor az alsó és felső értéket adjuk meg, amik között az adatokhoz szeretnénk jutni. Tehát ilyenkor egy zárt intervallumból választunk. Pl. between 20 and 100.
-
IN (…):Megjeleníti a zárójelben felsorolt kritériumoknak megfelelő rekordokat. A felsorolt elemeket pontosvesszővel választjuk el egymástól. Tulajdonképpen az IN operátor vagy feltételek sorozataként fogható fel.
6
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE -
Like "minta": A like operátor segítségével a helyettesítő
jeleket tartalmazó
mintaszövegnek megfelelő szöveges adatokat kereshetünk. A következők állhatnak a minta helyén:
-
*- akárhány darab tetszőleges karakter lehet
? – egyetlen tetszőleges karakter lehet
# - egyetlen tetszőleges számjegy lehet
[karakterlista] – egyetlen olyan karakter, amely szerepel a listában
[!karakterlista] – egyetlen olyan karakter, amely nem szerepel a listában
konkrét karakter – konkréten szerepelnie kell a mezőben azon a ponton
Összehasonlítás NULL értékkel: Megjeleníti azokat a rekordokat, ahol a feltételt tartalmazó mező nincs kitöltve (Is Null), illetve ahol ki van töltve (Is Not Null).
Összetett feltételek Az előző operátorokat egymással kombinálva is lehet használni, és így bonyolultabb feltételeket is készíthetünk.
7. ábra. Feltételek megadása
Az Accessben van lehetőség függvények használatára is a bonyolultabb kritériumok megfogalmazásához. A függvények két részből állnak: a függvénynévből és a függvénynevet követő, kerek zárójelek között megadott argumentumlistából. Leggyakrabban használt függvények: DATE()
az aktuális dátumot jeleníti meg
DAY(dátum)
a megadott dátumnap részét jeleníthetjük meg
MONTH(dátum)
a megadott dátumhónap részét tudjuk megjeleníteni
7
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE YEAR(dátum)
a megadott dátumév részét jeleníti meg
NOW()
a dátumot és a hozzá tartozó aktuális időt jeleníti meg
LEN(szöveg)
a megadott szöveg karaktereinek számát adja eredményül
LEFT(szöveg;hossz)
RIGHT(szöveg;hossz)
MID(szöveg;kezdet;hossz)
egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, balról jobbra haladva egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, jobbról balra haladva a szövegargumentumban megadott mezőben
lévő szöveg
kezdet karakterétől
kezdődően hossz számú karaktert jelenít meg
6. Különböző típusú lekérdezések létrehozása Összesítő, csoportosító lekérdezések készítése Az összesítő lekérdezés a választó lekérdezés egyik fajtája, amely az adatok szűrésén kívül lehetőséget nyújt a rekordok különböző szempontok szerinti csoportosítására, és a csoportosított értékekhez kapcsolódó számítások elvégzésére. Ahhoz, hogy összesítést tudjunk végezni, először be kell kapcsolni a QBE rács Összesítés sorát, mert ez alapesetben nem jelenik meg. Ehhez válasszuk a Nézet menü Összesítés menüpontját.
8. ábra. Összesítő lekérdezés 8
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE Az összesítés sorba a következő kifejezések és függvények kerülhetnek: A rekordok csoportosítására szolgál. A csoportosított rekordok más mezőinek értékeivel
Group by
szükség szerint különféle számításokat is végezhetünk.
Expression
Olyan számított mező létrehozására használjuk, amely összesítő. Azoknál a mezőknél válasszuk, amelyeket csak szűrőfeltétel megadására használunk, így ezek a mezők nem képeznek csoportosítási alapot, és a lekérdezés eredményében
Where
sem jelennek meg. Sum
A csoport összegét számolja ki.
Avg
A csoport átlagát számolja ki.
Min
A csoport legkisebb elemét adja meg.
Max
A csoport legnagyobb elemét adja meg.
Count
A csoportba tartozó elemek számát adja meg.
StDev
A csoport szórását számolja ki.
Var
A csoport varianciáját számolja ki.
First
Az első rekord adott mezőben levő értékét adja meg.
Last
Az utolsó rekord adott mezőben levő értékét adja meg.
Táblakészítő lekérdezés készítése Táblakészítő lekérdezés létrehozásához készítsünk egy új lekérdezést, és adjuk hozzá a megfelelő
táblákat,
illetve
lekérdezéseket!
Ezután
használjuk
a
Lekérdezés
menü
Táblakészítő lekérdezés parancsát!
9
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
9. ábra. Táblakészítő lekérdezés készítése
A megjelenő Táblakészítő panel Új tábla létrehozása csoportjában levő Táblanév rovatban adhatjuk meg az új tábla nevét. A választógombok segítségével pedig meghatározhatjuk, hogy az új tábla az aktuális adatbázisba, vagy egy már létező, másik adatbázisba kerüljön.
10. ábra. Táblakészítő panel
A lekérdezés végrehajtásához és az új tábla létrehozásához a Lekérdezés menü Futtatás parancsát kell használnunk. Frissítő lekérdezés készítése Frissítő lekérdezés létrehozásához kattintsunk a Lekérdezés menü Frissítő lekérdezés parancsára. A rekordok módosításának feltételeit a választó lekérdezéseknél tanult módon határozhatjuk meg. Az egyes mezőkben elvégzendő változtatásokat a Módosítás sorban adhatjuk meg. Itt megadhatunk konkrét értékeket, vagy tetszőleges képletet is. 10
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
11. ábra. Frissítő lekérdezés készítése
Törlő lekérdezés készítése Törlő lekérdezés készítéséhez hozzunk létre egy új lekérdezést a korábban ismertetett módon, és adjuk hozzá azt a táblát, amelyből törölni szeretnénk! Majd kattintsunk a Lekérdezés menü Törlő lekérdezés parancsára!
12. ábra. Törlő lekérdezés készítése
Hozzáfűző lekérdezés készítése Hozzáfűző lekérdezés létrehozásához készítsünk egy lekérdezést a korábban megismert módon, majd kattintsunk a Lekérdezés menü Hozzáfűző lekérdezés parancsára!
11
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
13. ábra. Hozzáfűző lekérdezés készítése
A megjelenő párbeszédpanelen a Táblanévnél adjuk meg a tábla nevét, amelyhez a lekérdezésből
származó
rekordokat
fűzni
szeretnénk.
A
választógombokkal
meghatározhatjuk, hogy a tábla az aktuális adatbázisban vagy egy már létező, másik adatbázisban található.
14. ábra. Hozzáfűzés párbeszédpanel
Paraméteres lekérdezés készítése Paraméteres lekérdezés létrehozásához hozzunk létre egy lekérdezést a szokott módon, majd a tervezőrácsba írjuk be a szükséges képleteket és feltételeket! Azon adatoknál, amiket a felhasználótól szeretnénk bekérni, mezőnév helyett [ ] szögletes zárójelek között írjunk be egy üzenetet vagy a paraméter nevét. Az üzenetnek nem szabad megegyeznie a mező nevével.
12
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
15. ábra. Paraméteres feltétel megadása
A paraméteres lekérdezés az Adatlap nézetbe történő átváltáskor vagy a Lekérdezés menü Futtatás parancsával megjelenő párbeszédpanelen, a szögletes zárójelek között megadott szöveggel kéri be a szükséges adatokat.
16. ábra. Paraméteres lekérdezés futtatása
Kereszttáblás lekérdezés készítése A kereszttáblás lekérdezés létrehozását is a korábban megismert módon kezdjük. A megfelelő rekordforrások felvétele után kattintsunk a Lekérdezés menü Kereszttáblás lekérdezés parancsára! Az összesítő lekérdezésekhez hasonlóan az Összesítés sorban adjuk meg a csoportosítási szempontot vagy a használni kívánt összesítő függvényt. Ez után a Kereszttábla sorban adhatjuk meg, hogy az egyes mezők az összesítés mely elemeként jelenjenek meg. Az Oszlopfejléc választása esetén az adatok mezőnevekként jelennek meg az oszlopok felett. A Sorfejléc választása esetén az adatok a sorok elején jelennek meg. Az Oszlop- és Sorfejléceknek mindig csoportosított adatoknak kell lenniük. Az adatok az Érték, az Oszlop- és Sorfejlécek metszéspontjainál, az általunk kiválasztott függvénnyel összegezve jelennek meg. Az Érték nem lehet csoportosított adat.
13
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
17. ábra. Kereszttáblás lekérdezés készítése
LEKÉRDEZÉSEK SQL-BEN Az SQL talán leggyakrabban használt utasítása a lekérdezés. A SELECT utasítás az adatok egy halmazát válogatja ki egy táblázatba a relációs adatbázisból, és teszi elérhetővé valamilyen technikával a felhasználó számára. SELECT [ALL, DISTINCT] projekciós rész, FROM táblanév [WHERE feltétel] [GROUP BY oszloplista] [HAVING feltétel] [ORDER BY oszloplista]; ALL: minden feltételnek megfelelő sor szerepel DISTINCT: azonos sorok csak egyszer szerepelnek A projekciós részben a következők szerepelhetnek: -
mezőlista vesszővel elválasztva
-
minden mezőt a * jel jelenti
-
aggregációs kifejezések - oszlopfüggvények SUM(), AVG(), COUNT(), MIN(), MAX()
-
származtatott értékek
-
AS kulcsszó, vagyis álnév adása
Példa: Az alkalmazott táblából a dolgozók nevének listázása:
SELECT nev FROM alkalmazott; WHERE: 14
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE A szelekciós résznél a feltételeket relációs jelek (= < > <> <= >=) segítségével tudjuk megadni. Lehetőség van több feltétel összekapcsolására logikai operátorokkal (AND, OR, NOT). Egyéb operátorok: -
BETWEEN A and B: értéktartomány megadása
-
LIKE: string-illesztés
-
IS NULL: nullérték keresése
-
IS NOT NULL: nem nullérték keresése
-
IN: benne van-e a halamazban?
Példa: Az alkalmazott táblából a 30 évnél idősebb és 40 évnél fiatalabb korú dolgozók összes adatának listázása:
SELECT * FROM alkalmazott WHERE kor between 30 and 40; GROUP BY Akkor használjuk, ha csoportosítani szeretnénk a talált rekordokat és minden egyes csoportban külön-külön alkalmazni akarjuk az oszlopfüggvényeket. Példa: Beosztásonként a legkisebb fizetés listázása:
SELECT beosztas, min(fizetes) FROM alkalmazott GROUP BY beosztas; HAVING Feltétel megadása a csoportosítás és összegzés után (a végeredmény sorainak halmazából való szűrés). Példa: Azon osztályok listája, ahol az átlagéletkor nagyobb mint 30 év:
SELECT osztkod, AVG(kor) FROM alkalmazott GROUP BY osztkod HAVING AVG(kor) > 30; ORDER BY Rendezési sorrend megadása (ASC növekvő sorrendbe, DESC csökkenő sorrendbe) Példa: A dolgozók nevének, fizetésének listázása az alkalmazott-táblából fizetés szerinti csökkenő sorrendben:
SELECT nev, fizetes FROM alkalmazott ORDER BY fizetes DESC; 15
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE Egymásba ágyazott SELECT-ek Az SQL nyelvben megengedett, hogy egy SELECT utasításban (vagy más SQL utasításban) SELECT-ek (alselect) is előforduljanak. A belső SELECT önmagában is kiértékelhető, és belülről kifelé haladva lesznek feldolgozva. A kiértékelés úgy történik, hogy a belső SELECT kiértékelődik, és egy vagy több sort, vagy oszlopértéket átad a külső SELECT-nek, majd a külső SELECT ezen értékek alapján összeállítja az eredményt. Példa: Azon alkalmazottak, akiknek fizetése nagyobb az összes alkalmazott átlagfizetésénél SELECT * FROM alkalmazott WHERE fizetes > (SELECT AVG(fizetes) FROM alkalmazott);
JELENTÉSEK KÉSZÍTÉSE MS ACCESS 2003-BAN 1. A jelentések fogalma A jelentések
hatékony módot kínálnak
az információk
csak
olvasható
formátumú
bemutatására – például nyomtatott dokumentumként. Az Access más objektumai is nyomtathatók, például az űrlapok és az adatlapok, de a jelentések sokkal több lehetőséget kínálnak az információk megjelenítésének szabályozására, és nagyobb rugalmasságot az összesítő jellegű adatok megjelenítése esetén. A jelentésekben pontosan szabályozható az adatok szervezése és megjelenítése.
2. A jelentések típusai Az igényeknek megfelelően többféle típusú jelentésre lehet szüksége. Ha például az egyik szállítóval találkozik, lehetséges, hogy egy részletes jelentést szeretne megmutatni neki, míg a feletteseinek elemzések céljára készített jelentésben összegző adatokra vagy az adatok csoportosítására lehet szükség. A leggyakrabban használt típusok: -
Egyoszlopos jelentés
-
Táblázatos jelentés
-
Csoportosító jelentés összesítésekkel vagy összesítések nélkül
-
Levélcímke jelentés
-
Diagramot megjelenítő diagramjelentés
3. A jelentések nézetei A kész jelentések háromféle nézetben tekinthetők meg. A Tervező nézetben áttekinthetjük, módosíthatjuk a jelentés tervét.
16
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
18. ábra. Jelentés tervező nézetben
A jelentés több részből áll: A jelentésfej a jelentés legelején az oldalfejléc előtt jelenik meg. Ez az elem csak egyszer jelenik meg a jelentésben. Itt helyezhetjük el a jelentés címét. Az oldalfej a jelentés minden oldalának tetején megjelenik. Általában az oszlopfejléceket tartalmazza. A törzs tartalmazza a jelentés lényegi részét, itt jelennek meg a rekordok. Az oldalláb a jelentés minden oldalának alján megjelenik. Itt helyezhetjük el például az aktuális dátumot, az oldalszámozást stb. A jelentésláb a jelentés végén az oldalláb előtt jelenik meg. Ez az elem csak egyszer jelenik meg a jelentésben. Itt helyezhetjük el például a jelentés készítőjének nevét. Az Elrendezés megtekintése nézetben a jelentés külleme figyelhető meg. Ebben a nézetben azonban a jelentéshez tartozó lekérdezéseket, számításokat, kifejezéseket nem értékeli ki a program, így lehet, hogy itt nem kapunk helyes eredményeket. A Nyomtatási kép nézetben a nyomtatásban megjelenővel azonos képet kapunk.
4. A jelentések létrehozása Jelentéseket táblák vagy lekérdezések alapján hozhatunk létre. A jelentések készítésének legegyszerűbb módja az AutoJelentések vagy a Jelentés varázsló használata. Leggyakrabban kétféle szerkezetű Autojelentés közül szoktunk választani. Az oszlopos jelentésben a rekordok mezői egymás alatt jelennek meg egy oszlopban. Ezzel a jelentéstípussal katalógusszerű jelentést hozhatunk létre.
17
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
19. ábra. Oszlopos szerkezetű jelentés
A táblázatos jelentés esetén egy rekord egy sorban jelenik meg. Ezzel a jelentéstípussal listaszerű jelentést hozhatunk létre.
20. ábra. Táblázatos szerkezetű jelentés
AutoJelentés készítéséhez válasszuk az Adatbázis-ablak eszköztár sorának Új gombját. A megjelenő Új jelentés panelen válasszuk ki a megfelelő AutoJelentést. Ezután válasszuk ki a legördülő listából a jelentés alapjául szolgáló rekordforrást (táblát vagy lekérdezést, ahonnan az objektum adatai származnak). A Jelentés varázsló funkcióval készített jelentések azonnal használhatók, de felhasználhatók egyedi tervezésű jelentések kiindulási alapjaként is. A
Jelentés
varázslót
az
Adatbázis-ablak
Jelentés
létrehozása
varázsló
segítségével
parancsára duplán kattintva is elindíthatjuk. És ezután kövessük a párbeszédpanelen megjelenő lépéseket. -
Először a használni kívánt mezőket kell megadni.
-
A következő párbeszédpanelen adjuk meg, hogy melyik mező vagy mezők szerint szeretnénk csoportosítani az adatokat.
18
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE -
A harmadik panelen a rekordok meghatározott mező szerinti növekvő vagy csökkenő sorrendű rendezését adhatjuk meg.
-
A következő panelen válasszuk ki, hogy milyen elrendezésű jelentést szeretnénk létrehozni.
-
A következő lapon stílust választhatunk a jelentéshez.
-
Az utolsó panelen adhatunk nevet a jelentésnek.
A korábban, akár az AutoJelentés vagy a Jelentés varázsló funkcióval elkészített jelentések elrendezését, formátumait bármikor megváltoztathatjuk, feliratokat, mezőket, csoportosítási szempontokat adhatunk hozzá, illetve törölhetünk a jelentésből. Egy jelentés módosításához nyissuk meg a jelentést Tervező nézetben! Amennyiben a jelentéssel elégedettek vagyunk, mentsük el azt a Fájl menü Mentés parancsával. A jelentés nevét a megjelenő Mentés másként panel Jelentésnév rovatában adhatjuk meg.
TANULÁSIRÁNYÍTÓ Elevenítse fel, mit olvasott a szakmai információ tartalomnál (ha szükséges, lapozzon vissza), és így válaszoljon a következő kérdésekre, illetve gondolkozzon el az esetfelvetésnél vázolt munkahelyzet megoldásán! A gyakorlatban megoldandó feladatokat mindig készítse el gépen, és utána írja le a kért információkat! 1. feladat Írja le a lekérdezések használatának előnyeit az irányított szűrő funkcióval szemben!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
2. feladat Milyen nézetei vannak a lekérdezéseknek, és mikor melyiket érdemes használni?
19
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
3. feladat Sorolja fel, hogy milyen akció lekérdezéseket ismer, és írja le mindegyikről, hogy mire használhatók!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
4. feladat Mire használhatók a jelentések? Készítsen egy tetszőleges jelentést varázsló segítségével, és írja le, milyen lépéseket kellett követnie!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
5. feladat Készítse el a következő relációsémával megadott táblát, és lekérdezések segítségével oldja meg a feladatokat, majd írja le a kijelölt helyre a lekérdezések SQL PARANCSÁT!
HALLGATO (hkod, nev, szak, evf, csoport, atlag) a) A 3,5-nél jobb átlagot elért tanulók nevének, átlagának listázása: 20
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
_________________________________________________________________________________________
b) Hány hallgató van a hallgato táblában, vagyis a hallgatók számának listázása!
_________________________________________________________________________________________
c) Hány KÖNYVTÁR szakos hallgató van a hallgato táblában?
_________________________________________________________________________________________
d) Elsős hallgatók átlagos tanulmányi eredményének listázása.
_________________________________________________________________________________________
e) A legjobb tanulmányi átlagú tanuló nevének listázása.
_________________________________________________________________________________________
MEGOLDÁSOK 1. feladat Lekérdezéseknél lehetőség van: -
az egyes mezők tartalmának megjelenítésére
-
a rekordok csoportosítására
-
módosíthatja egy tábla vagy az adatbázis tartalmát
-
rendszeresen ismétlődő szűrések, adatfrissítések végrehajtására
-
a lekérdezések alapjául más lekérdezések eredményei is felhasználhatók
-
el lehet menteni a lekérdezéseket
2. feladat Tervező nézet: Itt készítjük el a lekérdezés tervét, főleg azoknak ajánlott, akik a grafikus kezelőfelületet részesítik előnyben, és egy pár kattintással elkészül a lekérdezés. 21
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE Adatlap nézet: Itt megtekinthetjük vagy módosíthatjuk is a lekérdezés eredményeként kapott adatokat. SQL nézet: Karakteres felületen készíthetünk lekérdezéseket, vagy a Tervező nézetben elkészített lekérdezéseket SQL kifejezésként tekinthetjük meg. Lehetőség van ebben a nézetben a már korábban elkészített lekérdezéseink módosítására, illetve újakat is létre hozhatunk. 3. feladat Táblakészítő: Egy vagy több tábla adott feltételeknek megfelelő adatából új táblát készít. Hozzáfűző: Egy vagy több táblából származó rekordcsoportot ad hozzá egy kijelölt táblához. Törlő: Rekordok adott csoportját törli egy táblából. Frissítő: Teljes módosítást hajt végre egy táblában lévő rekordcsoportnál. 4. feladat A jelentések
hatékony módot kínálnak
az információk
csak
olvasható
formátumú
bemutatására – például nyomtatott dokumentumként. Varázsló lépései: -
Először a használni kívánt mezőket kell megadni.
-
A következő párbeszédpanelen adjuk meg, hogy melyik mező vagy mezők szerint szeretnénk csoportosítani az adatokat.
-
A harmadik panelen a rekordok meghatározott mező szerinti növekvő vagy csökkenő sorrendű rendezését adhatjuk meg.
-
A következő panelen válasszuk ki, hogy milyen elrendezésű jelentést szeretnénk létrehozni.
-
A következő lapon stílust választhatunk a jelentéshez.
-
Az utolsó panelen adhatunk nevet a jelentésnek.
5. feladat SELECT nev, atlag FROM hallgato WHERE atlag>3.5; SELECT COUNT(*) FROM hallgato; SELECT COUNT(*) FROM hallgato WHERE szak='KÖNYVTÁR'; SELECT AVG(eredm) FROM hallgato WHERE evf=1; SELECT nev FROM hallgato WHERE atlag = (SELECT MAX (atlag) FROM hallgato);
22
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
ÖNELLENŐRZŐ FELADATOK 1. feladat Mire használhatjuk az összesítő lekérdezést, és hogyan lehet ilyet készíteni? Válaszát írja le a kijelölt helyre!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
2. feladat Írja le, hogy mit tud a like operátorról!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
3. feladat Soroljon fel öt tetszőleges függvényt (funkciójukkal együtt), melyeket az Accessben használhatunk!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
23
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE 4. feladat Hogyan épül fel egy jelentés tervező nézetben? Válaszát írja le a kijelölt helyre!
_________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________ _________________________________________________________________________________________
5. feladat A DOLGOZO tábla az alábbi oszlopokat tartalmazza. Írjon SQL utasításokat a következő lekérdezések megvalósításához! DOLGOZO (Taj_szam, Nev, Anya_neve, Lakhely (város), Fizetes) a) Összes dolgozó nevének és lakhelyének kiíratása!
_________________________________________________________________________________________
b) 60000 Ft-nál többet keresők összes adatának kiíratása!
_________________________________________________________________________________________
c) Hányan laknak Miskolcon?
_________________________________________________________________________________________
d) Mennyi az Egerben élők átlagfizetése?
_________________________________________________________________________________________
24
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
MEGOLDÁSOK 1. feladat Az összesítő lekérdezés a választó lekérdezés egyik fajtája, amely az adatok szűrésén kívül lehetőséget nyújt a rekordok különböző szempontok szerinti csoportosítására, és a csoportosított értékekhez kapcsolódó számítások elvégzésére. Ahhoz, hogy összesítést végezni tudjunk, először be kell kapcsolni a QBE rács Összesítés sorát, mert ez alapesetben nem jelenik meg. 2. feladat Like "minta": A like operátor segítségével a helyettesítő jeleket tartalmazó mintaszövegnek megfelelő szöveges adatokat kereshetünk. A következők állhatnak a minta helyén: -
*- akárhány darab tetszőleges karakter lehet
-
? – egyetlen tetszőleges karakter lehet
-
# - egyetlen tetszőleges számjegy lehet
-
[karakterlista] – egyetlen olyan karakter, amely szerepel a listában
-
[!karakterlista] – egyetlen olyan karakter, amely nem szerepel a listában
-
konkrét karakter – konkréten szerepelnie kell a mezőben azon a ponton
3. feladat DATE()
az aktuális dátumot jeleníti meg
DAY(dátum)
a megadott dátum nap részét jeleníthetjük meg
MONTH(dátum)
a megadott dátum hónap részét tudjuk megjeleníteni
YEAR(dátum)
a megadott dátum év részét jeleníti meg
NOW()
a dátumot és a hozzá tartozó aktuális időt jeleníti meg
LEN(szöveg)
a megadott szöveg karaktereinek számát adja eredményül
LEFT(szöveg;hossz)
RIGHT(szöveg;hossz)
MID(szöveg;kezdet;hossz)
egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, balról jobbra haladva egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, jobbról balra haladva a szövegargumentumban megadott mezőben
lévő szöveg
kezdet karakterétől
kezdődően hossz számú karaktert jelenít meg
25
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE 4. feladat A jelentés több részből áll: A jelentésfej a jelentés legelején az oldalfejléc előtt jelenik meg. Ez az elem csak egyszer jelenik meg a jelentésben. Itt helyezhetjük el a jelentés címét. Az oldalfej a jelentés minden oldalának tetején megjelenik. Általában az oszlopfejléceket tartalmazza. A törzs tartalmazza a jelentés lényegi részét, itt jelennek meg a rekordok. Az oldalláb a jelentés minden oldalának alján megjelenik. Itt helyezhetjük el például az aktuális dátumot, az oldalszámozást stb. A jelentésláb a jelentés végén az oldalláb előtt jelenik meg. Ez az elem csak egyszer jelenik meg a jelentésben. Itt helyezhetjük el például a jelentés készítőjének nevét. 5. feladat a) SELECT NEV, LAKHELY FROM DOLGOZO; b) SELECT * FROM DOLGOZO WHERE FIZETES >60000; c) SELECT COUNT(NEV) FROM DOLGOZO WHERE LAKHELY = ’MISKOLC’; d) SELECT AVG(FIZETES) FROM DOLGOZO WHERE LAKHELY = ’EGER’
26
ADATBÁZIS-KEZELÉS - LEKÉRDEZÉSEK, JELENTÉSEK KÉSZÍTÉSE
IRODALOMJEGYZÉK FELHASZNÁLT IRODALOM Informatikai és Hírközlési Minisztérium: Adatbázis-kezelés Access XP-vel Dr. L. Nagy Éva: SQL röviden (gyakorlati jegyzet)
AJÁNLOTT IRODALOM Michael J. Hernandez - John L. Viescas: SQL-lekérdezések földi halandóknak, KISKAPU KIADÓ, 2009.
27
A(z) 1155-06 modul 003 számú szakmai tankönyvi tartalomeleme felhasználható az alábbi szakképesítésekhez: A szakképesítés OKJ azonosító száma: 54-481-01-1000-00-00 54-481-04-0010-54-01 54-481-04-0010-54-02 54-481-04-0010-54-03 54-481-04-0010-54-04 54-481-04-0010-54-05 54-481-04-0010-54-06 54-481-04-0010-54-07
A szakképesítés megnevezése CAD-CAM informatikus Gazdasági informatikus Infostruktúra menedzser Ipari informatikai technikus Műszaki informatikus Távközlési informatikus Telekommunikációs informatikus Térinformatikus
A szakmai tankönyvi tartalomelem feldolgozásához ajánlott óraszám: 15 óra
A kiadvány az Új Magyarország Fejlesztési Terv TÁMOP 2.2.1 08/1-2008-0002 „A képzés minőségének és tartalmának fejlesztése” keretében készült. A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósul meg. Kiadja a Nemzeti Szakképzési és Felnőttképzési Intézet 1085 Budapest, Baross u. 52. Telefon: (1) 210-1065, Fax: (1) 210-1063 Felelős kiadó: Nagy László főigazgató