Tartalomjegyzék

< Adatbázis-kezelés

Többtáblás adatbázis-kezelés példák

Sportcentrum

Adatbázismodell

A DIA programmal készített adatbábismodell:

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

https://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"