O szkoleniu
W trakcie tego szkolenia uczestnicy zdobędą umiejętności niezbędne do efektywnego korzystania z istniejących baz danych, w tym tworzenia i wykonywania zapytań, modyfikowania danych oraz generowania raportów. Ponadto, szkolenie obejmuje zarządzanie własnym serwerem SQL, co pozwoli na pełną kontrolę nad strukturą i bezpieczeństwem danych. Uczestnicy nauczą się tworzyć i konfigurować bazy danych, zarządzać użytkownikami i uprawnieniami, a także monitorować wydajność serwera. Dzięki praktycznym ćwiczeniom i przykładom, szkolenie zapewni solidne podstawy zarówno dla początkujących, jak i dla tych, którzy chcą pogłębić swoją wiedzę w zakresie zarządzania bazami danych i serwerami SQL.

Poziom zaawansowania
od podstaw

Czas trwania szkolenia
5 dni (40h lekcyjnych)

Wymagania sprzętowe
Windows

Baza danych
Szkolenia dostępne są dla następujących baz danych: SQL Server, MariaDB, MySQL, PostgreSQL. Każde z tych szkoleń jest zaprojektowane tak, aby dostarczyć uczestnikom praktyczną wiedzę i umiejętności niezbędne do efektywnego zarządzania i optymalizacji baz danych. Uczestnicy będą mieli okazję pracować na rzeczywistych przykładach i zdobyć certyfikaty potwierdzające ich kompetencje.




