icon icon

Kurs SQL zaawansowany - wykorzystanie zaawansowanych opcji funkcji, procedur i zmiennych

icon

Proces szkoleniowy

Analiza potrzeb szkoleniowych

Jeśli masz życzenie dotyczące programu szkolenia, przeprowadzimy dla Ciebie analizę potrzeb szkoleniowych, która będzie wskazówką dla nas, na jakie aspekty programu położyć większy nacisk – tak, by program szkolenia spełniał konkretne potrzeby.

Co zyskujesz?

icon

Precyzyjne zapytania - Nauczysz się pisać złożone zapytania SELECT z WHERE, GROUP BY, HAVING i ORDER BY, dzięki czemu samodzielnie wyciągniesz z bazy dokładnie te dane, których potrzebujesz.

icon

Bezpieczny dynamiczny SQL - Poznasz dynamiczny SQL oraz sposoby ograniczania ryzyka SQL Injection, więc zaczniesz tworzyć elastyczne zapytania i procedury bez narażania aplikacji na typowe błędy bezpieczeństwa.

icon

Sprawne podzapytania - Przećwiczysz podzapytania zagnieżdżone, skorelowane i operator EXISTS, co pozwoli Ci budować krótsze i trafniejsze rozwiązania tam, gdzie proste JOIN-y nie wystarczają.

icon

Funkcje i procedury - Dowiesz się, kiedy lepiej użyć procedury składowanej, a kiedy funkcji skalarnej lub tabelarycznej, dzięki czemu uporządkujesz logikę SQL i uprościsz ponowne użycie kodu.

icon

Lepszy dobór typów danych - Zrozumiesz różnice między typami liczbowymi, tekstowymi, daty i XML, więc łatwiej zaprojektujesz tabele oraz unikniesz problemów z konwersją, wydajnością i jakością danych.

icon

Sterowanie logiką w SQL - Opanujesz IF oraz pętle WHILE i FOR, co pozwoli Ci tworzyć bardziej zaawansowane skrypty administracyjne i przetwarzające dane bez przenoszenia całej logiki do aplikacji.

icon

Kontrola transakcji - Nauczysz się stosować transakcje zgodnie z zasadą ACID i obsługiwać błędy, dzięki czemu bezpiecznie wykonasz operacje na wielu rekordach bez ryzyka niespójności danych.

icon

Automatyzacja przez wyzwalacze - Poznasz wyzwalacze DML i DDL, więc zautomatyzujesz reakcje na zmiany danych i struktury bazy, np. walidację, audyt lub blokowanie niepożądanych operacji.

Program szkolenia

1. Zaawansowane instrukcje SQL

  • zapytania SELECTFROMWHEREGROUP BYHAVINGORDER BY,
  • operacje modyfikujące dane (INSERTUPDATEDELETEMERGE),
  • wykorzystanie instrukcji INSERT INTO ... SELECT,
  • tworzenie i modyfikacja widoków (CREATE VIEWALTER VIEW),
  • Common Table Expressions (CTE) i rekurencyjne CTE,
  • Dynamic SQL – zastosowania, parametryzacja i bezpieczeństwo,
  • ochrona przed SQL Injection,
  • kursory – zastosowania oraz nowoczesne alternatywy oparte na operacjach zbiorowych.

2. Podzapytania i operacje na zbiorach

  • podzapytania skorelowane i nieskorelowane,
  • podzapytania w klauzulach SELECTFROM i WHERE,
  • operatory EXISTSNOT EXISTSINANYALL,
  • operatory zbiorów (UNIONUNION ALLINTERSECTEXCEPT),
  • wybór optymalnej techniki budowy zapytań.

3. Zmienne i sterowanie przepływem

  • deklarowanie zmiennych,
  • przypisywanie wartości,
  • wykorzystanie zmiennych w zapytaniach i procedurach,
  • instrukcje warunkowe (IF...ELSECASE),
  • pętle (WHILE),
  • obsługa wyjątków (TRY...CATCH),
  • zarządzanie błędami i komunikatami.

4. Typy danych i ich wykorzystanie

  • typy liczbowe,
  • typy znakowe (CHARVARCHARNCHARNVARCHAR),
  • typy daty i czasu (DATETIMEDATETIME2DATETIMEOFFSET),
  • typy binarne,
  • dane XML,
  • dane JSON i funkcje JSON (w systemach wspierających tę funkcjonalność),
  • konwersja typów danych,
  • dobór właściwych typów danych pod kątem wydajności.

5. Tabele i struktury pomocnicze

  • tabele tymczasowe lokalne i globalne,
  • zmienne tabelaryczne,
  • tabele pamięciowe (jeżeli wspierane przez silnik bazy danych),
  • wybór odpowiedniej struktury dla danego scenariusza.

6. Procedury składowane

  • zastosowania procedur,
  • budowa procedury składowanej,
  • parametry wejściowe i wyjściowe,
  • zwracanie kodów błędów,
  • Dynamic SQL w procedurach,
  • dobre praktyki projektowania procedur.

7. Funkcje użytkownika

  • funkcje skalarne,
  • funkcje tabelaryczne (Inline Table-Valued Functions),
  • wieloinstrukcyjne funkcje tabelaryczne,
  • funkcje operujące na datach i czasie,
  • funkcje tekstowe,
  • funkcje matematyczne,
  • funkcje konwersji,
  • tworzenie własnych funkcji użytkownika.

8. Transakcje i współbieżność

  • właściwości ACID,
  • BEGIN TRANSACTIONCOMMITROLLBACK,
  • punkty zapisu (SAVEPOINT),
  • poziomy izolacji transakcji,
  • blokady i współbieżność,
  • obsługa błędów w transakcjach.

9. Wyzwalacze (Triggers)

  • wyzwalacze DML (INSERTUPDATEDELETE),
  • wyzwalacze DDL (CREATEALTERDROP),
  • zastosowania biznesowe,
  • audyt zmian,
  • dobre praktyki oraz ograniczenia stosowania wyzwalaczy.

10. Wydajność i optymalizacja kodu T-SQL

  • analiza planów wykonania,
  • wykorzystanie indeksów,
  • optymalizacja procedur i funkcji,
  • eliminacja typowych problemów wydajnościowych,
  • monitorowanie zapytań.

11. Warsztat praktyczny

  • tworzenie procedur składowanych i funkcji,
  • budowa wyzwalaczy,
  • implementacja transakcji i obsługi błędów,
  • wykorzystanie CTE oraz Dynamic SQL,
  • analiza i optymalizacja kodu,
  • rozwiązanie kompleksowego zadania obejmującego programowanie po stronie bazy danych.

Jakie są wymagania wstępne do udziału w szkoleniu?

icon

Podstawy SQL - Powinieneś swobodnie korzystać z prostych zapytań SELECT, filtrowania danych i podstawowych JOIN-ów, aby podczas szkolenia skupić się na zagadnieniach zaawansowanych.

icon

Praca na tabelach - Powinieneś rozumieć, czym są tabele, rekordy, kolumny i klucze oraz umieć wykonywać proste operacje INSERT, UPDATE i DELETE w relacyjnej bazie danych.

icon

Znajomość relacyjnych baz - Powinieneś znać podstawowe pojęcia relacyjnych baz danych, takie jak relacje, warunki łączenia i normalne użycie typów danych, by łatwo śledzić przykłady z kursu.

icon

Doświadczenie praktyczne - Warto, abyś miał już kontakt z pracą w środowisku bazodanowym i uruchamianiem zapytań SQL, ponieważ szkolenie rozwija umiejętności praktyczne, a nie uczy od zera.