14
Anyagmozgatási és Logisztikai Rendszerek Tanszék LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ Lénárt Balázs tanársegéd

JOIN, AGGREGÁCIÓ · Anyagmozgatási és L ogisztikai R endszerek Tanszék Adat lekérdezés Annak ellenére, hogy a Data Query Language (DQL) csak egy parancsból áll, mégis a

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

TANTERV

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

AZ SQL NYELV

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

A gyakorlaton használt adatbázis felépítése

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 ]

Anyagmozgatási és

Logisztikai

Rendszerek

Tanszék

KÖSZÖNÖM A FIGYELMET!