SQL - egzamin INF.03
Naucz się SQL od zera do egzaminu CKE INF.03
Pełny kurs SQL: DDL, DML, DQL, DCL, TCL, JOIN-y, podzapytania, widoki, indeksy. Z interaktywnym emulatorem w przeglądarce i pełną symulacją egzaminu CKE INF.03.
Moduły kursu
M1 Podstawy baz danych 6 lekcji
-
Czym jest baza danych - analogie z życia
Pierwsze spotkanie z bazą danych. Bez kodu - z przykładami z codziennego życia.
-
Model relacyjny - tabela, wiersz, kolumna, klucz
Kluczowe pojęcia: tabela, wiersz, kolumna. Klucz główny i obcy w wizualizacji.
-
SZBD - co robi MariaDB
Co stoi za napisem „MariaDB". Architektura, użytkownicy, role.
-
Typy danych: INT, VARCHAR, DATE, DECIMAL i reszta
Jak dobierać typy, dlaczego VARCHAR zamiast TEXT, kiedy DATETIME.
-
Klucz główny i klucz obcy - wizualizacja połączeń
PRIMARY KEY i FOREIGN KEY rysowane krok po kroku.
-
Normalizacja 1NF, 2NF, 3NF - krótko i konkretnie
Trzy postacie normalne na przykładach „przed/po".
M2 DDL — definicja struktur 6 lekcji
-
CREATE DATABASE, DROP DATABASE, USE
Pierwsze polecenia DDL - tworzenie i przełączanie baz.
-
CREATE TABLE - pełna składnia z ograniczeniami
Tworzenie tabel z typami, constraints, defaultami.
-
ALTER TABLE - ADD/DROP/MODIFY COLUMN
Zmiany w już istniejącej tabeli - dodawanie i usuwanie kolumn.
-
DROP TABLE, TRUNCATE TABLE - różnice
Kiedy DROP, kiedy TRUNCATE, jak nie zniszczyć danych.
-
AUTO_INCREMENT, DEFAULT, NOT NULL, UNIQUE, CHECK
Ograniczenia kolumnowe - co dają, jak działają.
-
FOREIGN KEY z ON DELETE / ON UPDATE
Kaskadowe usuwanie, SET NULL, RESTRICT - kiedy używać której opcji.
M3 DML — manipulacja danymi 4 lekcji
-
INSERT INTO ... VALUES (i INSERT ... SELECT)
Wstawianie danych - pojedyncze i masowe.
-
UPDATE ... SET ... WHERE (i pułapka braku WHERE)
Aktualizacje danych - z naciskiem na konsekwencje braku WHERE.
-
DELETE FROM ... WHERE
Usuwanie z bezpiecznikami.
-
REPLACE INTO oraz INSERT ... ON DUPLICATE KEY UPDATE
Upsert po polsku - kiedy i jak.
M4 DQL — zapytania SELECT 10 lekcji
-
SELECT ... FROM - podstawy, aliasy, DISTINCT
Pierwsze zapytanie. Wybieranie kolumn, aliasy, eliminacja duplikatów.
-
WHERE i operatory: =, <>, <, >, AND, OR, NOT
Filtrowanie wierszy - logika boolowska w SQL.
-
LIKE z % i _, IN, BETWEEN, IS NULL
Szukanie wzorców, zakresów, wartości pustych.
-
ORDER BY (ASC/DESC), LIMIT, OFFSET
Sortowanie i ograniczanie wyników.
-
Funkcje agregujące: COUNT, SUM, AVG, MIN, MAX
Liczenie, sumowanie, średnie, ekstremalia.
-
GROUP BY i HAVING - różnica między WHERE a HAVING
Grupowanie i filtrowanie grup.
-
Funkcje tekstowe: CONCAT, LENGTH, SUBSTRING, UPPER, LOWER
Manipulacja stringami w MariaDB.
-
Funkcje daty: NOW, CURDATE, YEAR, DATE_FORMAT, DATEDIFF
Operacje na datach i czasie.
-
Funkcje numeryczne: ROUND, FLOOR, CEIL, ABS, MOD
Zaokrąglanie i operacje matematyczne.
-
IF, IFNULL, COALESCE, CASE WHEN
Logika warunkowa w SQL.
M5 Złączenia 5 lekcji
-
INNER JOIN ... ON - wizualizacje Venna
Najczęstsze złączenie - z obrazkami.
-
LEFT JOIN i RIGHT JOIN - kiedy której używać
Złączenia zewnętrzne z dowodami praktycznymi.
-
CROSS JOIN, NATURAL JOIN, JOIN ... USING
Rzadziej używane warianty złączeń.
-
Złączenia wielu tabel (3+)
Łączenie 3, 4, 5 tabel w jednym zapytaniu.
-
Self-join - tabela ze sobą
Klasyk: pracownicy i ich szefowie w tej samej tabeli.
M6 Podzapytania i zbiory 4 lekcji
-
Podzapytania w WHERE (skalarne, kolumnowe, korelowane)
Trzy typy podzapytań w klauzuli WHERE.
-
IN, ANY, ALL, EXISTS - kwantyfikatory w SQL
Operatory porównujące zbiór wartości.
-
Podzapytania w FROM (tabele pochodne)
Tabele „wyprodukowane" z podzapytania.
-
UNION i UNION ALL (oraz INTERSECT, EXCEPT)
Operacje na zbiorach wyników.
M7 Widoki i indeksy 2 lekcji
-
CREATE VIEW i DROP VIEW - po co i kiedy
Widoki jako wirtualne tabele.
-
CREATE INDEX i DROP INDEX - co przyspiesza, co spowalnia
Indeksy - kompromisy między SELECT a INSERT/UPDATE.
M8 DCL — uprawnienia 4 lekcji
-
CREATE USER, DROP USER
Zarządzanie kontami w MariaDB.
-
GRANT ... ON ... TO ... - uprawnienia
Nadawanie uprawnień: SELECT, INSERT, UPDATE, DELETE, ALL.
-
REVOKE ... ON ... FROM ...
Odbieranie uprawnień.
-
FLUSH PRIVILEGES - kiedy jest potrzebne
Odświeżanie cache uprawnień.
M9 TCL — transakcje 3 lekcji
-
START TRANSACTION, COMMIT, ROLLBACK
Bezpieczne wieloetapowe zmiany - albo wszystko, albo nic.
-
SAVEPOINT - częściowy rollback
Punkty kontrolne w transakcji.
-
ACID - Atomicity, Consistency, Isolation, Durability
Cztery filary transakcji na analogii bankomatu.
M10 Eksport/import i administracja 3 lekcji
-
mysqldump - eksport bazy
Backup z konsoli - teoria + zrzuty ekranu.
-
Import pliku .sql - SOURCE i phpMyAdmin
Wczytywanie dumpa do bazy.
-
Kopia zapasowa i odtwarzanie - dobre praktyki
Co, kiedy i gdzie backupować.
M11 Powtórki egzaminacyjne 2 lekcji
-
Najczęstsze pułapki z arkuszy CKE (2019–2025)
Klasyczne błędy ze zdających - i jak ich nie popełnić.
-
Mini-arkusze tematyczne - po 5 pytań w stylu CKE
Praktyka pod egzamin - krótkie zestawy do rozwiązania.