icon icon

Kurs SQL średniozaawansowany – praca z danymi i optymalizacja zapytań

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

Sprawne modyfikowanie danych - Nauczysz się bezpiecznie wstawiać, aktualizować i usuwać dane także w bardziej złożonych przypadkach, dzięki czemu szybciej przygotujesz poprawne operacje na tabelach roboczych i produkcyjnych.

icon

Lepsze raporty i podsumowania - Opanujesz GROUP BY, funkcje agregujące i HAVING, więc samodzielnie zbudujesz raporty pokazujące trendy, sumy, średnie i liczności bez potrzeby ręcznego obrabiania wyników poza bazą.

icon

Skuteczne użycie podzapytań - Zaczniesz świadomie stosować podzapytania w WHERE i FROM oraz operatory IN i EXISTS, co pozwoli Ci tworzyć precyzyjne zapytania do filtrowania i porównywania danych z wielu źródeł.

icon

Szybsze działanie zapytań - Dowiesz się, jak tworzyć indeksy, czytać plan wykonania i rozpoznawać wąskie gardła, dzięki czemu usprawnisz zapytania pracujące na dużych tabelach i ograniczysz niepotrzebne obciążenie serwera.

icon

Praktyczna praca z widokami - Nauczysz się budować widoki oparte na złączeniach i podzapytaniach, aktualizować dane przez widoki oraz rozumieć zastosowanie widoków materializowanych w codziennej pracy z bazą danych.

icon

Pewność w typach danych - Lepiej zrozumiesz konwersję typów, pracę z danymi tekstowymi i bardziej zaawansowane typy danych, więc unikniesz błędów wynikających z niezgodności formatów i niepoprawnych przekształceń.

icon

Nowoczesne techniki analizy - Opanujesz funkcje okna, operatory zestawowe oraz funkcje analityczne takie jak LEAD i LAG, dzięki czemu przygotujesz rankingi, porównania i analizy sekwencji bez rozbudowanych obejść.

icon

Bezpieczniejsze operacje w bazie - Poznasz transakcje, współbieżność, obsługę błędów, role i uprawnienia, więc będziesz lepiej kontrolować ryzyko zmian, chronić wrażliwe dane i przewidywać skutki działań wielu użytkowników.

Program szkolenia

1. Zaawansowane operacje na danych (DML)

  • wstawianie danych z wykorzystaniem INSERT INTO ... SELECT,
  • aktualizacja danych z wykorzystaniem podzapytań i złączeń,
  • usuwanie danych z wykorzystaniem warunków oraz podzapytań,
  • instrukcja MERGE (UPSERT) – synchronizacja danych,
  • dobre praktyki podczas modyfikacji dużych zbiorów danych.

2. Zaawansowane zapytania SELECT

  • grupowanie danych (GROUP BY),
  • funkcje agregujące (COUNTSUMAVGMINMAX),
  • filtrowanie grup (HAVING),
  • zaawansowane sortowanie wyników,
  • operacje na wartościach NULL,
  • wyrażenia warunkowe (CASECOALESCENULLIF).

3. Podzapytania i Common Table Expressions (CTE)

  • podzapytania skorelowane i nieskorelowane,
  • podzapytania w klauzulach SELECTFROM i WHERE,
  • operatory EXISTSNOT EXISTSINANYALL,
  • Common Table Expressions (WITH),
  • rekurencyjne CTE.

4. Optymalizacja zapytań

  • indeksy i ich wpływ na wydajność,
  • tworzenie i usuwanie indeksów,
  • analiza planów wykonania (EXPLAINEXPLAIN PLAN),
  • identyfikacja wąskich gardeł,
  • optymalizacja zapytań dla dużych zbiorów danych,
  • dobre praktyki tworzenia wydajnych zapytań.

5. Widoki

  • tworzenie prostych i złożonych widoków,
  • widoki wykorzystujące złączenia i podzapytania,
  • aktualizacja danych przez widoki,
  • widoki materializowane (w systemach, które je obsługują),
  • zastosowanie widoków do zabezpieczania danych.

6. Praca z typami danych

  • konwersja typów danych,
  • funkcje operujące na datach i czasie,
  • funkcje tekstowe,
  • praca z typami liczbowymi,
  • obsługa danych JSON (jeżeli wspierana przez silnik bazy danych).

7. Funkcje analityczne

  • funkcje okna (OVER),
  • ROW_NUMBERRANKDENSE_RANKNTILE,
  • LEAD i LAG,
  • FIRST_VALUE i LAST_VALUE,
  • sumy narastające i średnie kroczące,
  • operatory zbiorów (UNIONUNION ALLINTERSECTEXCEPT).

8. Procedury, funkcje i automatyzacja

  • tworzenie procedur składowanych,
  • funkcje użytkownika,
  • parametry wejściowe i wyjściowe,
  • obsługa wyjątków,
  • debugowanie procedur,
  • podstawy tworzenia wyzwalaczy (Triggers).

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

  • zarządzanie transakcjami (BEGINCOMMITROLLBACK),
  • poziomy izolacji transakcji,
  • blokady i współbieżność,
  • obsługa błędów,
  • zapewnienie spójności danych.

10. Bezpieczeństwo i dobre praktyki

  • role i uprawnienia użytkowników,
  • zabezpieczanie danych wrażliwych,
  • Dynamic SQL – możliwości i zagrożenia,
  • ochrona przed SQL Injection,
  • podstawy audytu operacji na bazie danych,
  • dobre praktyki projektowania i utrzymania kodu SQL.

11. Warsztat praktyczny

  • analiza wymagań biznesowych,
  • budowa złożonych zapytań SQL,
  • wykorzystanie CTE i funkcji okna,
  • optymalizacja zapytań,
  • analiza planów wykonania,
  • rozwiązywanie rzeczywistych problemów z wykorzystaniem SQL.

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

icon

Podstawy SQL SELECT - Powinieneś swobodnie pisać proste zapytania SELECT, wybierać kolumny, filtrować dane klauzulą WHERE i sortować wyniki, aby skupić się na bardziej złożonych technikach.

icon

Znajomość prostych złączeń - Powinieneś rozumieć, jak łączyć dane z co najmniej dwóch tabel przy użyciu podstawowych JOIN, ponieważ dalsza praca będzie opierać się na bardziej rozbudowanych zapytaniach.

icon

Praca na tabelach i rekordach - Powinieneś rozumieć pojęcia tabeli, wiersza, kolumny i klucza oraz wiedzieć, jak odczytywać strukturę prostych baz danych, by łatwiej analizować przykłady podczas szkolenia.

icon

Podstawy modyfikacji danych - Powinieneś znać podstawowe instrukcje INSERT, UPDATE i DELETE w prostych przypadkach, aby podczas szkolenia skupić się na ich bardziej zaawansowanym i bezpiecznym użyciu.