logisztikai adatbÁzis rendszerek sql alapok, · anyagmozgatási és l ogisztikai r endszerek...
TRANSCRIPT
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
LOGISZTIKAI ADATBÁZIS RENDSZEREK SQL ALAPOK,
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
A Structured Query Language (SQL) egy szabványos nyelv, amely a relációs adatbázissal való kommunikációért felel. A prototípust az IBM fejlesztette ki Dr. E.F. Codd „A Relational Model of Data for Large Shared Data Banks” publikációja alapján. Nem sokkal az IBM prototípusa után 1979-ben az ORACLE piacra dobta az első igazi SQL terméket, amely most az egyik vezető adatbázis szállítóvá vált a világon.
Az amerikai szabványügyi hivatal (American National Standards Institute (ANSI)) az IBM megvalósítása alapján szabványosította a nyelvet. Az első szabvány 1986-ban jelent meg. 1987-ben az ANSI SQL szabványt is elfogadták, amelyet a nemzetköti szabványügyi hivatal is átvett (International Standards Organization (ISO)). A szabványt 1992-ben (SQL-92) és 1999-ben (SQL-99) is frissítették. A legújabb szabvány jelenleg a 2008-ban elfogadott SQL-2008.
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
Angol mondat -> SQL parancs Select the first name and the last name from the registrants table!
Select the first name and the last name from the registrants table! SELECT firstname, lastname FROM registrants;
SELECT vezeteknev, keresztnev FROM regisztralok;
Select the first name from the registrants table and order it by first name!
Select the first name from the registrants table and order it by first name!
SELECT keresztnev FROM regisztralok ORDER BY keresztnev;
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Az adattáblák felépítése • Mezők (fields) • Rekordok, vagy sorok (Records, Rows) • Oszlopok (Columns) • Elsődleges kulcs (Primary key) • NULL érték
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Szintaxis áttekintés (kulcsszavak) SELECT ……. FROM ……. WHERE ……. ORDER BY
SELECT [ * | ALL | DISTINCT COLUMN1, COLUMN2 ] FROM TABLE1 [ , TABLE2 ];
Példák: SELECT * FROM kontener; SELECT leiras FROM kontener; SELECT DISTINCT leiras FROM kontener;
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Önálló feladat: Hány sort adnak vissza az alábbi lekérdezések: • Ügyfelek száma • Ügyfél városok száma • Közúti jármű gyártók (típus) száma
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
WHERE ZÁRADÉK SELECT [ ALL | * | DISTINCT COLUMN1, COLUMN2 ] FROM TABLE1 [ , TABLE2 ] WHERE [ CONDITION1 | EXPRESSION1 ] [ AND | OR CONDITION2 | EXPRESSION2 ]
Operator Leírás
= Egyenlő
<> Nem egyenlő (!=)
> Nagyobb
< Kisebb
>= Nagyobb vagy egyenlő
<= Kisebb vagy egyenlő
BETWEEN Közötte van
LIKE Minta hasonlítás
IN Benne van egy listában
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
PÉLDA Válasszuk ki az 1C típusú konténereket! SELECT * FROM kontener_tipus; SELECT * FROM kontener_tipus WHERE konter_tipus = '1C'; SELECT kont_id, leiras, tipus FROM kontener WHERE tipus = 5; Válasszuk ki az 1C típusnál kisebb konténereket! SELECT kont_id, leiras, tipus FROM kontener WHERE tipus < 5;
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
PÉLDA Válasszuk ki azokat a konténereket, amik béreltek! SELECT * FROM kontener WHERE leiras LIKE '%bérelt%'; Válasszuk ki azokat a konténereket, amik béreltek ÉS 1C típusúak! SELECT * FROM kontener WHERE leiras LIKE '%bérelt%' AND tipus = 5;
Önálló feladat: Hány sort adnak vissza az alábbi lekérdezések: • 09. kerületi ügyfelek listája • Ottó nevű sofőr tehergépkocsijának rendszáma és teherbírása • MÁV konténerek listája, amik nem béreltek • MÁV kocsik száma 104307460473 és 204307460474 között
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
ORDER BY ZÁRADÉK SELECT [ ALL | * | DISTINCT COLUMN1, COLUMN2 ] FROM TABLE1 [ , TABLE2 ] WHERE [ CONDITION1 | EXPRESSION1 ] [ AND | OR CONDITION2 | EXPRESSION2 ] ORDER BY COLUMN1 | INTEGER [ ASC | DESC ]
Operator Leírás
ASC ASCENDING -> Növekvő [A-Z]
DESC DESCENDING -> Csökkenő [Z-A]
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Operator Leírás
<>, != (NOT EQUAL)
NOT BETWEEN
NOT IN
NOT LIKE
IS NOT NULL
NOT EXISTS
NOT UNIQUE
NEGÁCIÓ
ARITMETIKAI OPERÁTOROK
Példa: SELECT teherbiras, (1 +1) * 5 * teherbiras FROM kontener_tipus;
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Önálló feladat: Feladat: • Tegyük növekvő sorrendbe a konténereket konténer szám alapján! • Tegyük sorrendbe a közúti járműveket rendszám alapján! • MÁV konténerek listája, amik nem béreltek, növekvő sorrendben • 1C típusú konténerek, akinek a tulajdonosa a MÁV Cargo, csökkenő
sorrendben • Konténer átmozgatások 2013-09-10 8 óra és 18 óra között. • Melyik az a konténer típus, ahol nincs megadva magasság? (NULL)
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Adatmódosító utasítások Data Manipulation Language (DML) az SQL nyelvben az adatok manipulációjáért felel. Három klasszikus parancs van, amelyet az összes SQL adatbázis kezelő támogat: • INSERT • UPDATE • DELETE
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
INSERT INTO TABLE_NAME VALUES (‘value1’, ‘value2’, [ NULL ] ); Példa: INSERT INTO ugyfel VALUES ('6','Sufnituning Bt.','1023244-1-1', 'Nagy Elemér','[email protected]','1111','','','') vagy INSERT INTO ugyfel (ugyfel_id,cegnev,adoszam,kapcsolat_tarto,email,irszam) VALUES ('6','Sufnituning Bt.','1023244-1-1', 'Nagy Elemér','[email protected]','1111') Elsődleges kulcs! (primary key)
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Módosítás UPDATE TABLE_NAME SET COLUMN_NAME = ‘VALUE’ [WHERE CONDITION]; Példa: UPDATE ugyfel SET varos = ’Budapest’ WHERE ugyfel_id = ’6’; Törlés DELETE FROM TABLE_NAME [WHERE CONDITION]; DELETE FROM ugyfel WHERE ugyfel_id = 6;
Soha se felejtsük el a WHERE záradékot! Ebben az esetben adatot vesztünk!
Anyagmozgatási és
Logisztikai
Rendszerek
Tanszék
Önálló feladat: • Vigyünk fel új ügyfeleket! • Vigyük fel a meglévő ügyfelek címét! (internetes keresés) • Vigyünk fel közúti járműveket! • Kis Béla helyett Mildenberger Árpád lett a KBC-921-es
rendszámú jármű sofőrje. • MAVU6441836 konténert megvette a Hungarospedi Kft.