Program szkolenia
💡Praca z językiem SQL
Od czego zaczniesz: każde szkolenie na poziomie ponadpodstawowym rozpoczniesz od szybkiej powtórki kluczowych elementów programu. Zapewni to ujednolicenie wiedzy i standardów pracy z kodem w grupie szkoleniowej.
- Przegląd narzędzi do pracy z kodem
- Omówienie składni i standardów języka SQL
- Kwerendy wybierające – DQL (Data Query Language)
- Pobieranie danych z serwera. Praca z poleceniem SELECT
- Obsługa kryteriów w zapytaniu i ich łączenie
- Zasady sortowania i filtrowania danych w języku SQL
- Operatory SQL, ich typy i priorytety
- Zastosowanie funkcji wbudowanych: funkcje tekstowe, czasu, liczbowe i inne
- Złączenia tabel w zapytaniach JOIN (LEFT, RIGHT, OUTER, FULL, CROSS), standardy zapisu, łączenie po wielu kolumnach, funkcje w złączeniach.
- Scalanie wyniku zapytania UNION, UNION ALL, INTERSECT, EXCEPT/MINUS. Warunki i ograniczenie podczas dołączania tabel.
Widoki SQL (View): Przekształcanie zapytań do formy widoków oraz zarządzania nimi. Pozwalają na wielokrotne wykorzystanie raz stworzonego zapytania. Pozwala to na znaczące skrócenie czasu przeznaczanego na tworzenie kodu.
- Jak zapisać zapytanie w formie widoku?
- Jakie są zasady tworzenia wydajnego zapytania? Ograniczenia zapytania SQL.
- Jak można przyśpieszyć wykonanie zapytania?
- W jaki sposób modyfikować i usuwać widoki z użyciem kodu SQL?
- Gdzie można wykorzystać widoki.
Funkcje warunkowe : Warunkowe przekształcanie danych w zapytaniach. W dużym uproszczeniu są to funkcjonalności zbliżone do funkcji Jeżeli znanej z Microsoft Excel.
- Praca z instrukcją CASE
- Tworzenie skutecznych i wydajnych warunków w CASE
- Zastosowanie CASE w WHERE i nie tylko
Podzapytania : Zagnieżdżanie zapytań, tworzenie podzapytań i warunków opartych na podzapytaniach. Temat pomaga zrozumieć budowę wielopoziomowych zapytań, gdzie jedno jest generowane w oparciu o drugie.
- Zalety i wady podzapytań zagnieżdżonych w innych zapytaniach.
- Kwestie wydajnościowe.
- Wynik zapytania jako element drugiego podzapytania – jedna komórka (skalar)
- Jednokolumnowy wynika podzapytania jako element funkcji IN / NOT IN
- Zapytanie dołączone. Wynik zapytania (tabela) jako składnik innego zapytania.
- Podzapytania w JOIN.
- Zapytania skorelowane i wydajność.
Agregacja: Zliczanie i grupowane danych z użyciem funkcji agregujących oraz kostek danych użycie CUBE, ROLLUP.
- Funkcje agregacji wartości liczbowych COUNT(), MIN(), MAX(), SUM(), AVG() z GROUP BY
- Zliczanie wystąpień COUNT() i COUNT(*)
- Agregacja wartości tekstowych (tylko sql server) STRING_AGG()
- Agregacja dla wartości pustych i niepustych NULL/NOT NULL
- Filtrowanie danych przed agregacją Kryteria w wynikach zagregowanych WHERE
- Filtrowanie wyniku po agregacji z użyciem HAVING
- Kostka i półkostka obliczeniowa: CUBE / ROLLUP
- Użycie GROUPING SETS i poziomy grupowania.
Funkcje okien: Praca ze zdefiniowanymi obszarami danych. Obliczenia oparte na wierszach.
- Wstępnie uporządkowany widok zapytania – klauzula OVER i jej możliwości
- Zasady działania: OVER + PARTITION BY + ORDER BY
- Wydajność okien i główne ograniczenia
- Funkcje agregacji w oknach SUM()/COUNT()/MIN()/MAX() i inne zależne od serwera
- Numeracja wierszy z użyciem ROW_NUMBER()
- Funkcje rankingowe, rank, dense_rank i percent_rank
- Pobieranie wskazanych wierszy ze wskazanej partycji: pierwsza/ostatnia/poprzednia/następna wartość grupy
Integracja danych: Przede wszystkim sposobów jak przenieść dane do Excela i innych użytecznych aplikacji, w których pracujesz.
- Kiedy zwykłe kopiuj/wklej to za mało?
- Podłączanie istniejących obiektów bazy danych do arkusza Microsoft Excel.
- Użycie języka SQL w bezpośredniej komunikacji z bazą danych.
- Kiedy użyć ODBC do komunikacji z aplikacją.
💡Zaawansowane zapytania
Wyrażenia tabelaryczne CTE: Tworzenie i wykorzystania wstępnie przeliczanych zapytań do bazy danych. Metody szybkiego tworzenia wielopoziomowych zapytań z łatwym do utrzymania uporządkowanym kodem.
- Podzapytanie typu CTE (Common Table Expression)
- WITH i co dalej? Zasady użycia i możliwości wstępnie przeliczonych zapytań, możliwości i ograniczenia.
- Budowa CTE wieloskładnikowego
- Widoki CTE w bazie danych
Typy danych w bazie danych: Konwersja i normalizacja danych pobieranych z serwera SQL. Wykorzystanie możliwości jakie daje baza danych w zakresie pracy z konkretnymi typami danych takimi jak tekst, wartości liczbowe i data. Ograniczenia i możliwości jakie daje możliwość przekształcania jednych w drugie.
- Kontrola danych wychodzących z zapytania
- Jakie typy i dlaczego powodują problemy?
- Konwersja/rzutowanie danych za pomocą instrukcji CAST
- Dobre praktyki związane z obsługą konwersji typów danych.
Funkcje typu PIVOT/UNPIVOT: Przekształcanie danych poprzez przestawienia kolumn (układ tabeli przestawnej). Tworzenie raportów, które znacząco skracają ilość pobieranych danych.
- Czy konieczne jest budowanie konstrukcji typu PIVOT bezpośrednio w Excelu lub Power Query?
- Budowa zapytania kolumna po kolumnie
- Funkcje PIVOT/UNPIVOT (tylko sql server)
Optymalizacja zapytań: Sposoby przyśpieszenia wykonania zapytania. Jak sprawić, aby wykonanie zapytań było szybsze i mniej obciążające dla serwera bazy danych.
- Jak sprawić, żeby zapytanie działało szybciej
- Kolejność wykonywania operacji w SQL.
- Narzędzia pomocne w optymalizacji zapytania.
- Jak i po co użyć planu wykonania zapytania
- Co to jest i jak działa indeks tabeli?
- Czy możliwe jest użycie indeksu w Widoku?
- Czym się różni widok zmaterializowany od tabeli zmaterializowanej MQT i jak je tworzyć?

