Kultúrtörténet

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)

alt text

Feladatok:

  1. Futtassa az SQL-szerveren a kulturforras.sql parancsfájlt!

  2. Lekérdezés segítségével írassa ki azon csapatok nevét, amelyek neve a # karakterrel kezdődik!

  3. 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!

  4. Készítsen lekérdezést, amely megadja, hogy ki a névadója a 2018. szilveszterkor aktív feladatsornak!

  5. 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!

  6. 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!

  7. 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!

  8. 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!

  9. 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.

  10. 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.

  11. 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.

kulturforras.sql



Forrás: oktatási hivatal