A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. Az atlétika női versenyei közül a legösszetettebb a hétpróba. A hétpróba hét versenyszáma: 100 m gátfutás, 200 m és 800 m futás, magasugrás, távolugrás, súlylökés és gerelyhajítás. A verseny pontozásos rendszerű. A versenyszámokat nemzetközi ponttáblázat alapján értékelik, amelyben minden elért eredménynek megvan a maga pontszáma. A versenyszám pontszámának kiszámítására a következő képletet használják a versenyző eredményét figyelembe véve: (ahol a kifejezés egészrészét, az abszolút értékét jelenti). Az , és konstansok a Nemzetközi Atlétikai Szövetség által közölt, versenyszámonként eltérő konstansok.
Például: Farkas Györgyi magasugrásban 180 cm-ig jutott el, így ebben a versenyszámban 978 pontot ért el. A 2012. évi nyári olimpiai játékok hétpróbázó versenyzőinek az egyes versenyszámokban elért eredményei és a pontszámításhoz szükséges adatok állnak rendelkezésünkre a versenyzo.txt, az eredmeny.txt, a vszam.txt és a nemzet.txt állományokban. Az állományok tabulátorral tagolt, UTF-8 kódolású szövegfájlok, az első sorok a mezőneveket tartalmazzák.
1. | Készítsünk új adatbázist hetproba néven. A mellékelt adatállományokat importáljuk az adatbázisba a fájlnévvel azonos versenyzo, eredmeny, vszam és nemzet néven. |
2. | Beolvasáskor állítsuk be a megfelelő adatformátumokat és kulcsokat. A táblákba ne vegyünk fel új mezőt. |
Táblák:
nemzet (id, nev) id az ország azonosítója (szöveg), kulcsmező;nev az ország neve (szöveg);
versenyzo (id, nev, nemzetid) id a versenyen induló versenyző azonosítója (szám), kulcsmező;nev a versenyző neve (szöveg);nemzetid a versenyző nemzetiségének azonosítója (szöveg);
eredmeny (versenyzoid, vszamid, ertek) versenyzoid a versenyző azonosítója (szám), kulcsmező;vszamid a versenyszám azonosítója (szám), kulcsmező;ertek a versenyző adott versenyszámban elért eredménye (szám), ha a versenyzőt kizárták, vagy érvénytelen eredményű, illetve nem indult el, akkor üres;
vszam (id, nev, a, b, c, egyseg) id a versenyszám azonosítója (szám), ez a kulcs;nev a versenyszám neve (szöveg);a, b, c az eredmény pontszámítási képletében szereplő konstansok(szám);egyseg a versenyszám eredményének mértékegysége (szöveg).
Készítsük el a következő feladatok megoldását. Az egyes lekérdezéseknél ügyeljünk arra, hogy mindig csak a kért értékek jelenjenek meg és más adatok ne. A megoldásainkat a zárójelben lévő néven mentsük el.
3. | Lekérdezés segítségével adjuk meg, hogy ki nyerte a magasugrást. Az eredményben a versenyző nevét, eredményét és annak mértékegységét jelenítsük meg. (3magas) |
4. | Készítsünk lekérdezést, amely kilistázza a távolugrásban 1000 pontnál többet elérő versenyzők nevét, eredményét mértékegységgel együtt és pontszámát a mintának megfelelően. (4tavol) |
5. | A hétpróba versenyen nemzetenként többen is részt vehettek. Soroljuk fel a versenyzők száma szerint csökkenő sorrendben, hogy az egyes nemzetekből hány induló volt. (5nemzetdb) |
6. | Lekérdezés segítségével adjuk meg azoknak a versenyzőknek a nevét nemzeti azonosítójuk sorrendjében, akik mind a hét versenyszámban érvényes eredménnyel rendelkeztek. (6teljesek) |
7. | Soroljuk fel lekérdezés segítségével versenyszámonként az érvényes eredményt elért versenyzők számát. (7szamonkent) |
8. | Adjuk meg lekérdezés segítségével a magyar résztvevő eredményeit. A listában a versenyszám neve, az elért eredmény mértékegységgel együtt és az elért pontszám jelenjen meg. (8magyar) |
9. | Határozzuk meg a hétpróba verseny végeredményét. A listában csökkenő összpontszám szerinti sorrendben jelenjen meg a versenyző neve, nemzetének azonosítója és összpontszáma. (9vegeredmeny) |
Beküldendő egy tömörített állományban (i338.zip) az adatbázis (hetproba.odb, hetproba.mdb, ...), valamint egy rövid dokumentáció (i338.txt, i338.pdf), amelyből kiderül az alkalmazott adatbázis-kezelő neve és verziószáma. |