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.