[[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"