A NMSZC Szent-Györgyi Albert Technikum 11b2 (2022-23) csoportjának blogja asztali alkalmazás fejlesztés és adatbázis-kezelés I. tantárgyakból
2023. április 28., péntek
2023. április 22., szombat
2023.04.23. Hatoslottó, Színészek megoldás
Hatoslottó
3.feladat
Készítsen lekérdezést, amely megadja, hogy az előző évszázadban (2001. január 1. előtti évszázad) mikor volt 5+1 találatos szelvény!
A húzáshoz tartozó évet és hetet, illetve a nyeremény értékét jelenítse meg időrendben (év, azon belül hét szerint)!
SELECT huzas.ev, huzas.het, nyeremeny.ertek | 0,5 |
FROM huzas | 1 |
INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id | |
WHERE huzas.ev >= 1901 AND | 0,5 |
huzas.ev <= 2000 AND | 0,5 |
nyeremeny.talalat = 7 | 1 |
ORDER BY 1,2; | 1 |
4.feladat
Készítsen lekérdezést, amely megmutatja a 2012-es heti nyeremények összesített értékét
(tehát hetente kell összesíteni).
Az összesítés mező neve „Heti össznyeremény” legyen.
SELECT huzas.het, SUM(nyeremeny.darab * nyeremeny.ertek) | 1 |
as 'Heti össznyeremény' |
|
FROM huzas | 1 |
INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id | |
WHERE huzas.ev like 2012 | 1 |
GROUP by huzas.het; | 1 |
5.feladat
Készítsen lekérdezést, amely megadja: mikor fordult elő,
hogy a 45 a húzott számok között volt!
Az évszámot és a hét sorszámát adja meg!
SELECT ev, het | 0,5 |
FROM huzas | 1 |
INNER JOIN huzott ON huzas.id = huzott.huzasid | |
where szam = 45; | 1 |
6. feladat
Készítsen lekérdezést, amely megadja, hogy mely években volt számhúzás minden héten,
azaz évente legalább 52 alkalommal!
SELECT ev FROM huzas | 0,5 |
GROUP by ev | 1 |
HAVING COUNT(het) >= 52; | 1 |
7. feladat:
Készítsen lekérdezést, amely megadja: mikor fordult elő, hogy az 1 és a 45 is a húzott számok között volt!
Az évszámot és a hét sorszámát adja meg!
select huzas.ev, huzas.het FROM huzas | 0,5 |
LEFT JOIN huzott ON huzott.huzasid = huzas.id | 1 |
where huzott.szam = 1 and | 1 |
huzasid in | 1 |
(select huzasid FROM huzas | 1 |
INNER JOIN huzott ON huzott.huzasid = huzas.id | 1 |
where szam = 45); | 1 |
8.feladat
Készítsen lekérdezést, amely megadja, hogy a XXI. század első évtizedében
(2001. január 1. – 2010. december 31.) évente mennyit fizettek ki nyereményként!
Az évszámot és a kifizetett összeget jelenítse meg!
SELECT huzas.ev, SUM(nyeremeny.darab * nyeremeny.ertek) | 1 |
as 'Éves össznyeremény' |
|
FROM huzas | 1 |
INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id | |
WHERE huzas.ev > 2000 | 1 |
AND huzas.ev <= 2010 | 1 |
GROUP BY huzas.ev; | 1 |
Színészek
1. Készítsen lekérdezést, amely kilistázza azokat a színészeket, akik elsőként, azaz 2000. augusztus 22-én kapták meg a Nemzet Színésze címet! Csak a neveket jelenítse meg – ábécérendben!
SELECT nev FROM szinesz | 0,5 |
WHERE valasztas = "2000.08.22." | 1 |
ORDER BY 1; | 1 |
2. Több színész nem a születési nevén lett ismert. Készítsen lekérdezést, amely megadja azokat, akiket nem a születési nevükön ismerünk! Mindkét nevet jelenítse meg!
SELECT nev, szuletesinev FROM szinesz | 0,5 |
WHERE szuletesinev NOT LIKE ""; | 1 |
3. Készítsen lekérdezést, amely kilistázza, hogy melyik színész milyen elismerésben részesült! Az elismeréseket színészenként csoportosítva, azon belül időrendben jelenítse meg.
SELECT szinesz.nev, elismeres.megnevezes | 0,5 |
FROM kapott | 1 |
INNER JOIN szinesz | |
ON kapott.szineszid = szinesz.id | |
INNER JOIN elismeres | |
ON kapott.elismeresid = elismeres.id | |
ORDER BY szinesz.nev, | 1 |
kapott.ev; | 1 |
4. Készítsen lekérdezést, amely megadja, hogy mely kitüntetéseket nyert el egy-egy színész többször is! A színész nevét és az elismerés megnevezését jelenítse meg az elismerés megnevezése, azon belül a színész neve szerint!
SELECT szinesz.nev, elismeres.megnevezes | 0,5 |
FROM kapott | 1 |
INNER JOIN szinesz | |
ON kapott.szineszid = szinesz.id | |
INNER JOIN elismeres | |
ON kapott.elismeresid = elismeres.id | |
GROUP BY szinesz.nev,elismeres.megnevezes | 1 |
HAVING COUNT(kapott.elismeresid)>1; | 1 |
order by megnevezes, nev | 1 |
vagy:
HAVING COUNT(elismeres.megnevezes)>1;
5. Készítsen lekérdezést, amely kilistázza az összes, adatbázisban szereplő színész nevét, és mindegyiküknél megadja, hogy mely évtől (csak az év) mely évig (csak az év) viselték a Nemzet Színésze címet! (Hiányzó dátum esetén utóbbi mező üres maradhat.) A megjelenítés sorrendjét a cím elnyerésének dátuma határozza meg!
SELECT nev, YEAR(valasztas), | 1 |
YEAR(elhunyt) | 1 |
FROM szinesz | 0,5 (select nev-vel együtt) |
ORDER BY valasztas; | 1 |
6. Készítsen lekérdezést, amely megadja azoknak a színészeknek a nevét, akik 2011. január 1-jén viselték a Nemzet Színésze címet! Ha valakit éppen azon a napon választottak meg, vagy akkor hunyt el, szintén szerepeljen a listában! (Ügyeljen az elhunyt mező üres értékeinek jelentésére!)
SELECT nev FROM szinesz | 0,5 |
WHERE szinesz.valasztas <= "2011.01.01." AND | 1 |
(szinesz.elhunyt >= "2011.01.01." | 1 |
OR | 1 |
elhunyt is NULL); | 1 |
2023. április 21., péntek
2023.04.21. Tanösvény
Házi feladat:
Befejezni a Tanösvényt.
Hatoslottó, Színészek - a forrásokat, feladatlapot magadnak feltöltötted.
Vasárnap reggel itt a blogban megjelenik a megoldás, ami alapján ellenőrizheted a munkádat, ha akarod.
Kedden együtt ellenőrizzük a Tanösvényeket, Hatoslottót, Színészeket.
Pénteken tz.
Tanösvény megoldás:
Tanösvény
A tanösvény kijelölt, jelzéssel ellátott tematikus túraútvonal, amelyen megismerhetők az érintett terület természeti értékei és kulturális öröksége. A Magyar Nemzeti Park Igazgatóságok által kialakított tanösvények adatai állnak rendelkezésünkre.
1. Hozzon létre a lokális SQL szerveren tanosveny néven adatbázist! Az adatbázis alapértelmezett rendezési sorrendje a magyar szabályok szerinti legyen! Ha az Ön által választott SQL szervernél nem alapértelmezés az UTF-8 kódolás, akkor azt is állítsa be alapértelmezettnek az adatbázis létrehozásánál!
Tábla:
ut (azon, nev, hossz, allomas, ido, vezetes, telepulesid)
azon a tanösvény azonosítója (számláló), ez a kulcs
nev a tanösvény neve (szöveg)
hossz az útvonal hossza kilométerben (szám)
allomas az útvonalon lévő állomások száma (szám)
ido az útvonal bejárásához tervezett idő órában (szám)
vezetes a tanösvényen van-e idegenvezetés (logikai)
telepulesid a település azonosítója, amelyhez a tanösvény tartozik (szám)
telepules (id, nev, npid)
id a település azonosítója (szám), ez a kulcs
nev a település neve (szöveg)
npid a nemzeti park igazgatóság azonosítója, amelyhez a település tartozik
(szám)
np (id, nev)
id a nemzeti park igazgatóság azonosítója (szám), ez a kulcs
nev a nemzeti park igazgatóság neve (szöveg)
2. A tabla.sql és az adatok.sql állományok tartalmazzák a táblákat létrehozó, valamint az adatokat a táblába beszúró SQL parancsokat! Futassa a lokális SQL szerveren elsőként a tabla.sql, majd az adatok.sql parancsfájlt.
A feladatok megoldására elkészített SQL parancsokat a megoldasok.sql állományba illessze be a feladatok végén jelzett zárójelben lévő sor alá!
3.
Készítsen lekérdezést, amely ábécérendben jeleníti meg
a 10 kilométernél hosszabb tanösvények nevét!
SELECT nev FROM ut | 0,5 |
WHERE hossz > 10 | 1 |
ORDER BY nev; | 1 |
4.
A legtöbb útvonalat oktatási célból alakították ki,
így nevükben szerepel a „tan” szócska.
Azonban van néhány kivétel.
Lekérdezés segítségével jelenítse meg
azoknak az útvonalaknak a nevét,
amelyekben nem szerepel a „tan” szócska!
SELECT nev FROM ut | 0,5 |
WHERE nev NOT LIKE '%tan%'; | 1 |
5.
Lekérdezés segítségével írassa ki
annak a nemzeti park igazgatóságnak a nevét, amelyhez
a legkevesebb tanösvény tartozik!
Az igazgatóság nevét és hozzá tartozó tanösvények
számát adja meg!
SELECT np.nev, COUNT(azon) AS 'db' | 1 |
FROM ut | 1 |
INNER JOIN telepules ON telepules.id = ut.telepulesid | |
INNER JOIN np ON np.id = telepules.npid | |
GROUP BY np.nev | 1 |
ORDER BY db | 1 |
LIMIT 1; | 1 |
6.
Lekérdezés segítségével listázza ki azoknak a településeknek
a nevét, amelyekhez egynél több tanösvény tartozik!
A listát a darabszám szerint csökkenően,
a települések nevével együtt jelenítse meg!
SELECT telepules.nev, COUNT(ut.nev) AS 'utak' | 1 |
FROM utak | 1 |
INNER JOIN telepules ON telepules.id = ut.telepulesid | |
GROUP BY telepules.nev | 1 |
HAVING COUNT(ut.nev) > 1 | 1 |
ORDER BY utak DESC; | 1 |
7.
Lekérdezés segítségével listázza ki az „Aggtelek”-kel
azonos nemzeti park igazgatósághoz
tartozó tanösvények nevét,
településük nevét és bejárásuk idejét!
SELECT ut.nev, telepules.nev, ut.ido | 0,5 |
FROM ut | 1 |
INNER JOIN telepules ON telepules.id = ut.telepulesid | |
INNER JOIN np ON np.id = telepules.npid | |
WHERE np.nev LIKE '%Aggtelek%'; | 1 |
8.
Hosszabb és elmélyültebb sétát igényelnek azok a tanösvények,
amelyekhez túravezetőt is felkérnek,
és emellett vagy hosszabbak 5 km-nél,
vagy tíznél több állomásuk van.
Készítsen lekérdezést ezek nevéről,
hosszáról és az állomások számáról
hosszuk szerint csökkenő sorrendben!
SELECT nev, hossz, allomas FROM ut | 0,5 |
WHERE vezetes = 1 AND | 1 |
(ut.hossz > 5 OR ut.allomas > 10) | 0,5+0,5 |
ORDER BY ut.hossz DESC; | 1 |
2024.04.25. Időjárás app
Feladat: Időjárás app - OOP módszerekkel, haladóknak adatkötéssel Az alkalmazás célja, hogy a felhasználók hozzáadjanak és eltávolítsanak v...
-
A következő órán ellenőrizzük mindkét feladatsort.
-
Adatbázis tervező eszköz Elkezdtük megtervezni az első, kisebb adatbázisunkat.
-
1. Be kell fejezni a monitorvásáros feladatsort. 2. Ez egy hosszú feladatsor, jussatok el minél messzebbre. Segítsetek egymásnak. Feladatlap...