SQL alapok

DevOps | Adatbázis-kezelés
Nehézség: Közép
Tanfolyam hossza: 3 nap

RDBMS és SQL alapok, egyszerű és aggregált lekérdezések, JOIN típusok, séma létrehozása

CÉLOK
Bár alternatív megközelítéseket használó adatbázis-technológiák is terjedőben vannak, jelenleg még mindig a relációs adatbázisok a legelterjedtebbek. Ezért ezeknek az adatbázisoknak a használatát alapszinten minden szoftverfejlesztőnek és üzemeltetőnek ismernie kell. A tanfolyam során megismerjük a relációs adatmodellt, a táblák létrehozását és normalizálását, illetve adatok felvitelét, lekérdezését, módosítását és törlését. A tanfolyamot elvégzett résztvevők nem ijednek majd meg egy outer jointól vagy egy subquery-től sem! A tanfolyamot MySQL-lel vagy egyéb más adatbázis-kezelővel is meg tudjuk tartani.

TEMATIKA

• Bevezetés a relációs adatbázisok használatába
– A relációs adatbázisok alapvető koncepciói, sajátosságai
– Modellezés a relációs adatmodellel, normál formák
– Objektum-orientált modellek leképezése relációs modellekre
– Relációkon végezhető műveletek
– Az SQL lekérdezőnyelv

• Egyszerű lekérdezések
– A SELECT három funkciója: join, kiválasztás, projekció
– Numerikus, karakteres és dátum adattípusok
– Operátorok a kiválasztott oszlopokon
– Aritmetikai operátorok
– Sztringek összefűzése
– Feltételek megfogalmazása kiválasztáshoz (= < > <= >= != <>)
– Logikai műveletek a feltételeken: AND, OR, XOR, NOT
– A BETWEEN és az IN kulcsszavak
– Karakteres mintaillesztés a LIKE kulcsszóval
– NULL értékek tesztelése
– Operátorok precedenciája
– Rendezés az ORDER BY kulcsszóval
– Több oszlop szerinti rendezés
– A LIMIT kulcsszó

• Adatmanipuláció és adatkonverzió függvényekkel
– Egysoros és többsoros függvények fogalma
– Az egysoros függvények ismertetése
– Karakteres függvények
– Numerikus függvények
– Dátumfüggvények
– Explicit és implicit adatkonverzió fogalma
– Explicit adatkonverzió függvényekkel
– Feltételes kifejezések: CASE, IF, IFNULL, NULLIF

• Aggregált lekérdezések
– Adatok aggregációja a GROUP BY kulcsszóval
– Többsoros függvények: COUNT, AVG, SUM, MAX, MIN, VARIANCE, STDDEV
– Feltételek megfogalmazása aggregált adatokon a HAVING kulcsszóval

• Lekérdezések összekapcsolt táblákon
– Az összekapcsolások típusai
– Equijoin és nem-equijoin típusú összekapcsolások
– Természetes összekapcsolás (Natural Join)
– Belső összekapcsolás (Inner Join)
– Külső összekapcsolások (Right/Left/Full Outer Join)
– Descartes-szorzat képzése (Cross Join)
– Tábla összekapcsolása saját magával (Self Join)

• Beágyazott lekérdezések, halmazoperátorok
– A beágyazott lekérdezések (subquery) fogalma
– Egy- és többsoros beágyazott lekérdezések
– Beágyazott lekérdezések a SELECT után
– Beágyazott lekérdezések a FROM után
– Beágyazott lekérdezések a WHERE/HAVING után
– Korrelált és nem-korrelált beágyazott lekérdezések
– Lekérdezések összekapcsolása halmazoperátorokkal: UNION, UNION ALL, INTERSECT, MINUS

• Adatok módosítása
– Adatok beszúrása (INSERT)
– Adatok módosítása (UPDATE)
– Adatok törlése (DELETE, TRUNCATE)
– A tranzakciókezelés fogalma
– ACID-tulajdonságok
– Tranzakciók kezelése: COMMIT, ROLLBACK, SAVEPOINT
– Lekérdezett adatok zárolása (SELECT FOR UPDATE)

• Táblák létrehozása
– Az adatbázisban tárolható objektumok típusai: séma, tábla, index, nézet, szekvencia
– Adattípusok
– Tábla létrehozása (CREATE TABLE)
– Tábla létrehozása lekérdezéssel (CREATE TABLE … SELECT)
– Tábladefiníció megváltoztatása (ALTER TABLE)
– Tábla kiürítése (TRUNCATE TABLE)
– Tábla törlése (DROP TABLE)
– Kényszerek: UNIQUE, NOT NULL, PRIMARY KEY, FOREIGN KEY, CHECK