Wprowadzenie do PostgreSQL i SQL
Krótka historia i architektura PostgreSQL
Rola SQL w pracy z bazą danych
Różnice między PostgreSQL a innymi RDBMS (MySQL, Oracle, SQL Server)
Podstawy SQL – operacje na danych
Struktura i składnia języka SQL
Data Query Language (SELECT)
Filtrowanie danych (WHERE, BETWEEN, LIKE, IN)
Sortowanie i ograniczanie wyników (ORDER BY, LIMIT, OFFSET)
Data Manipulation Language (DML)
- INSERT
- UPDATE
- DELETE
Funkcje agregujące i grupowanie danych
Funkcje SUM, AVG, MIN, MAX, COUNT
Grupowanie wyników (GROUP BY, HAVING)
Łączenie tabel – JOIN w PostgreSQL
Rodzaje JOIN (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN)
Common Table Expressions - CTE w PostgreSQL
Podstawowa składnia WITH
Zapytanie z WITH dla czytelności kodu
Funkcje okna (Window Functions) w PostgreSQL
Użycie OVER() dla analiz statystycznych
Ranking danych (RANK(), DENSE_RANK(), ROW_NUMBER())
Rekurencyjne WITH – przykład drzewa hierarchicznego
Transakcje i poziomy izolacji w PostgreSQL
Zasady ACID i jak PostgreSQL zarządza transakcjami
Użycie BEGIN, COMMIT, ROLLBACK
Różne poziomy izolacji (READ COMMITTED, REPEATABLE READ, SERIALIZABLE)
Tworzenie procedur i funkcji SQL w PostgreSQL
Funkcje użytkownika (CREATE FUNCTION)
Tworzenie procedur (CREATE PROCEDURE)
Zastosowanie PL/pgSQL do automatyzacji zapytań - co różni SQL od PL/pgSQL
Praca z dużymi zbiorami danych – partycjonowanie i tabeli tymczasowe
Podział tabel (Partitioning) dla optymalizacji
Tabele tymczasowe (TEMP TABLE) do pracy z danymi
Ładowanie danych do PostgreSQL
Importowanie dużych zestawów danych (COPY FROM)
Strategie optymalizacji importu danych