LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS Lénárt Balázs tanársegéd
Anyagmozgatási és Logisztikai Rendszerek Tanszék
TANTERV, SZOFTVER, IRODALOM
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Előadások Időpont: szerda 8:30-10:00 , helye: LFSZÁMG
Dátum
Gyakorlatok Időpont: páratlan kedd 8:30-10:00 , helye: LFSZÁMG Bevezetés, a relációs adatbázisok és az SQL Lénárt nyelv
Gyakvezető
Hét
Dátum
Előadó
1.
9. 11.
Tokodi Adatbázis kezelés
9. 10.
2.
9. 18.
Tokodi Adatbázis kezelés - alapfogalmak
9. 17.
3.
9. 25.
Tokodi Adatmodellezés, relációs adatmodell
9. 24.
4.
10. 2.
Tokodi Normalizálás
10. 1.
-----
5.
10. 9.
Tokodi Adatbázis modellek
10. 8.
Lénárt
6.
10. 16.
Tokodi Műveletek relációs adatbázisokban
10. 15.
-----
7.
10. 23.
-----
8.
10. 30.
Tokodi
9.
11. 6.
Tokodi
10.
11. 13.
Tokodi Az informatikai rendszerek kialakítása
11.
11. 20.
Tokodi
12.
11. 27.
Tokodi
13.
12. 4.
Tokodi Zárthelyi (számítógépes)
12. 3.
14.
12. 11.
Tokodi A logisztikai információs rendszer
12. 10.
-----
10. 22.
A logisztikai folyamat operatív irányításának adatbázisai
10. 29.
A logisztikai fejlesztések adatbázisai
11. 5.
-----
-----
Lénárt SQL alapok: adat lekérdezés, adat rögzítés ----SQL: többtáblás lekérdezések, adat aggregáció -----
Lénárt Adatfeldolgozás Excelben 1., Feladat kiadása -----
-----
Lénárt Adatfeldolgozás Excelben 2.
11. 12.
-----
Rendszermodellezés. Rendszerszervezés alapfogalmak
11. 19.
Lénárt
Az informatikai rendszerek szabályozási modellje, felépítése
11. 26.
-----
----SQL haladó -----
Lénárt Konzultáció -----
----Anyagmozgatási és Logisztikai Rendszerek Tanszék
A félév során használt szoftverek: • Microsoft SQL 2008 R2 Express (ingyenes) • Microsoft Excel 2007 Letölthetőek innen (otthonra gyakorolni): http://www.microsoft.com/en-us/download/details.aspx?id=30438 Fájl: SQLEXPRWT_x86_ENU.exe vagy SQLEXPRWT_x64_ENU.exe Ez a csomag tartalmazza a szükséges SQL Management Studio szoftvert.
Microsoft Excel 2007/2010 https://net.bme.hu/sw/campus.php
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Ajánlott irodalom
http://dev.logisztika.bme.hu/logdb/irodalom/ Anyagmozgatási és Logisztikai Rendszerek Tanszék
PÉLDA
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Mindenki hívja be az alábbi oldalt és regisztráljon!
http://dev.logisztika.bme.hu/logdb
http://dev.logisztika.bme.hu/logdb/eredmenyek.php Anyagmozgatási és Logisztikai Rendszerek Tanszék
Adatok tárolásánál erre számítunk: Vezetéknév
Keresztnév
Nem
Irányítószám
Állat
Kiss
Péter
Férfi
1111
Kutya
Nagy
Győző
Férfi
3200
Macska
Kovács
Rozália
Nő
2200
Hal
Szabó
Piroska
Nő
1039
Egyéb
Márton
Tamás
Férfi
1098
Macska
De valójában ezt kapjuk: Vezetéknév
Keresztnév
Nem
Irányítószám
Állat
Kiss
Péter
1
1111
1
Nagy
Győző
1
3200
2
Kovács
Rozália
2
2200
3
Szabó
Piroska
2
1039
4
Márton
Tamás
1
1098
1 Anyagmozgatási és Logisztikai Rendszerek Tanszék
Hogy lehet ez? Regisztralok reg_id
irszam_varos PK
irszam
FK1 FK3 FK2
vezeteknev keresztnev nem szul_hely haziallat
Nem PK
nem_id nem
varos Allat PK
allat_id allat
Relációkat hozunk létre! Anyagmozgatási és Logisztikai Rendszerek Tanszék
Regisztrálók Vezetéknév
Keresztnév
Nem
Irányítószám
Állat
Kiss
Péter
1
1111
1
Nagy
Győző
1
3200
2
Kovács
Rozália
2
2200
3
Szabó
Piroska
2
1039
4
Márton
Tamás
1
1098
1
Nem
Nem_id Nem
Irszám
Város
Allat_id
Allat
1
Férfi
8128
Aba
1
Kutya
2
Nő
8127
Aba
2
Macska
5241
Abádszalók
3
Hal
….
…..
4
Egyéb Anyagmozgatási és Logisztikai Rendszerek Tanszék
Lekérdezések
Összefoglalva
Érdekességek A lekérdezésben összekötöttem az irányítószámot már egy meglévő településlistával.
Találjunk ki mi is egyet!
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Mire használunk adatbázisokat (a logisztikában)? • • • • • •
Ügyféladatok Termékadatok Készletek Állapotok Bizonylatok Pénzügyek
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
Relációs adatbázis
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Kliens-szerver modell
• Szolgáltatásként fut • IP címről érhető el (kliens): • Helyi gépen (localhost) • Hálózatról • Weben • Stb.. Anyagmozgatási és Logisztikai Rendszerek Tanszék
DMZ 94.21.192.11
Internet
Firewall / Load balancer
Router VPN
RDP 10.1.0.11
POD Application Server 1
POD Conversion Server
POD Storage & Output & Admin
T-HYMP-APP1
T-HYMP-CONV1
T-HYMP-STOR1
10.10.10.11
10.10.10.21
10.10.10.31
POD Database T-HYMP-DB1 Auto redirect
10.10.10.41
POD DC1 T-HYMP-DC1 10.10.10.1
POD Nirva management T-HYMP-NM 10.10.10.200
10.1.0.0/24
10.10.10.0/24 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 definíciós nyelv A Data Definition Language (DDL) az SQL nyelvnek olyan része, ami az adatbázisfelhasználónak lehetővé teszi, hogy létrehozza, vagy módosítsa az adatbázis szerkezetet. Ilyen például a táblák létrehozása vagy törlése. A legfontosabb DDL parancsok itt találhatók. Ezekkel a tanév során nem fogunk foglalkozni (MSc – adatbázisok tervezése). • • • • • • • • •
CREATE TABLE ALTER TABLE DROP TABLE CREATE INDEX ALTER INDEX DROP INDEX CREATE VIEW DROP VIEW STB… 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
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
Data Control Language A Data control parancsok az SQL szolgáltatáshoz való hozzáférés beállításáért felelnek. A Data Control Language (DCL) parancsok elsősorban a felhasználó objektumokhoz való hozzáférését szabályozza. Ilyen parancsok pl a: • • • •
ALTER PASSWORD GRANT REVOKE CREATE SYNONYM
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Data administration parancsok a teljesítmény és egyéb futtatási adatok vizsgálatára szolgálnak. Ilyen parancsok lehetnek pl: • START AUDIT • STOP AUDIT Mi ezzel nem fogunk foglalkozni! A fentieket (data administration command) ne keverjük össze az adatbázis adminisztrációjával! A „Database administration„ az SQL szervertől függ, és gyártónként eltérhetnek, addig a parancsok szabványosak.
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Tranzakciók A korábban felsorolt parancsokat együttesen egy „csokorban” is lehet futtatni, Sőt akár vizsgálatokat, ciklusokat, illetve átalakításokat is lehet közben végezni.
Egy ilyen több parancsból álló gyűjteményt tranzakciónak nevezünk. A tranzakció kezelés alapszavai: • • • •
COMMIT—Elmenti a futtatott tranzakció végeredményét ROLLBACK—Visszavonja az utolsó tranzakciót SAVEPOINT—Elment egy pontot, amíg a ROLLBACK visszaléphet SET TRANSACTION—Nevet ad egy tranzakciónak
Ezzel nem fogunk a gyakorlaton foglalkozni. Bonyolultabb tranzakciókezelés az MSc képzésben (programozás).
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
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
LOGISZTIKAI ADATBÁZISOK
Anyagmozgatási és Logisztikai Rendszerek Tanszék
A gyakorlaton használt adatbázis felépítése
Anyagmozgatási és Logisztikai Rendszerek Tanszék
Importálás Importáljuk be az alábbi teszt adatbázist Excelből!
SQL parancsok
Próbáljuk ki az alábbi parancsokat!
Anyagmozgatási és Logisztikai Rendszerek Tanszék
KÖSZÖNÖM A FIGYELMET!
Anyagmozgatási és Logisztikai Rendszerek Tanszék