join, aggregÁciÓ · anyagmozgatási és l ogisztikai r endszerek tanszék adat lekérdezés annak...
TRANSCRIPT
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ
Lénárt Balázs
tanársegéd
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Hét Dátum Előadó
Előadások
Dátum Gyak-vezető
Gyakorlatok
Időpont: szerda 8:30-10:00 , helye: LFSZÁMG
Időpont: páratlan kedd 8:30-10:00 , helye: LFSZÁMG
1. 9. 11. Tokodi Adatbázis kezelés 9. 10. Lénárt Bevezetés, a relációs adatbázisok és az SQL nyelv
2. 9. 18. Tokodi Adatbázis kezelés - alapfogalmak 9. 17. ----- -----
3. 9. 25. Tokodi Adatmodellezés, relációs adatmodell 9. 24. Lénárt SQL alapok: adat lekérdezés, adat rögzítés
4. 10. 2. Tokodi Normalizálás 10. 1. ----- -----
5. 10. 9. Tokodi Adatbázis modellek 10. 8. Lénárt SQL: többtáblás lekérdezések, adat aggregáció
6. 10. 16. Tokodi Műveletek relációs adatbázisokban 10. 15. ----- -----
7. 10. 23. ----- ----- 10. 22. Lénárt Adatfeldolgozás Excelben 1., Feladat kiadása
8. 10. 30. Tokodi A logisztikai folyamat operatív irányításának adatbázisai
10. 29. ----- -----
9. 11. 6. Tokodi A logisztikai fejlesztések adatbázisai
11. 5. Lénárt Adatfeldolgozás Excelben 2.
10. 11. 13. Tokodi Az informatikai rendszerek kialakítása 11. 12. ----- -----
11. 11. 20. Tokodi Rendszermodellezés. Rendszerszervezés - alapfogalmak
11. 19. Lénárt SQL haladó
12. 11. 27. Tokodi Az informatikai rendszerek szabályozási modellje, felépítése
11. 26. ----- -----
13. 12. 4. Tokodi Zárthelyi (számítógépes) 12. 3. Lénárt Konzultáció
14. 12. 11. Tokodi A logisztikai információs rendszer 12. 10. ----- -----
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Adatbázis parancsok fajtái: • Data Definition Language (DDL) • Data Manipulation Language (DML) • Data Query Language (DQL) • Data Control Language (DCL) • Data administration commands • Transactional control commands
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Adat lekérdezés Annak ellenére, hogy a Data Query Language (DQL) csak egy parancsból áll, mégis a legtöbbet használt és az egyik legösszetettebb része az SQL nyelvnek! Az alap parancsszava a
SELECT A parancs rengeteg záradékkal rendelkezik és a legkülönfélébb lekérdezéseket (szűréseket) lehet vele lefuttatni az adatbázisszerveren. A lekérdezés (query) valójában egy kérés a szerver felé. A lekérdezést általában egy kliens szoftverből indítjuk, ez lehet egy alkalmazás, vagy parancssor is. A parancsok szabványosak és akár egy szöveges szerkesztőben elkészíthetőek.
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Aggregáló funkciók használata
Operator Leírás
COUNT Megszámolja az adott elemek (objektumok) számát
SUM Összegzi a lekérdezés eredményében lévő adott oszlopok értékét
MAX Az eredmény halmazból a legnagyobbat választja
MIN Az eredmény halmazból a legkisebbet választja
AVG Átlagot képez
SELECT COUNT [ (*) | (DISTINCT | ALL) ] (COLUMN NAME) stb.. SELECT MAX [ (*) | (DISTINCT | ALL) ] (COLUMN NAME) FROM (tbl_name) GROUP BY (COLUMN NAME)
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Példák: SELECT COUNT(*) FROM kontener; SELECT MAX(teherbiras), konter_tipus FROM kontener_tipus GROUP BY konter_tipus; SELECT TOP 1 MAX(teherbiras), konter_tipus FROM kontener_tipus GROUP BY konter_tipus;
Csoportosítás szintaxis SELECT FUNCTION(COLUMN1), COLUMN2 FROM TABLE1, TABLE2 WHERE CONDITIONS GROUP BY COLUMN1, COLUMN2 ORDER BY COLUMN1, COLUMN2
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Önálló feladatok: • Maximális teherbírású közúti jármű rendszáma • Közúti járművek átlagos teherbírása • Bérelt konténerek száma • Legkisebb konténer befoglaló méret • Utolsó konténer mozgatás dátuma • Konténer mozgatások összes ideje [segítség: DATEDIFF(SECOND, kezd, bef) ] • Konténer mozgatások átlagos ideje • Konténer mozgatások összes ideje átmozgatásonként • Melyik városból hány ügyfelünk van?
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Példa: SELECT kontener.kont_id, kontener_tipus.konter_tipus FROM kontener, kontener_tipus WHERE kontener.tipus = kontener_tipus.tipus_id;
Kereszttáblás lekérdezések
Van jobb megoldás is, ez a megoldás átláthatatlanná válhat
SELECT TABLE1.COLUMN1, TABLE2.COLUMN2... FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.COLUMN_NAME = TABLE2.COLUMN_NAME
SELECT kontener.kont_id, kontener_tipus.konter_tipus FROM kontener INNER JOIN kontener_tipus ON kontener.tipus = kontener_tipus.tipus_id;
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Önálló feladtok: • Konténerek listája, az összes adattal (típus, méretek, stb..) • Konténerek, amik nem béreltek és 1C típusúak • Konténer mozgatás esetén mikor melyik helyről melyik helyre lettek a
konténerek mozgatva? • Ottó nevű sofőr melyik konténereket hozta a telephelyre? • Melyik konténer melyik ügyfélhez tartozik? • Ügyfelenkénti bontásban a beérkezett konténerek száma • A Waberer’s konténereinek összes térfogata
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Al-lekérdezések (sub-queries)
SELECT COLUMN_NAME [, COLUMN_NAME ] FROM TABLE1 [, TABLE2 ] WHERE COLUMN_NAME OPERATOR
(SELECT COLUMN_NAME [, COLUMN_NAME ] FROM TABLE1 [, TABLE2 ] [ WHERE ])
UPDATE TABLE SET COLUMN_NAME [, COLUMN_NAME) ] =
(SELECT ]COLUMN_NAME [, COLUMN_NAME) ] FROM TABLE [ WHERE ]