Adatbázis-kezelés 2

  • miklóskuhn
Tipo de plan de clase / proyecto
Plan de clase
Sector
Információs és kommunikációs technológiák
Tema o área de aprendizaje
Informatika / Szoftverfejlesztés / Adatbázis-kezelés II. ; Haladó SQL lekérdezések (Többtáblás lekérdezések és aggregálás)
Materia(s) profesional(es)
Competencias y destrezas a desarrollar
Kritikus gondolkodás és problémamegoldás
Produktivitás és számonkérhetőség
Competencias y destrezas profesionales a desarrollar
Adatkapcsolatok felismerése és leképezése, Hibamentes, szabványos SQL (DML) kód írása, Valós üzleti kérdések (pl. „kik azok a vásárlók, akik egy adott terméket vettek?”) átfordítása adatbázis-lekérdezéssé
Método de enseñanza
egyéni és páros munka
Materia(s) general(es)
Objetivos de aprendizaje y desarrollo
A diákok értsék az INNER JOIN, LEFT JOIN közötti különbséget. Tudják alkalmazni a GROUP BY záradékot és az aggregáló függvényeket (SUM, COUNT, AVG). Képessé válni önállóan összetett információk kinyerésére egy normalizált adatbázisból.
Duración
90 perc (2 tanítási óra)
Parte introductoria y preparación del plan de clase / proyecto

Időtartam

Tevékenység / Lépés

Tanári szerep

Tanulói szerep

0-5. perc

Szervezési feladatok és motiváció: Valós probléma felvetése. „Képzeljétek el, hogy egy webshopot üzemeltettek. A főnök kéri a tegnapi rendelések listáját, de a vásárlók nevei az egyik, a termékek a másik táblában vannak. Hogyan oldjuk meg?”

Problémafelvető, facilitátor.

Figyelés, ötletelés, a valós életbeli hasznosság felismerése.

5-10. perc

Előzetes tudás aktiválása: Gyors ismétlés a táblakapcsolatokról. Mi az az elsődleges kulcs (Primary Key) és az idegen kulcs (Foreign Key)?

Kérdések feltétele (irányított beszélgetés).

Válaszadás, az előző órák (Adatbázis 1) fogalmainak felidézése.

10-15. perc

Órai célkitűzés és előkészülés: A gyakorlati környezet előkészítése. A mintaadatbázis (pl. XAMPP/MySQL vagy SQL Server Management Studio) elindítása és az órai SQL szkript importálása.

Ellenőrzi, hogy mindenkinél fut-e a szerver és betöltött-e az adatbázis.

A fejlesztői környezet megnyitása, a mintaadatbázis betöltése.

Plan de desarrollo de la clase/proyecto

Időtartam

Tevékenység / Lépés

Módszertan / Eszközök

Tanulói tevékenység

15-30. perc

Új ismeret: Az INNER JOIN:


 

1. Halmazelméleti megközelítés (Venn-diagram felrajzolása a táblára).


 

2. A szintaktika bemutatása kivetítőn (SELECT ... FROM tabla1 INNER JOIN tabla2 ON...).

Tanári magyarázat vizuális támogatással (okostábla/projektor).

Jegyzetelés, az elméleti háttér és a szintaxis megértése.

30-45. perc

Vezetett gyakorlás (Közös kódolás):


 

Közösen megoldunk 2-3 feladatot a mintaadatbázison (pl. „Listázzuk ki a diákok nevét és a hozzájuk tartozó osztályfőnököket!”). Képernyőmegosztás használata.

Demonstráció, hibakeresés. A tanár „hangosan gondolkodva” írja a kódot.

A kód párhuzamos gépelése, futtatása, a hibák azonnali jelzése.

45-55. perc

(Szünet vagy lazító/átvezető szakasz a két óra között)

-

-

55-65. perc

Új ismeret: Csoportosítás (GROUP BY):


 

Hogyan számoljuk meg, melyik osztályba hány diák jár? A COUNT() függvény és a GROUP BY záradék összekapcsolása az előző JOIN lekérdezéssel.

Magyarázat, a gyakori szintaktikai hibák (pl. hiányzó oszlop a GROUP BY-ból) hangsúlyozása.

Megfigyelés, kérdések megfogalmazása.

65-80. perc

Önálló munkavégzés (Differenciált feladatmegoldás):


 

A diákok kapnak egy 3 feladatból álló feladatlapot. (1. alap JOIN, 2. JOIN + GROUP BY, 3. Szorgalmi/Kihívás: 3 tábla összekapcsolása).

Mentorálás. A tanár körbejár, figyeli a képernyőket, elakadásoknál rávezető kérdéseket tesz fel.

Önálló problémaelemzés, kódolás, tesztelés és hibajavítás.

Dispositivos digitales utilizados
Gemini
Plan de evaluación

Az értékelés fókuszpontjai:

  1. Formatív (fejlesztő) értékelés az óra közben:
    • A tanár a „Közös kódolás” és az „Önálló munkavégzés” során folyamatosan monitorozza a diákok haladását.
    • Szóbeli megerősítés adása („Jó az irány, de nézd meg a táblák összekapcsolási feltételét az ON után!”).
    • Ha egy hibát sokan elkövetnek (pl. aggregált mezőre tesznek WHERE feltételt HAVING helyett), a tanár megállítja az önálló munkát és frontálisan tisztázza a problémát.
  2. Szummatív/Diagnosztikus értékelés az óra végén (80-87. perc):
    • Módszer: Egy gyors, játékos, 5 kérdéses Kahoot / Quizizz teszt, vagy egy digitális űrlap, amely a kulcsfogalmakra kérdez rá (pl. „Melyik kulcsszóval szűrünk a csoportosítás után?” -> HAVING).
    • Eredmény: A tanár azonnali képet kap arról, hogy az osztály hány százaléka értette meg a logikát.
  3. Lezárás (87-90. perc):
    • Az órai önálló feladatok feltöltése a felhőbe / Google Classroomba (ez alapján a tanár a következő órára javítva differenciálhat).
    • Rövid összefoglalás: mit tanultunk ma (több tábla adataiból csináltunk egyetlen listát).
    • Kitekintés a következő órára (pl. alkérdések / subqueries).
Diferenciación

Az önálló munkavégzés (65-80. perc) során a diákok eltérő tempóban fognak haladni, ezért a differenciálás elengedhetetlen a sikerélmény és a folyamatos fejlődés biztosításához.

  • Támogatás a lemaradóknak (Felzárkóztatás): Számukra biztosítsunk kinyomtatott ER-diagramot (táblakapcsolati ábrát), hogy vizuálisan is lássák a kulcsokat. Alkalmazhatunk "lyukas kód" módszert, ahol a lekérdezés váza adott, csak a kulcsszavakat (pl. ON, JOIN) vagy a táblaneveket kell behelyettesíteniük.
  • Kihívás a gyorsabbaknak (Tehetséggondozás): Aki hamar végez az alapfeladatokkal, ne maradjon tétlen. Kapjon "bónusz" feladatokat, amelyekhez önálló kutatás szükséges (például a HAVING záradék használata a csoportosítás utáni szűréshez), vagy kapcsoljon össze három táblát.
  • Munkaformák variálása: Érdemes páros programozást (pair programming) is bevetni, ahol egy stabilabb tudású és egy bizonytalanabb diák dolgozik együtt egy gépen.
Deberes o tarea del proyecto

Mintaadatbázis a feladatokhoz

Képzeljünk el egy egyszerű webshopot két táblával:

  • Vevok tábla oszlopai: id (PK), nev, varos
  • Rendelesek tábla oszlopai: id (PK), vevo_id (FK), datum, osszeg

Gyakorló feladatok

Az alábbi két feladat a fokozatosság elvére épül, így lefedi az órai anyagot.

1. Feladat (Alap szint – Csak JOIN)

  • A probléma: Listázzuk ki az összes vásárló nevét és a hozzájuk tartozó rendelések dátumát!
  • Fejlesztési cél: A két tábla sikeres összekapcsolása az idegen kulcs alapján.
  • Megoldás:

SQL

 

SELECT Vevok.nev, Rendelesek.datum FROM Vevok INNER JOIN Rendelesek ON Vevok.id = Rendelesek.vevo_id;

2. Feladat (Haladó szint – JOIN és GROUP BY kombinálása)

  • A probléma: Számítsuk ki, hogy az egyes vásárlók (név szerint csoportosítva) eddig összesen mekkora összegben vásároltak a webshopban!
  • Fejlesztési cél: Az aggregáló függvény (SUM) és a GROUP BY záradék együttes alkalmazása egy többtáblás lekérdezésben.
  • Megoldás:

SQL

 

SELECT Vevok.nev, SUM(Rendelesek.osszeg) AS teljes_koltes FROM Vevok INNER JOIN Rendelesek ON Vevok.id = Rendelesek.vevo_id GROUP BY Vevok.nev;

Archivo adjunto