Az I. 610. feladat (2023. december) |
I. 610. Egy iskola menzája nem túl népszerű, a befizetett ebédet sokszor nem eszik meg tanulók. Mivel az ebéd kiadásakor a tanulók mágneskártyával igazolják magukat, ezért elektronikusan rendelkezésre állnak az iskola ebédelési adatai, amelyek az ebed.txt szöveges állományban találhatók. Az állomány egy-egy sorából kiolvasható, hogy melyik tanulónak hány napra fizettek be az A menü vagy a B menü kínálatából, illetve hány napon fogyasztotta el valóban az ebédet. Az adatokat felhasználva adatbázis-kezelő alkalmazás segítségével vagy SQL parancsok segítségével oldjuk meg a következő feladatokat.
1. Készítsünk új adatbázist ebed néven. A forrásként kapott – tabulátorokkal tagolt, UTF-8 kódolású – szöveges állományt az ebed nevű táblába importáljuk. Az állomány első sora a mezőneveket tartalmazza. A létrehozás során állítsuk be a megfelelő típusokat és a kulcsot.
Tábla:
A tanuló azonosítójának első négy karateréből képzett szám megadja, hogy a tanuló melyik évben érkezett az iskolába, az ötödik karakter megadja az osztályának betűjelét, a többi karakter a tanuló egyedi azonosítója.
A következő feladatok megoldásánál a lekérdezéseket a zárójelben olvasható néven mentsük. Ügyeljünk arra, hogy a megoldásban pontosan a kívánt mezők szerepeljenek.
Melyik diákok fizettek elő legalább egy napra B menüt a 2014-ben induló C osztályból? Adjuk meg a tanulók nevét ABC sorrendben. (2bmenuc)
3. Lekérdezéssel adjuk meg azoknak a tanulóknak a nevét és azonosítóját, akiknek befizettek A menüs ebédet, és ők azt mind elfogyasztották. (3amegette)
4. Készítsünk lekérdezést, amely megadja a nevüket azoknak, akik a 2015-ben indult C osztályba járnak és legalább egy napra be vannak fizetve ebédelni. (4ebed15C)
5. Lekérdezés segítségével listázzuk ki, hogy melyik osztályban hány olyan tanuló van, aki legalább öt napi ebédet elfogyasztott. (5otebed)
6. Készítsünk lekérdezést, amely megadja azokat a tanulókat, akik azonos névvel szerepelnek az adatbázisban. (6nevazon)
7. Lekérdezés segítségével listázzuk ki, hogy a C osztálytípusba járó tanulóknál mennyi a menü fogyasztásának és befizetésének aránya. A listában azok szerepeljenek az arány szerint növekvő sorrendben, akiket legalább egy napra befizettek. (7arany)
Letölthető állomány: ebed.txt
Beküldendő egy tömörített i610.zip állományban az adatbázis adatokat és lekérdezéseket is tartalmazó állománya, vagy az SQL-ben készült megoldások esetén az adatbázist és a táblát létrehozó és a kérdésekre választ adó lekérdezések egy szöveges állományban. Mellékeljünk egy rövid dokumentációt, amelyben szerepel a megoldáskor alkalmazott adatbáziskezelő vagy SQL rendszer neve.
(10 pont)
A beküldési határidő 2024. január 15-én LEJÁRT.
Mintamegoldásként Schmidt Marcell 9. évfolyamos pécsi versenyző munkáját adjuk közre: ebed.sql, lekerdezesek.sql.
Statisztika:
7 dolgozat érkezett. 10 pontot kapott: Antal Kornél, Gyönki Dominik, Nagy 292 Korina, Pál Benedek József , Puppi Barna, Schmidt Marcell, Szabó Imre Bence.
A KöMaL 2023. decemberi informatika feladatai