Érettségi‎ > ‎Gyakorlat‎ > ‎Adatbázisok‎ > ‎

Tankönyvrendelés

A középiskolás diákok részére tanáraik minden év kora tavaszán megrendelik a következő évben használt tankönyveket. A rendeléshez  kapcsolódó adatokat adatbázisban rögzítik. Az adatbázis néhány évre vonatkozóan tartalmaz kitalált adatokat.

Feladatok

  1. Készítsen új adatbázist tkrendel néven! A mellékelt négy adattáblát (diak.txtrendeles.txt, tk.txt, tkar.txt) importálja az adatbázisba a fájlnévvel azonos táblanéven (diak, rendeles, tk, tkar)! Az állományok tabulátorral tagolt, UTF-8 kódolású szövegfájlok, az első sorok a mezőneveket tartalmazzák. A létrehozás során minden táblában állítsa be a megfelelő típusokat, és jelölje meg a kulcsnak alkalmas mezőt!

    Táblák:

    diak (az, nev, osztaly)
    az a diák azonosítója (szám), ez a kulcs
    nev a diák neve (szöveg); elképzelhető, hogy az iskolába névrokonok is járnak/jártak
    osztaly az osztály azonosítója (szöveg)

    rendeles (az, ev, tkaz, diakaz, ingyenes)
    az a rendelés azonosítója (szám), ez a kulcs
    ev a rendelés éve (szám)
    tkaz a rendelt könyv azonosítója (szám)
    diakaz a diák azonosítója (szám)
    ingyenes az adott könyvet a diák ingyenesen kéri (logikai), az ingyenes könyvekből nem származik bevétel

    tk (az, kiadoikod, cim, targy)
    az a tankönyv azonosítója (szám), ez a kulcs
    kiadoikod a tankönyvet az adott kiadónál azonosítja (szöveg). Az első két karakter a kiadót határozza meg (például a Neumann Könyvkiadónál NK), az utána következő karakterek pedig a kiadón belül különbözetik meg a könyveket
    cim a tankönyv címe (szöveg)
    targy a tankönyv ehhez a tantárgyhoz kapcsolódik (szöveg)

    tkar (ev, tkaz, ertek)
    ev a tankönyvár erre az évre érvényes (szám), adott évben csak az a könyv rendelhető, ami árat kapott
    tkaz a tankönyv azonosítója (szám) az ev mezővel összetett kulcsot alkot
    ertek a tankönyv ára az adott évben (szám)



    A következő feladatok megoldásánál a lekérdezéseket és a jelentést a zárójelben olvasható néven mentse! Ügyeljen arra, hogy a megoldásban pontosan a kívánt mezők, kifejezések szerepeljenek, felesleges mezőt ne jelenítsen meg!

  2. Készítsen lekérdezést, amely megjeleníti, hogy mely tárgyak oktatásához használnak Neumann Könyvkiadós kiadványt! Ügyeljen arra, hogy minden tantárgy csak egyszer jelenjen meg! (2neumann)
  3. Az irodalom és a történelem tárgy tankönyveinek rendelése 2004 és 2006 között Tóth tanárnő feladata volt. Készítsen lekérdezést, amellyel meghatározza, hogy melyik volt a legdrágább kiadvány, aminek rendelését Tóth tanárnő intézte! Adja meg a könyv címét! (3leg)
  4. Készítsen lekérdezést, amellyel meghatározza a rendelések alapján az évenként ténylegesen befolyt összeget az esetleges ingyenességek figyelembevételével! (4evente)
  5. Készítsen lekérdezést, amely megadja azon könyvek címét és kiadói kódját, amelyekből egy darabot sem rendeltek! (5egysem)
  6. Készítsen lekérdezést, amely megadja azon könyvek címét, amelyek olcsóbbak voltak 2007-ben, mint 2006-ban! (6olcsobb)
  7. Készítsen lekérdezést, amely megadja, hogy az utolsó olyan évben, amelynek rendeléseiről rendelkezünk adatokkal, mely könyvekből rendeltek 50 darabnál többet! Jelenítse meg a könyv címét és a rendelés darabszámát! (7darab50)
  8. Készítsen jelentést, amely tantárgyanként csoportosítva jeleníti meg a 2005-ben rendelhető könyvek címét és árát! A tantárgy neve mellett jelenítse meg az ahhoz tartozó kiadványok számát! Ha a jelentést lekérdezésből készíti, akkor azt ugyanazon a néven mentse! (8ev2005)
  9. Meg kell állapítani, hogy melyik osztályból hányan vették igénybe az ingyenes tankönyveket. Készítse el a 9ingyenes lekérdezést vagy ideiglenes táblát, aminek segítségével az alábbi lekérdezés megadja a helyes választ! (9ingyenes)

    SELECT osztaly, count(diak) AS Db
    FROM 9ingyenes
    GROUP BY osztaly
    ORDER BY count(diak) DESC;