A 2018/19-es tanévben kultúrtörténeti versenyt szerveztek a középiskolásoknak. Minden fordulóban egy-egy jelentős művész kapcsán kellett feladatokat megoldaniuk a tanulóknak. A vetélkedés egész tanévben tartott, ahogy az egyik feladatsor beküldési határideje lejárt, szinte azonnal kitűzték a következő forduló feladatait. Az értékelésbe beleszámított a megoldási idő is, ezért a csapatok a feladatsor egy-egy megoldott feladatát azonnal beküldték. Minden csapat minden feladatsorra küldött megoldást.
Az adatbázis a versennyel kapcsolatos következő táblákat tartalmazza:
Táblák:
feladatsor (id, nevado, ag, kituzes, hatarido)
id A feladatsor azonosítója (szám), ez az elsődleges kulcs
nevado A feladatsor témáját adó személy neve (szöveg), nincs két azonos név
A személy neve egy, két vagy három szóból áll, melyeket pontosan egy
szóköz választ el egymástól
ag A művészeti ág, amelyhez a személy tartozik (szöveg)
kituzes A feladatsor kitűzési dátuma (dátum)
hatarido A feladatsor feladatainak beadási határideje (dátum)
feladat (id, feladatsorid, pontszam)
id A feladatsor egy feladatának azonosítója (szám), ez az elsődleges kulcs
feladatsorid A feladatsor azonosítója (szám), idegen kulcs
pontszam A feladatban elérhető pontszám (szám)
megoldas (id, feladatid, csapatid, datum, pontszam)
id A feladat egy megoldásának azonosítója (szám), ez az elsődleges kulcs
feladatid A megoldott feladat azonosítója (szám), idegen kulcs
csapatid A feladatot megoldó csapat azonosítója (szám), idegen kulcs
datum A megoldás beadási dátuma (dátum)
pontszam A megoldásra adott pontszám (szám)
csapat (id, nev, tagszam)
id A versenyre nevező csapat azonosítója (szám), ez az elsődleges kulcs
nev A csapat neve (szöveg), nincs két azonos nevű csapat
tagszam A csapat létszáma (szám)

Feladatok:
Futtassa az SQL-szerveren a kulturforras.sql parancsfájlt!
Lekérdezés segítségével írassa ki azon csapatok nevét, amelyek neve a # karakterrel kezdődik!
A feladatsor táblát használva, lekérdezés segítségével jelenítse meg a feladatsor névadójának nevét, ha abban pontosan egy szóköz van!
Készítsen lekérdezést, amely megadja, hogy ki a névadója a 2018. szilveszterkor aktív feladatsornak!
Készítsen lekérdezést, amely meghatározza a végeredményt! A csapatok neve és az általuk elért összpontszám jelenjen meg, utóbbi szerint csökkenő sorrendben!
Eredetileg úgy tervezték, hogy minden feladatsor 150 pontos lesz. Néhány esetben a kitűzés után kellett módosítani a feladatsoron, így ez nem valósult meg. Adja meg lekérdezéssel azokat a feladatsorokat, amelyek nem 150 pontosak! A feladatsor névadóját, a művészeti ágat és a pontszámot jelenítse meg!
Lekérdezés segítségével listázza ki azon csapatok nevét, amelyeknek volt maximális pontszámot érő feladata! Minden csapat neve egyszer jelenjen meg!
Bár a versenyzők lelkesek voltak és törekedtek minden feladatot megoldani, ennek ellenére előfordult, hogy nem minden feladatra adtak be megoldást. Készítsen lekérdezést, amely megadja, hogy a „#win” csapat mely feladatsorokból hány feladatot nem adott be! Jelenítse meg a feladatsor névadóját és a be nem adott feladatok számát!
Készítsen lekérdezést, amely megadja, hogy az „irodalom” művészeti ághoz tartozó feladatsorok közül melyeket kellett ugyanabban a hónapban beadni, mint amikor kitűzték? Adja meg a feladatsorok névadóját!
SQL-nyelven két dátum napokban kifejezett különbségét a Datediff függvénnyel lehet meghatározni. Az alábbi példák mutatják használatát:
Datediff('2020-12-02', '2020-12-01')
Datediff('2019-01-04', '2018-12-31')
Az első esetben 1, a másodikban 4 a visszaadott érték. A következő feladatok megoldásánál használhatja a Datediff() függvényt.
Lekérdezés segítségével adja meg, melyik feladatsor megoldására volt a legkevesebb idő! A feladatsor névadóját jelenítse meg! Ha több ilyen feladatsor van, elegendő az egyiket megadnia.
Készítsen lekérdezést, amely megadja, hogy mely feladatoksorokat tűzték ki az előző beadási határidejét követő napon! A feladatsor névadóját és a kitűzés idejét jelenítse meg! A feladat megoldása során kihasználhatja, hogy egyszerre csak egy feladatsor volt aktív.
Forrás: oktatási hivatal