Język i baza SQL w 5 dni
Szkolenia dostępne są dla następujących baz danych: SQL Server, Azure SQL, Oracle, IBM DB2, MariaDB, MySQL, PostgreSQL, Hive SQL.
O szkoleniu
Szkolenie przekrojowe, gdzie nauczysz się korzystać z istniejącej bazy danych oraz zarządzać swoim własnym serwerem SQL.
Cel szkolenia
Zapoznanie z terminologią i narzędziami niezbędnymi w pracy z bazą danych. Rozszerzenie znajomości języka SQL oraz wykorzystanie go w codziennej pracy, automatyzacji i administracji bazy danych.
Adresaci szkolenia?
Osoby korzystające z możliwości jakie daje własny serwer SQL lub pragnące odświeżyć swoją wiedzę z tego zakresu.
Co usprawnisz w swojej pracy?
Nauczysz się efektywnie pobierać dane. Skrócisz ścieżki przepływu danych poprzez pominięcie plików CSV, Excel itp. Zdobędziesz umiejętność korzystania z najnowszego narzędzia analitycznego. Zwiększysz swoją pewność w pracy, dzięki nabyciu nowych umiejętności. Zdecydowanie podniesiesz swoje szanse na awans. Radykalnie podniesiesz poziom swoich kompetencji zawodowych.
Gdzie użyjesz nabytej wiedzy?
Podniesiesz efektywność pracy związanej z tworzeniem raportów i zestawień w arkuszach kalkulacyjnych i narzędziach BI. Zauważysz też wzrost komfortu w dostępie do danych. Zautomatyzujesz codzienne czynności. Będziesz w stanie zarządzać własnym serwerem SQL.
Czego się nauczysz?
Utworzysz ujednolicony system raportujący. Standaryzacja metod generowania raportów i tworzenia zestawień dla analiz przestanie być dla Ciebie problemem. Równocześnie przeniesiesz bezpieczeństwo tworzonych analiz na nowy wyższy poziom.
Baza danych:
Poziom zaawansowania:
Od podstaw do zaawansowanego
Czas trwania szkolenia:
5 dni (40h lekcyjnych)
Wymagania sprzętowe:
Windows, Mac*, Linux*
(*funkcjonalność może być ograniczona)
Relacyjne bazy danych
Baza relacyjna przechowuje powiązane ze sobą dane w formie tabel, zapewniając do nich dostęp. Dane połączone są relacjami, dlatego mówimy o modelu relacyjnym. Oprócz tabel baza zawiera widoki, czyli zapisane zapytania i inne obiekty takiej jak funkcje, procedury, kursory, wyzwalacze itd.
Czym jest Język SQL
SQL jest strukturalnym język zapytań. Służy do pobierania lub modyfikacji danych w tabelach. Pozwala na tworzenie zapytań, w których masz pełną kontrolę nad ich wykonaniem i działaniem.
Program szkolenia
Czego będziesz mógł się nauczyć podczas tego szkolenia? Najważniejszym zadaniem jakie możesz wykonać w SQL jest ograniczenie ilości danych przesyłanych do kolejnych kroków w ich analizie. Dodatkow nauczysz się zarządzać własnym serwerem baz danych.
Część 1 – praca z językiem SQL
Od czego zaczniesz?
Czego się nauczysz: 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)
Czego się nauczysz: 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
Czego się nauczysz: 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
Czego się nauczysz: 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
Czego się nauczysz: 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
Czego się nauczysz: 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
Czego się nauczysz: 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ą.
Część 2 – Zaawansowane zapytania SQL
Wyrażenia tabelaryczne CTE
Czego się nauczysz: 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.
Czego się nauczysz: 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
Czego się nauczysz: 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ń
Czego się nauczysz: 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ć?
Część 3 – obiekty bazy danych
Język DML – Data Modification Language
Czego się nauczysz: 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
Czego się nauczysz: 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
Część 4 – automatyzacja i skrypty
Czego się nauczysz: Przegląd narzędzi do pracy z bazą danych
- Narzędzia uniwersalne
- Narzędzia dostarczone przez producenta bazy danych
- Narzędzia konfiguracyjne
Czego się nauczysz: Tworzenie obiektów programistycznych
- Procedury automatyzujące
- Własne funkcje skalarne i tabelaryczne
- Własne typy danych
Czego się nauczysz: 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
Czego się nauczysz: Automatyzacja czynności serwisowych
- Agent SQL
- Systemowy harmonogram zadań
Część 5 – Podstawy administracji bazą danych
Czego się nauczysz: Wdrażanie serwera baz danych
- Planowanie instalacji bazy danych
- Instalacja silnika bazy danych
- Konfiguracja poinstalacyjna bazy danych
- Konfiguracja dostępu
Czego się nauczysz: Obsługa kopii zapasowej
- Wykonasz kopię bazy danych
- Przywrócisz poprawną kopię danych
- Przeniesiesz bazę na inny serwer
- Zaplanujesz automatyczne tworzenie bazy danych
Czego się nauczysz: 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
Czego się nauczysz: Codzienna administracja
- Monitorowanie bazy danych
- Przeglądanie Logu bazy danych
- Zarządzanie wydajnością
- Scenariusze awaryjne