💡Obiekty bazy danych
Język DML – Data Modification Language: Zaczniesz skutecznie przetwarzać dane na serwerze.
- INSERT INTO – dodawanie rekordów pojedynczych i z wyniku zapytania
- SELECT INTO tworzenie tabeli z zapytania typu SELECT
- UPDATE – modyfikacja danych
- DELETE usuwanie rekordów
Język DDL Data Definition Language: Nauczysz się pracować z obiektami bazy danych.
- Będziesz tworzyć obiekty takie jak: tabele, widoki i procedury z użyciem języka SQL.
- Poznasz takie polecenia jak CREATE – tworzące obiekt
- ALTER modyfikujące obiekty bazy danych
- DROP – usuwanie obiektów
- Stworzysz i usuniesz własną bazę danych
💡Automatyzacja
Przegląd narzędzi do pracy z bazą danych: Narzędzia uniwersalne; Narzędzia dostarczone przez producenta bazy danych; Narzędzia konfiguracyjne
Tworzenie obiektów programistycznych: Procedury automatyzujące; Własne funkcje skalarne i tabelaryczne; Własne typy danych
Praca z użyciem wiersza poleceń bazy danych: Narzędzia wiersza poleceń w pracy z bazą danych; Parametry pracy ze skryptem – plik wejściowy i plik wyjściowy; Uruchomienie kodu SQL z wiersza poleceń i jego parametryzacja
Automatyzacja czynności serwisowych: Agent SQL; Systemowy harmonogram zadań
💡Podstawy administracji
Wdrażanie serwera baz danych: Planowanie instalacji bazy danych; Instalacja silnika bazy danych; Konfiguracja poinstalacyjna bazy danych; Konfiguracja dostępu
Obsługa kopii zapasowej: Wykonasz kopię bazy danych; Przywrócisz poprawną kopię danych; Przeniesiesz bazę na inny serwer; Zaplanujesz automatyczne tworzenie bazy danych
Zarządzanie uprawnieniami: Poznasz zasady działania uprawnień w bazie danych; Stworzysz i usuniesz użytkowników bazy danych; Zdefiniujesz politykę bezpieczeństwa bazy danych
Codzienna administracja: Monitorowanie bazy danych; Przeglądanie Logu bazy danych; Zarządzanie wydajnością; Scenariusze awaryjne
Słowniczek
Relacyjne bazy danych
Baza relacyjna przechowuje powiązane ze sobą dane w formie tabel, zapewniając do nich łatwy i efektywny dostęp. Dane są połączone relacjami, co pozwala na organizację informacji w sposób logiczny i spójny, dlatego mówimy o modelu relacyjnym. Oprócz tabel, które są podstawowymi strukturami przechowującymi dane, baza relacyjna zawiera również widoki, czyli zapisane zapytania, które mogą być używane do prezentacji danych w określony sposób. Ponadto, baza relacyjna obejmuje inne obiekty, takie jak funkcje, które wykonują określone operacje na danych; procedury, które są zestawami instrukcji SQL wykonywanymi w sposób zautomatyzowany; kursory, które umożliwiają przetwarzanie danych wiersz po wierszu; oraz wyzwalacze, które automatycznie wykonują określone akcje w odpowiedzi na zmiany w danych. Wszystkie te elementy współpracują ze sobą, tworząc kompleksowy system zarządzania danymi, który jest zarówno elastyczny, jak i wydajny.
Czym jest Język SQL
SQL jest strukturalnym językiem zapytań, który służy do pobierania, modyfikacji oraz zarządzania danymi w tabelach baz danych. Dzięki SQL możesz tworzyć zapytania, które pozwalają na pełną kontrolę nad wykonywaniem operacji na danych, w tym ich filtrowaniem, sortowaniem, łączeniem oraz agregacją. SQL umożliwia także definiowanie struktury bazy danych, tworzenie tabel, indeksów oraz relacji między nimi, co pozwala na efektywne zarządzanie dużymi ilościami danych. Jego wszechstronność i moc sprawiają, że jest niezbędnym narzędziem dla analityków danych, programistów oraz administratorów baz danych.