Feladat: I.338 Korcsoport: - Nehézségi fok: -
Füzet: 2014/január, 39 - 41. oldal  PDF  |  MathML 

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ő x eredményét figyelembe véve:

pont=[a|x-b|c]
(ahol [] a kifejezés egészrészét, || az abszolút értékét jelenti).
Az a, b és c konstansok a Nemzetközi Atlétikai Szövetség által közölt, versenyszámonként eltérő konstansok.
 
Versenyszám  abc   200 m  4,990870  42,5  1,810  800 m  0,111930  254,0  1,880  100 m gát  9,230760  26,7  1,835  Magasugrás  1,845230  75,0  1,348  Távolugrás  0,188807  210,0  1,410  Súlylökés  56,02110  1,5  1,050  Gerelyhajítás  15,98030  3,8  1,040  
 

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.