A Nemes Tihamér OKATV-n adatbázis-kezelési feladatokat csak a 2. korcsoportban (OKTV) találunk, azon belül is csak a II. és III. fordulóban. Ez nem is csoda, hiszen ha mélységeiben akarjuk a versenyzők adatbázis-kezeléssel kapcsolatos ismereteit felderíteni, bizony igen nehéz és összetett feladatokat kell felvonultatnunk.
Azok a tanulók képesek megbirkózni ilyen jellegű feladatokkal, akiknek a látásmódjába befészkelte már magát a magas szintű adatabsztrakció. Maga a témakör is összetett: táblák létrehozása és kapcsolataik; lekérdezések;
táblák összekapcsolása (join); rekordok szűrése, rendezése, csoportosítása; rekordok felvitele, törlése, frissítése;
űrlapok és jelentések stb.
Ennek megfelelően – és ez személyes észrevételünk – az alkalmazói versenyek adatbázis-kezelési feladatai is mintha egy kaptafára készülnének: adott egy adatmodell, ami alapján létre kell hozni az adattáblákat, adatokat kell importálni ezekbe, majd pedig bonyolultabbnál bonyolultabb lekérdezéseket elvégezni. A feladatok
„körítése” (azaz a témakör, amibe a feladatot ágyazzák) is általában nagyon „unalmas”; a diákokat a legkevésbé sem érdeklő témákról szólnak, mint például autóbuszok menetrendjéről, kínai cégek profitjáról vagy villamos erőművek fűtőanyagairól. Sajnos akár a Nemes Tihamér OKATV, akár a KöMaL adatbázis-kezelési feladatait lapozzuk végig, ilyen feladatokkal találkozunk; nehéz üdítő kivételre lelnünk. Éppen ezért egy tipikus feladatot elemzünk a továbbiakban.
5.1. Nemes Tihamér 2007, III. forduló 2. korcsoport
Mint előrevetítettük, egy igen nehéz és összetett feladatot ismerhetünk meg. A pontozása (40 pont a 150-ből) is ezzel áll arányban. Természetesen a versenyzőknek nem kötelező az összes részfeladatot megoldaniuk, azokra külön-külön kapnak pontokat, sőt azokon belül akár részpontokat is.
Versenyfeladat (Nemes Tihamér 2007, III. forduló 2. korcsoport 5. feladat).
Adatbázisunkban napelemekkel kapcsolatos adatokat tartunk nyilván. Tároljuk a gyártó és forgalmazó cégek adatait, a napelemek legfontosabb paramétereit, s hogy az egyes napelemeket milyen áron forgalmazzák az adott cégek. Négy adattáblát építünk, melyek a 3.16. ábrán látható attribútumokat és kapcsolatokat tartalmazzák.
3.16. ábra. Napelemgyártó cégek – Táblák
• A.
Egy üres adatbázisban hozd létre a négy adattáblát, a köztük lévő kapcsolatokkal! Az adattípusok olyanok legyenek, hogy a napelem.xls fájlban lévő adatokat be lehessen tölteni az adattáblákba. Állítsd be, hogy az adatbázis-kezelő ellenőrizze a hivatkozási integritást! A kapott napelem.xls táblázat lapjain lévő adatokat illeszd be a táblákba!
• B.
Írasd ki, hogy az egyes forgalmazóknál az egyes napelemek teljesítmény/ár aránya hogy aránylik az adott napelem átlagos teljesítmény/ár arányához (0-98% olcsó, 98-101%
átlagos, 101%-tól drága)!
• C.
A napelemek típusa szerinti ABC sorrendben listázd ki, hogy a napelemeket melyik forgalmazó árusítja a legolcsóbban és mennyiért! A listában azok a napelemek is jöjjenek fel, akiket senki nem forgalmaz, de ott a forgalmazó neve és a minimális ár legyen üres!
• D.
Készíts lekérdezést, ami kiírja azoknak a napelemeknek a típusát (legfeljebb egyszer), melyeket legalább két különböző áron forgalmaznak!
• E.
Töröld azokat a gyártókat, akik nem gyártanak egyetlen napelemet sem!
(folytatás következik)
====== Feladat vége ======
Az A. feladat kapcsán kell a 3.16. ábrát értelmezni, a mezőtípusokat kikövetkeztetni, elsődleges és külső kulcsokat beállítani. Ezek után következhet az adatok Excel-fájlból való importálása.
A B-D. feladatokban igen összetett lekérdezéseket kell konstruálni; előkerülnek itt a beágyazott lekérdezések, a csoportosítások, táblák összekapcsolása (inner join, left/right join), számított mezők, aggregáló függvények (átlag, minimum). Megállapíthatjuk, hogy ezek az alfeladatok egészen nehezek, sőt már az értelmezésük is sokaknak gondot okozhat (tipikus példa erre a B. feladat). Persze közben ne feledjük, hogy ezzel a feladattal az OKTV döntőjében találkozhatunk!
Az E. feladat viszont nem okozhat komoly gondot, bár a törlő utasításban itt is egy beágyazott lekérdezést kell használni.
Versenyfeladat (Nemes Tihamér 2007, III. forduló 2. korcsoport 5. feladat).
(folytatás)
• F.
Az épületfizikában a fal vagy a nyílászárók hőátbocsátási tényezőjét U-értéknek nevezik.
Ez azt mutatja meg, hogy ha 1˚C-kal hidegebb van kint, mint bent a házban, akkor 1 négyzetméter falon mennyi energia kerül leadásra bentről kifelé, azaz mennyi az energiaveszteség. Tegyük fel, hogy a házunk 36 cm vastagságú téglából épült, és kívülről nincs szigetelve. Ennek a falnak az U-értéke 0,33. Ez tehát annyit jelent, hogy ha pl. télen kint -10˚C van, bent pedig 20˚C, azaz 30˚C a hőmérséklet különbség, akkor a ház falának minden egyes négyzetméterén 0,33 30 = 9,9 Watt energiaveszteségünk van. Tegyük fel, hogy jó minőségű ablakokat és ajtókat vásárolunk, melyeknek az U-értéke 0,8. Ez pedig annyit jelent, hogy a nyílászárók minden egyes négyzetméterén 0,8 30 = 24 Watt energiaveszteségünk van ezen a hideg téli napon.
Készíts egy űrlapot (lásd a 3.17-a. ábrát), ahol a felhasználó megadhatja, hogy a háza összesen hány négyzetméternyi falból és hány négyzetméternyi nyílászáróból áll, ezeknek mennyi az U-értékük, és hogy adott napon hány fokkal szeretnénk melegebbet a házban, mint odakint. Ezek alapján egy gombnyomásra jöjjön fel (egy lekérdezés segítségével), hogy az egyes napelemtípusokból összesen hány darabot kellene felszerelnünk a ház tetejére, hogy egy átlagos napsütötte napon fedezzük a teljes energiaveszteséget, azaz csakis a napelemmel fűtsük be a házat! A tNapelem tábla Teljesítmény oszlopa adja meg Wattban egy darab napelem energiatermelését egy átlagos napsütéses napon.
3.17. ábra. Napelemgyártó cégek (folytatás) 3.17-a. Űrlap
3.17-b. Riport
• G.
Készíts jelentést, ami kilistázza a gyártókat és a általuk gyártott napelemeket. Csak azokat kell megjeleníteni, amelyeket forgalmaz is valaki. A gyártónál jelenjen meg a napelemeinek az átlagteljesítménye két tizedesre kerekítve, és az, hogy hány fajta napelemet gyárt. Ezután következzen a listában az adott gyártó összes napelemének típusa, teljesítménye, és hogy mi az a legkedvezőbb ár, amiért az adott típusú napelemet megvásárolhatjuk. A riport formátuma a 3.17-b. ábrán látható legyen.
====== Feladat vége ======
Az F. feladat valamiképp kilóg a többi feladatrész közül. Érdekessége, hogy a szükséges lekérdezést nagyon könnyű megkonstruálni, az űrlapot nemkülönben; esetleg az űrlap mezőire való hivatkozásokat nem olyan könnyű mindebbe belefűzni. Ennek a feladatrésznek a pontozásából is kitűnik, hogy a feladat fő nehézségét annak megértése okozza (a megértésért 3 pont jár a 7-ből). Márpedig üdvözölendő, hogy az előző szokványosnak mondható, cikornyás lekérdezéseket megkövetelő feladatrészeken túl egy sokkal érdekfeszítőbb, konstruktívabb feladatot kell a versenyzőknek megoldaniuk, mely általános ismereteiket is bővíti, és mely típusú feladatokkal szakmai pályafutásuk alatt is többször találkoznak majd.
A G. feladatról is elmondható ez utóbbi, bár itt a jelentés mögött álló lekérdezés is jóval nagyobb (a B-D.
feladatokhoz hasonló) bonyolultságú.