logisztikai adatbÁzis rendszerek sql alapok, · anyagmozgatási és l ogisztikai r endszerek...

24
Anyagmozgatási és Logisztikai Rendszerek Tanszék LOGISZTIKAI ADATBÁZIS RENDSZEREK SQL ALAPOK, Lénárt Balázs tanársegéd

Upload: dangdiep

Post on 17-Sep-2018

221 views

Category:

Documents


0 download

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

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

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

Anyagmozgatási és

Logisztikai

Rendszerek

Tanszék

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

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.

Anyagmozgatási és

Logisztikai

Rendszerek

Tanszék

KÖSZÖNÖM A FIGYELMET!