Az I. 570. feladat (2022. szeptember) |
I. 570. (É.) Tavaly ősszel Paolo Panzani megházasodott, elvette magyar barátnőjét, Budapesten folytatják életüket. Paolo pizzasütő mester, így 2022 áprilisában beindult a Pizza Panzani – online pizzaműhely. A finom pizzák híre gyorsan terjedt a neten, nyárra már közel ezer vásárló regisztrált oldalukon. Rendelést leadni 10 órától este 22 óráig lehet. A belvárosban álló műhelyükből kizárólag a belső kerületekbe szállítanak a műhely saját futárával. A rendelési rendszert úgy alkották meg, hogy amennyiben egy rendeléskor többféle (akár méret, akár fajta szerint) pizzát is rendelnek, azokat a rendszer külön rendelésként kezeli, a megrendelő azonosítója és a dátum árulkodik a többféle tétel rendelésről.
Erika, Paolo felesége a júliusi rendelések alapján szeretné a vállalkozást továbbfejleszteni akciók bevezetésével (akciós ár; egyet fizet, kettőt kap; boldog óra; a hónap minden negyedik rendelése féláron). Az informatikában jártas bátyja, Alex egy adatbázist készített, a következő táblákkal:
Pizza (pid, név)
pid a pizzafajta azonosítója (számláló) ez a kulcs;
név a pizzafajta megnevezése.
Méret (mid, átm)
mid a méret azonosítója (számláló) ez a kulcs;
átm a pizza átmérője cm-ben (szám).
Ár (ptip, mér, ár)
ptip a pizzafajta azonosítója (szám) ez az összetett kulcs része;
mér a pizza méretének azonosítója (szám) ez az összetett kulcs része;
eár a pizza egységára Ft-ban (szám).
Rendelés (rid, nap, idő, mrid, pit, pm, pdb)
rid a rendelés azonosítója (számláló) ez a kulcs;
nap a hónap napja (szám);
idő a rendelés napon belüli ideje [10:00–22:00] (idő);
mrid a rendelést leadó azonosítója (szám);
pit a pizzafajta azonosítója (szám);
pm a pizza méretének azonosítója (szám);
pdb a rendelt darabszám (szám).
Hozzuk létre adatbázist panzani néven! Importáljuk az adatbázisba a szövegfájlok nevével megegyező táblákba a pizza.txt, a méret.txt, az ár.txt és a rendelés.txt szövegfájlok tartalmát! A fájlok UTF-8 kódolásúak, tabulátorral tagoltak, első sorukban a mezőnevek szerepelnek.
A táblák kapcsolatát a következő ábra mutatja:
A következő kérdések megválaszolásakor és feladatok megoldásánál a lekérdezéseket és a jelentést a zárójelben olvasható néven mentsük. Ügyeljünk arra, hogy a megoldásban pontosan a kívánt mezők szerepeljenek. Gondoskodjunk arról, hogy a lekérdezések értelmes mezőnevei a mező tartalmára utaljanak és hogy az adatok értékei mindenhol teljes szélességükben legyenek olvashatók.
1. Jelenítsük meg a 24 cm-es pizzák nevét és egységárát növekvő egységár, azon beül a pizza neve szerint alfabetikus rend szerint. (1árak24)
2. Melyik a hat legnépszerűbb pizza, azaz amelyekből a legtöbbet rendeltek? A pizza nevét és a rendelt darabszámot szeretnénk látni. (2nyero)
3. Kik azok a visszatérő vásárlók, akik több, mint három napon is rendeltek a hónapban? (3tobb_szor)
4. Melyik napon kapták a legtöbb darabra a megrendelést? Feltehetjük, hogy egy ilyen nap volt. (4maxdb)
5. Melyik pizzákból hányszor rendeltek egyszerre több darabot? (5tobbdb)
6. Átlagosan melyik órában érkezett a hónapban a legtöbb rendelés? (6ora)
7. Mekkora volt a bevétel az egyes pizzafajtákból? A lekérdezés sorai bevétel szerint csökkenő sorrendben legyenek rendezettek. (7bevetel)
8. Melyik méretű pizzából mennyi fogyott a hónap során? (8meret)
9. Készítsük jelentést, amely megadja, hogy aznap, amikor a legtöbb rendelést kapták, melyik pizzából mennyit rendeltek az egyes méretekből. A jelentés az alábbi minta elrendezését kövesse. (9legjobbnap)
Beküldendő egy tömörített i570.zip állományban a panzani adatbázis, vagy az adatbázis tábláit létrehozó, valamint a feladatok megoldását adó SQL-parancsok egy szöveges állományban, és egy rövid dokumentáció, amely tartalmazza az alkalmazott adatbázis-kezelő program nevét és verziószámát.
Letölthető állományok egy tömörített mappában: panzani-forras.zip
(10 pont)
A beküldési határidő 2022. október 17-én LEJÁRT.
Statisztika:
21 dolgozat érkezett. 8 pontot kapott: 6 versenyző. 7 pontot kapott: 4 versenyző. 6 pontot kapott: 5 versenyző. 5 pontot kapott: 1 versenyző. 4 pontot kapott: 2 versenyző. 3 pontot kapott: 1 versenyző. 0 pontot kapott: 2 versenyző.
A KöMaL 2022. szeptemberi informatika feladatai