Wprowadzenie do Oracle Database i SQL
Architektura Oracle Database – jak działa?
Struktura bazy: schematy, tabele, indeksy, przestrzenie tabelowe
Różnice między Oracle a innymi bazami danych (PostgreSQL, MySQL, SQL Server)
Podstawowe narzędzia do pracy z Oracle SQL: SQL*Plus, SQLcl, SQL Developer
Operacje na danych – podstawy SQL w Oracle
Struktura i składnia języka SQL
Wprowadzenie do Data Query Language
Podstawy DML (INSERT, UPDATE, DELETE)
Filtrowanie danych (WHERE, BETWEEN, LIKE, IN, IS NULL)
Sortowanie i ograniczanie wyników (ORDER BY, FETCH FIRST n ROWS ONLY)
Funkcje wbudowane SQL Oracle
Funkcje znakowe (UPPER, LOWER, SUBSTR, LENGTH)
Funkcje numeryczne (ROUND, TRUNC, MOD)
Funkcje daty (SYSDATE, CURRENT_DATE, TO_DATE, ADD_MONTHS)
Obsługa wartości NULL (NVL, COALESCE)
Agregacja danych – GROUP BY, HAVING oraz funkcje analityczne
Funkcje agregujące: SUM, AVG, MIN, MAX, COUNT
Grupowanie wyników zapytań (GROUP BY, HAVING)
Różnice między HAVING a WHERE
Złączenia tabel (JOIN) i podzapytania
Rodzaje JOIN w Oracle Database
Podzapytania
Common Table Expressions - CTE
Funkcje okienkowe (Window Functions)
RANK(), DENSE_RANK(), ROW_NUMBER() – numerowanie wierszy
LAG(), LEAD() – porównywanie wartości między rekordami
NTILE() – podział na grupy
Zaawansowana modyfikacja danych
MERGE w Oracle
CASE i DECODE – warunkowe modyfikacje danych
INSERT ALL vs. INSERT FIRST
Indeksy i optymalizacja zapytań
Rodzaje indeksów w Oracle: B-tree, Bitmap, Function-Based Index
EXPLAIN PLAN – analiza kosztu zapytań
HINTS – wymuszanie określonego planu wykonania
Optymalizacja z FETCH FIRST, ROWNUM, ROW_NUMBER()
Transakcje i kontrola dostępu
COMMIT, ROLLBACK, SAVEPOINT – zarządzanie transakcjami
Poziomy izolacji (READ COMMITTED, SERIALIZABLE)
GRANT, REVOKE – zarządzanie uprawnieniami
Praca z dużymi zbiorami danych i integracja SQL z PL/SQL
Widoki i materializowane widoki (VIEW, MATERIALIZED VIEW)
Partycjonowanie tabel (PARTITION BY RANGE, LIST, HASH)
Wprowadzenie do PL/SQL – tworzenie prostych procedur i funkcji
Podsumowanie i zakończenie szkolenia
Omówienie najlepszych praktyk w SQL Oracle
Q&A i troubleshooting typowych problemów
Rekomendacje dla optymalizacji zapytań SQL w Oracle