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
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
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
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
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
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
- 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
- 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
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) egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, balról jobbra haladva RIGHT(szöveg;hossz) egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, jobbról balra haladva MID(szöveg;kezdet;hossz) 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 8. ábra. Összesítő lekérdezés
Az összesítés sorba a következő kifejezések és függvények kerülhetnek: Group by A rekordok csoportosítására szolgál. A csoportosított rekordok más mezőinek értékeivel 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, Where így ezek a mezők nem képeznek csoportosítási alapot, és a lekérdezés eredményében 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
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
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
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
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
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
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
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
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
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. 18 - 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. 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
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
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
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
Ö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
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
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) egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, balról jobbra haladva RIGHT(szöveg;hossz) egy szöveges érték hosszargumentumban megadott számú karakterét jeleníti meg, jobbról balra haladva MID(szöveg;kezdet;hossz) 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
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
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: A szakképesítés megnevezése 54-481-01-1000-00-00 CAD-CAM informatikus 54-481-04-0010-54-01 Gazdasági informatikus 54-481-04-0010-54-02 Infostruktúra menedzser 54-481-04-0010-54-03 Ipari informatikai technikus 54-481-04-0010-54-04 Műszaki informatikus 54-481-04-0010-54-05 Távközlési informatikus 54-481-04-0010-54-06 Telekommunikációs informatikus 54-481-04-0010-54-07 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ó