Nyílt nap (2025. május)
Kategória: sql - emelt szint
Feladat leírása

Egy középiskolában nyílt napokat szerveznek, ahol az iskola iránt érdeklődő diákok
meghatározott órákat látogathatnak meg. Az iskola háromnapos blokkokban szervezi
az óralátogatásokat, amelyekre előre kell regisztrálni az érdeklődőknek. Minden látogatható óra
a 4. vagy az 5. tanóra. Egy érdeklődő több óra látogatására is regisztrálhat, de legtöbben két
órát választanak. Ebben a feladatban egy ilyen regisztrációs adatbázis szervezés közbeni
állapotát kapja meg, ezzel kell dolgoznia. Még nem kezdődtek meg az óralátogatások.
Az adatbázis a következő táblákat tartalmazza:
Táblák:
diakok (id, nev, email, telefon, telepules)
id | A regisztráló diák azonosítója (szám), ez a kulcs |
nev | A diák neve (szöveg) |
A diák e-mail címe (szöveg) | |
telefon | A diák telefonos elérhetősége (szöveg) |
telepules |
A település neve, ahonnan a diák regisztrált (szöveg) |
orak (id, datum, targy, csoport, terem, tanar, ferohely, orasorszam)
id | A látogatható óra azonosítója (szám), ez a kulcs |
datum | Az óra dátuma (dátum) |
targy | A tantárgy neve (szöveg) |
csoport | A csoport megnevezése, aminek az órát tartják (szöveg), a csoport megnevezése az évfolyam megnevezésével kezdődik, amit egy vagy több karakter követ az osztályok csoportokra bontása szerint |
terem | A terem neve, ahol az óra lesz (szöveg) |
tanar | Az órát tartó tanár neve (szöveg) |
ferohely | Azt adja meg, hogy hány látogató mehet be az adott órára (szám) |
oraszam | Az óra órarendi sorszáma (szám), értéke 4 vagy 5 lehet |
kapcsolo (id, diakid, oraid)
id | A rekord azonosítója (szám), ez a kulcs |
diakid | Az érdeklődő diák azonosítója (szám) |
oraid | A nyílt óra azonosítója (szám) |
A következő feladatokat megoldó SQL-parancsokat rögzítse a feladatok végén zárójelben
megadott nevű és .sql kiterjesztésű szöveges állományokba! Például a 2. feladat megoldását
a 2barnamalom.sql nevű állományban. A javítás során csak ezeknek az állományoknak
a tartalma lesz értékelve! Ügyeljen arra, hogy a lekérdezésekben pontosan a kívánt mezők
szerepeljenek, felesleges mezőt ne jelenítsen meg!
Részfeladatok
1. A nyiltnap.sql állomány tartalmazza a nyiltnap adatbázist és a táblákat létrehozó, valamint az adatokat a táblába beszúró SQL-parancsokat. Futtassa a lokális SQL-szerveren a nyiltnap.sql parancsfájlt!
2. Lekérdezés segítségével írassa ki a „Barnamalom” nevű településről érkezők nevét! (2barnamalom)
3. Készítsen lekérdezést, amely meghatározza, hogy mikor lehet „angol” nyelvórát látogatni! A lekérdezés jelenítse meg a dátumot, a terem nevét, valamint az óra sorszámát! Az eredmény a dátum és azon belül az óra sorszáma szerint növekvő sorrendbe legyen rendezve! (3angol)
4. A 9. évfolyamon látogatható „matematika” és „fizika” tanórákat lekérdezés segítségével írassa ki! A csoport neve, a tantárgy neve és a dátum jelenjen meg, a tantárgy neve szerinti ábécérendben! Tudjuk, hogy minden 9. évfolyamos csoport nevének a kezdete „9”. (4matfiz)
5. Lekérdezés segítségével határozza meg, hogy melyik településről hány diák érkezik a nyílt napokra! Az eredmény a diákok száma szerint csökkenő sorrendbe legyen rendezve! (5telepulesfo)
6. Készítsen lekérdezést, amely ábécérendben felsorolja, hogy milyen tantárgyak óráit lehet látogatni! Minden tantárgy neve csak egyszer jelenjen meg! (6tantargyak)
7. Lekérdezés segítségével listázza ki az „Angol Anna” tanárnő „2028. 11. 10.” napján tartandó órájára regisztrált diákok nevét, e-mail-címét és telefonszámát! (7angolanna)
8. Lekérdezés segítségével listázza ki azoknak a diákoknak a nevét, akik a „Majer Melinda” nevű diákkal azonos településről regisztráltak! Majer Melinda neve ne jelenjen meg a listában! (8majer)
9. A szabad helyek áttekintéséhez készítse el a minta szerinti lekérdezést! Az oszlopok a minta szerinti sorrendben jelenjenek meg! A szabad hellyel nem rendelkező órák ne jelenjenek meg a listában! A számított oszlop felett a „szabad” felirat jelenjen meg! A sorok a szabad helyek száma szerint csökkenő sorrendben jelenjenek meg! (9szabad)