LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS Lénárt Balázs tanársegéd
TANTERV, SZOFTVER, IRODALOM
Hét Dátum Előadó Előadások Időpont: szerda 8:30-10:00, helye: LFSZÁMG Dátum Gyakvezető 1. 9. 11. Tokodi Adatbázis kezelés 9. 10. Lénárt 2. 9. 18. Tokodi Adatbázis kezelés - alapfogalmak 9. 17. ----- ----- Gyakorlatok Időpont: páratlan kedd 8:30-10:00, helye: LFSZÁMG Bevezetés, a relációs adatbázisok és az SQL nyelv 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 6. 10. 16. Tokodi Műveletek relációs adatbázisokban 10. 15. ----- ----- SQL: többtáblás lekérdezések, adat aggregáció 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 11. 5. Lénárt Adatfeldolgozás Excelben 2. A logisztikai fejlesztések adatbázisai 10. 11. 13. Tokodi Az informatikai rendszerek kialakítása 11. 12. ----- ----- 11. 11. 20. Tokodi 12. 11. 27. Tokodi Rendszermodellezés. Rendszerszervezés - alapfogalmak Az informatikai rendszerek szabályozási modellje, felépítése 11. 19. Lénárt SQL haladó 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. ----- -----
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
Ajánlott irodalom http://dev.logisztika.bme.hu/logdb/irodalom/
PÉLDA
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
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
Hogy lehet ez? Regisztralok reg_id irszam_varos PK irszam FK1 FK3 FK2 vezeteknev keresztnev nem szul_hely haziallat PK Nem nem_id nem varos Allat PK allat_id allat Relációkat hozunk létre!
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 1 Férfi 2 Nő Irszám Város 8128 Aba 8127 Aba 5241 Abádszalók... Allat_id Allat 1 Kutya 2 Macska 3 Hal 4 Egyéb
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!
Mire használunk adatbázisokat (a logisztikában)? Ügyféladatok Termékadatok Készletek Állapotok Bizonylatok Pénzügyek
AZ SQL NYELV
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.
Adatbázis Relációs adatbázis
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..
DMZ Internet 94.21.192.11 VPN Router RDP 10.1.0.11 Firewall / Load balancer POD Application Server 1 T-HYMP-APP1 10.10.10.11 POD Conversion Server T-HYMP-CONV1 10.10.10.21 POD Storage & Output & Admin T-HYMP-STOR1 10.10.10.31 Auto redirect POD DC1 POD Database T-HYMP-DB1 10.10.10.41 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
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
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
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
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.
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
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.
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).
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
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;
LOGISZTIKAI ADATBÁZISOK
A gyakorlaton használt adatbázis felépítése
Importálás Importáljuk be az alábbi teszt adatbázist Excelből! SQL parancsok Próbáljuk ki az alábbi parancsokat!
KÖSZÖNÖM A FIGYELMET!