[[oktatas:adatbázis-kezelés|< Adatbázis-kezelés]]
====== Többtáblás adatbázis-kezelés példák ======
* **Szerző:** Sallai András
* Copyright (c) 2013, Sallai András
* Szerkesztve: 2013, 2019
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Sportcentrum =====
==== Adatbázismodell ====
A DIA programmal készített adatbábismodell:
{{:oktatas:adatbazis-kezeles:sportcentrum.png|}}
==== Táblák ====
Lehetséges táblák:
^ ugyfelelek ^^^
^ az ^ nev ^ email ^
| 1 | Nagy József | nagy@zold.and |
| 2 | Erős István | eros@zold.and |
| 3 | Tron Emese | tron@zold.and |
| 4 | Elek Sándor | elek@zold.and |
| 5 | Almási Dániel | almasi@feher.and |
| 6 | Piper Tibor | piper@fekete.and |
| 7 | Hogy Albert | hogy@hogy.and |
| 8 | Delfi György | delfi@feher.and |
| 9 | Rigo Tamas | rigo@fekete.and |
| 10 | Rantas Ferenc | rantas@zold.and |
^ tevekenysegek ^^^
^ az ^ nev ^ ar ^
| 1 | torna | 5000 |
| 2 | jóga | 8000 |
| 3 | kondi | 8000 |
| 4 | szolárium | 270 |
| 5 | tanácsadás | 5000 |
| 6 | mérés | 2000 |
| 7 | zumba | 1200 |
^ szolgaltatasok ^^^^
^ az ^ datum ^ ugyfelAz ^ tevAz ^
| 1 | 2012-05-01 | 1 | 1 |
| 2 | 2012-05-01 | 2 | 1 |
| 3 | 2012-05-01 | 3 | 3 |
| 4 | 2012-05-01 | 4 | 1 |
| 5 | 2012-05-02 | 5 | 1 |
| 6 | 2012-05-02 | 6 | 1 |
| 7 | 2012-05-02 | 1 | 7 |
| 8 | 2012-05-03 | 2 | 1 |
| 9 | 2012-05-03 | 4 | 5 |
| 10 | 2012-05-03 | 3 | 3 |
| 11 | 2012-05-04 | 7 | 1 |
| 12 | 2012-05-04 | 8 | 4 |
| 13 | 2012-05-04 | 1 | 5 |
| 14 | 2012-05-05 | 9 | 1 |
| 15 | 2012-05-05 | 10 | 1 |
| 16 | 2012-05-05 | 9 | 6 |
| 17 | 2012-05-05 | 1 | 1 |
| 18 | 2012-05-06 | 2 | 1 |
| 19 | 2012-05-06 | 4 | 2 |
| 20 | 2012-05-06 | 1 | 1 |
| 21 | 2012-05-07 | 3 | 2 |
| 22 | 2012-05-07 | 4 | 5 |
| 23 | 2012-05-07 | 8 | 4 |
==== Mentett adatbázis ====
http://szit.hu/download/oktatas/adatbazis-kezeles/piroskft.sql
==== Feladat 001 ====
Milyen ügyfelek voltak 2012-05-01 napon:
Access:
select ugyfelek.nev
from ugyfelek inner join szolgaltatasok
on ugyfelek.az=szolgaltatasok.ugyfelAz
where datum=#2012-05-01#
;
Mariadb:
select ugyfelek.nev
from ugyfelek inner join szolgaltatasok
on ugyfelek.az=szolgaltatasok.ugyfelAz
where datum="2012-05-01"
;
==== Feladat 002 ====
Mennyi bevétel jött össze tevékenységenként?
select tevekenysegek.nev, sum(tevekenysegek.ar)
as Összeg
from tevekenysegek inner join szolgaltatasok
on szolgaltatasok.tevAz = tevekenysegek.az
group by tevekenysegek.az
select tevekenysegek.nev, sum(tevekenysegek.ar)
as Összeg
from tevekenysegek a inner join szolgaltatasok b
on a.tevAz = b.az
group by tevekenysegek.az
==== Feladat 003 ====
Mennyi bevétel jött össze a
szolgáltatásokból?
select sum(tevekenysegek.ar)
as Összeg
from tevekenysegek a inner join szolgaltatasok b
on a.tevAz = b.az
==== Feladat 004 ====
2013-01-08-n milyen ügyfelek voltak, és mit csináltak?
select ugyfelek.nev, tevekenysegek.nev
from (ugyfelek inner join szolgaltatasok
on ugyfelek.az = szolgaltatasok.ugyfelAz)
inner join tevekenysegek
on szolgaltatasok.tevAz = tevekenysegek.az
where szolgaltatasok.datum = "2013-01-08"