Adatbáziskezelés – pizzafutár szolgálat – iskolai gyakorlás

Feladat: egy adott adatbázison, az adatokból SQL lekérdezések segítségével megválaszolni a szintén megadott kérdéseket.
A feladatok és az adatbázis fájl ezen az oldalon megtalálható.

Először hozzunk létre egy új adatbázist. (gyakorláshoz az SQL-box programcsomagot használtuk, melyben a HeidiSQL-ben írtuk a parancsokat.) Az adatbázis neve legyen pizzeria.

Majd a Fájl menü – SQL fájl futtatása … menüpontban tallózzuk be a letöltött pizza.sql fájlt.
Az adatbáziskezelő programunk frissítése után már láthatjuk is a pizzeria adatbázisunk szerkezetét ill. tartalmát. Arra figyeljünk, hogy az sql fájl futtatásakor a pizzeria adatbázis legyen aktív és ne más, mert az aktív adatbázisba fogja létrehozni a táblákat!
Egy adatbázisban általában nem csak egy táblát tárolunk, hanem többet is. Az adatok átláthatóságának érdekében az adatokat célszerű több táblába rendezni. A táblák összekapcsolással (angolul JOIN) két vagy több táblát tudunk összekötni egy összefüggő mező alapján, azaz két különböző tábla rekordjait tudjuk egybefűzve megjeleníteni.

Az összekapcsolásoknak négy típusát különböztetjük meg:

  • (INNER) JOIN
  • LEFT (OUTER) JOIN
  • RIGHT (OUTER) JOIN
  • FULL OUTER JOIN

INNER JOIN: Csak azokat a rekordokat adja vissza, amelyeknek a párja mind a két táblában előfordul.

LEFT JOIN: Visszaadja az összes rekordot a bal oldali táblából, melyhez társítja azokat a jobb oldali rekordokat, amelyekhez talált párt. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

RIGHT JOIN: Visszaadja az összes rekordot a jobb oldali táblából, melyhez társítja azokat a bal oldali rekordokat, amelyekhez talált párt. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

FULL OUTER JOIN: Visszaadja az összes rekordot függetlenül attól, hogy van-e párja valamelyik oldalon vagy sem. Amely rekordokhoz nem talált párt, azokat NULL értékekkel tölti fel.

Ahhoz hogy a pizzériás adatbázis tábláink között könnyebben eligazodjunk, az egyes táblákat összekapcsoló mezőneveket az alábbi táblázatban foglaltam össze:
(prendeles ékezetes lett, de már nem javítom ki)

Látható, hogy pl. ha a pfutar és a prendeles táblákban lévő adatokra van szükség akkor elég a két táblát összekapcsolni, összerendelésekor a fazon mező lesz amelyben az adatok mindkét táblában egyezni fognak.
De az is látható, hogy ha a pfutar és a ppizza táblák adataira van szükség akkor ez csak úgy kivitelezhető, hogy a pfutar táblát össze kell kapcsolni a prendeles táblával (fazon), majd a prendeles táblát a ptetel táblával tudjuk összekapcsolni (razon) és csak ezután jutunk el a ppizza táblához a ppizza és a ptetel összekapcsolásával (pazon).

Ennyi magyarázkodás után jöjjenek a feladatok, megtekintéshez kattints ide!

Vélemény, hozzászólás?

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük