MySQL adatbáziskezelés
avagy hogyan uraljuk az adatokat mint delfin a vizet
A gyakorlatorientált képzés mintapéldákon keresztül mutatja be az ingyenes MySQL adatbáziskezelő szerver szerteágazó lehetőségeit. Először egy példaadatbázist tervezünk, majd megtanuljuk az adatok rögzítésének, módosításának és törlésének módját. Később mindenféle szűrési, rendezési és csoportosítási feltételt kielégítő lekérdezéseket készítünk. Megismerjük az adminisztrátori feladatokat: biztonsági mentés készítése, helyreállítás, jogosultságok kezelése, monitorozás, optimalizálás.
VIDEÓ!!! Április 21-én a képzés oktatója, Virágh István, tartott egy kis bemutató-oktatást a tanfolyamból. A felvételt itt tekintheted meg, a hozzá tartozó virtuális gépet pedig innen töltheted le. (Volt aznap Linux hálózatbiztonság előadás is, ami szintén visszanézhető.)
Kinek ajánljuk?
A tanfolyamot olyan fejlesztőknek ajánljuk, akik többnyire MySQL adatbázisban tárolják az adatokat, ők az echte PHP fejlesztők. Ajánljuk olyan rendszergazdáknak, akik napi rendszerességgel dolgoznak LAMP/WAMP (Apache+MySQL+PHP) szerverekkel. Illetve azon informatikusok részére is fontos lehet a tanfolyam, akik most szeretnének megismerkedni az adatbázisokkal és az SQL-nyelv alapjaival. Számukra egy jól rendszerezett képzést állítottunk össze, melyben széleskörű tudást szerezhetnek az adatbázis kezelés elméletéről, az SQL nyelvről és a MySQL adatbázis kezelő programról.
Szükséges előismeretek
Alapvető informatikai ismeretek, minimális programozói „véna”
A tanultak hasznosítása a való világban
A hallgatók a tanfolyam elvégzése után képesek lesznek egy otthoni vagy vállalati rendszerben működő MySQL adatbázisszervert adminisztrálni és azon SQL-lekérdezéseket írni és futtatni.
Információ a virtuális gépekről
A tanfolyam követéséhez szükséges virtuális gép előre telepítve tartalmazza a szükséges szoftvereket. A virtuális gépet VirtualBox alatt futtatjuk, így mind Windows, mind Linux esetén problémamentesen futtathatók az otthoni számítógépeken.
A tanfolyam hossza
40 óra
Magánszemélyek részére (bruttó) 69 000 Ft, cégek, intézmények részére 69 000 Ft + áfa
Ha ketten jelentkeztek, mindketten kaptok 10% ikerkedvezményt.
Részletes tematika és videók
Az adatbázisszerver konfigurációja: a szerver fizikai paraméterei (CPU, disk, raid, memória). MySQL adatbáziskezelő telepítése. Grafikus (GUI) eszközök telepítése és áttekintése (phpMyAdmin, MySQL GUI Tools, MySQL Workbench stb). A relációs adatbázis modell bemutatása. Alapvető fogalmak: tábla, mező, rekord, kulcs, idegen kulcs, kapcsolatok fajtái, normálformák, redundancia. Egy mintaadatbázis bemutatása és elemzése. Egyszerű adminisztrációs feladatok bemutatása.
A SELECT utasítás ismertetése. Különböző adattípusok áttekintése a MySQL-ben. Egyszerű lekérdezések készítése. A lekérdezett adatok szűrése, rendezése és formázása. Egyszerű függvények és operátorok bemutatása és használata. NULL érték használata. Aggregáló függvények ismertetése: összegzés, minimum/maximum keresés, átlagszámolás. Csoportosítás különböző szempontok szerint. A csoportosított adatok szűrése.
Több táblában szereplő összefüggő adatok lekérdezése. Idegen kulcsok szerepe a táblák összekapcsolásában: hatékonysági megfontolások. Tábla összekapcsolások fajtái: INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN. Speciális tábla összekapcsolási módok: CROSS JOIN, NON-EQUI JOIN. Tábla összekapcsolása önmagával – hierarchikus kapcsolatok lekérdezése: SELF JOIN. Műveletek eredményhalmazokkal: unió, metszet, különbség, összehasonlítás.
Beágyazott lekérdezése készítése. A beágyazott lekérdezések fajtái: számolt kifejezés a SELECT-ben vagy a WHERE-ben. Korreláló al-lekérdezések készítése és elemzése. Mikor melyiket használjuk? Beágyazott lekérdezést vagy tábla összekapcsolást? Vagy esetleg csoportosítást (GROUP BY - HAVING)? Ideiglenes táblák használata.
Táblák tárolási típusai (MyISAM, InnoDB). Adatbázis táblák, kapcsolatok és megszorítások tervezése és készítése. Új rekord beszúrása: INSERT. Rekord törlése: DELETE. Meglévő adatok módosítása: UPDATE. Egyszerre több rekord beszúrása egy másik táblából. Rekordok törlése és módosítása kapcsolt táblákon keresztül. Tranzakció kezelés – izolációs szintek a MySQL adatbázis szerverben. Adatbiztonság – adatintegritás biztosítása. Tranzakciós napló fogalma. Hibakezelés. Metaadatok fogalma és lekérdezési technikája.
Nézetek fogalma és készítésük. Használatuk: bonyolult lekérdezések, gyakran használt lekérdezések, adatrejtés. Lekérdezések nagy rekordhalmazokból. Indexek fogalma és szerepük. Clustered vs. Non-Clustered indexek. Indexek helyes használata. Hatékonysági kérdések. Fulltext indexek fogalma, készítése és használata. Fulltext lekérdezések készítése.
Adattípusok áttekintése. Változók deklarálása. Vezérlő utasítások áttekintése: feltételes utasítások, többszörös elágazás, ciklusok. Hibakezelés és kivételkezelés: HANDLER-ek programozása. Dinamikus SQL lekérdezések készítése és futtatása. Tárolt eljárások írása és futtatása. Felhasználói függvények (UDF) készítése. Rekurzív lekérdezések készítése. Eseménykezelés: triggerek szerepe és programozása.
Adatbázisok logikai és fizikai tervezése. Adatbázis szerver konfigurációja. Feladatok automatizálása: EVENT-ek készítése. Biztonsági mentés készítése. Biztonsági mentésből való helyreállítás. Felhasználók létrehozása és kezelése. Jogosultságok kiosztása. Táblák összevonása (merge) és táblák partícionálása. Adatbázis teljesítményének mérése.
Az SQL lekérdezések elemzése és optimalizálása: a futtatási terv elemzése. Hatékony lekérdezések írása. Indexek optimális használata szűrések, rendezések és tartományi lekérdezések esetén. Konkurencia problémák. Zárolások és zárolási szintek ismertetése. Deadlock kérdésköre. Deadlockok elkerülése. Kurzorok használata. Kurzorok előnyei és hátrányai. Hierarchikus adatok hatékony tárolása. Egyéb tippek és trükkök.
LAMP/WAMP (Apache+MySQL+PHP) rendszerek áttekintése. MySQL adatbázisban tárolt adatok megjelenítése weblapokon. Kapcsolódás MySQL adatbázishoz PHP-ból. Programozási típushibák, és azt hogyan használják ki a hackerek: SQL injection. Védekezés a webes támadások ellen. Műveletek logolása. Teljesítménymérés, lapok gyorsítótárazása (cache).