Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

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