Kategorie: Bazy danych, SQL , PostgreSQL
Kompleksowe szkolenie prowadzące od podstaw języka SQL aż do zaawansowanych funkcjonalności spotykanych jedynie w systemie PostgreSQL. Ukończenie kursu PostgreSQL dla programistów da umiejętności niezbędne do kompetentnego zaprojektowania, implementacji i utrzymania aplikacji opartych o ten silnik baz danych. Choć oryginalnie projektowany „dla programistów”, kurs ten jest właściwy dla wszystkich chętnych, którzy chcą poznać produkt PostgreSQL w sposób kompleksowy.
Porównując ze szkoleniem PostgreSQL dla analityków, to szkolenie oferuje szerszy zakres tematyczny i oprócz „zadawania zapytań” obejmuje niuanse związane z transakcjami, podstawy samodzielnej administracji PostgreSQL czy podstawy programowania procedur składowanych. W większym zakresie zajmujemy się tu tworzeniem nowych baz danych, kwestiami dostępnych typów danych i więzów integralności. Oprócz standardowych rozwiązań typowych dla relacyjnych baz danych, chcemy zaprezentować także specyficzne cechy PostgreSQL, uważanego za najbardziej zaawansowany silnik bazodanowy będący „wolnym oprogramowaniem” (free software / open source).
Oba szkolenia startują od podstaw i obejmują naukę języka SQL. O ile jednak na szkoleniu „dla analityków” nauka zadawania zapytań jest głównym celem, tutaj jest tylko jednym z kilku tematów i zakładamy, że przejdziemy przez ten etap nieco szybciej, zostawiając sobie czas na pozostałe elementy pracy z PostgreSQL.
Szkolenie ma formę warsztatową i kładzie nacisk na umiejętności praktyczne. Materiały do kursu zawierają liczne przykłady i ćwiczenia, które kursanci wykonują przy pomocy trenera. Naszym celem jest, aby absolwent kursu był w stanie w jak największym stopniu samodzielnie radzić sobie z typowymi zadaniami i problemami spotykanymi podczas pracy z bazami danych. Stąd przekrojowy charakter kursu: nie skupiamy się na jednym wybranym aspekcie pracy (jeśli tego szukasz, sprawdź pozostałe pozycje w katalogu szkoleń PostgreSQL), a raczej chcemy przedstawić wiele elementów i możliwości oferowanych przez poznawany system.
Nasi wykładowcy mogą pochwalić się wieloletnim doświadczeniem z Postgresem, zarówno od strony administratora jak i programisty. Członkiem naszego zespołu jest też jeden ze współautorów systemu PostgreSQL, regularnie występujący na światowej konferencji poświęconej temu silnikowi baz danych.
Czas trwania
5 dni
Program
- Podstawy PostgreSQL i relacyjnych baz danych
- Systemy zarządzania bazami danych (DBMS)
- Logiczna struktura danych
- Skąd się wzięło słowo „relacja” i co właściwie oznacza?
- Tabele, wiersze, kolumny
- Klucze i powiązania między tabelami
- Instalacja PostgreSQL i przegląd narzędzi
- Serwer PostgreSQL
- Klient konsolowy psql
- Program z interfejsem użytkownika: pgAdmin
- Opcje podłączenia alternatywnych programów klienckich
- Pierwsze kroki w PostgreSQL – użytkownicy, bazy danych, sesje
- Pierwsze zapytania SQL
- Fundamentalne zasady
- Wartości liczbowe, napisowe i inne
- Nazwy cytowane i niecytowane, kwestia wielkości liter
- Komentarze
- Ogólna składnia polecenia SELECT
- Selekcja kolumn – klauzula SELECT
- Kolumny, symbole wieloznaczne i wyrażenia
- Aliasy nazw kolumn
- Modyfikator DISTINCT
- Filtrowanie wierszy – klauzula WHERE
- Warunki i spójniki logiczne
- Operatory logiczne specyficzne dla języka SQL: IN, BETWEEN, LIKE
- Wartość nieokreślona NULL i strategie postępowania
- Sortowanie wyników – klauzula ORDER BY
- Pobieranie części wyników
- LIMIT/OFFSET – klasyczne modyfikatory PostgreSQL
- OFFSET/FETCH – standard SQL 2008
- Wyrażenie warunkowe CASE
- Przegląd dostępnych funkcji i operatorów
- Fundamentalne zasady
- Łączenie wielu tabel w zapytaniach
- Klauzula FROM i wskazywanie tabel źródłowych
- Aliasy tabel
- Iloczyn kartezjański i ograniczanie do „sensownych wyników”
- Łączenie tabel za pomocą operatora JOIN
- Określanie warunku złączenia: ON, USING, NATURAL
- „Kierunki” złączeń: INNER, LEFT, RIGHT, FULL i CROSS
- Łączenie różnych rekordów tej samej tabeli – “self join”
- Common Table Expressions, zapytania rekurencyjne
- Operacje teoriomnogościowe, UNION, INTERSECT, EXCEPT
- Klauzula FROM i wskazywanie tabel źródłowych
- Grupowanie i agregacja danych
- Funkcje agregujące
- Grupowanie – klauzula GROUP BY
- Filtrowanie grup – klauzula HAVING
- Konstrukcja OVER i funkcje okienkowe (OLAP)
- Moduł funkcji tablicowych `tablefunc`
- Zapytania zagnieżdżone
- Podzapytania w SELECT – nieskorelowane i skorelowane
- Podzapytania w WHERE; operatory EXISTS, IN, ANY, ALL
- Podzapytania we FROM
- Klauzula WITH
- Modyfikacja danych i transakcje
- Polecenia INSERT, DELETE, UPDATE
- Import danych masowych, polecenie COPY
- Transakcje i poziomy izolacji, pojęcie ACID
- Blokowanie wierszy, kontrola współbieżności
- Projektowanie i tworzenie baz danych
- Modelowanie relacyjne na przykładach
- Notacje ERD i UML
- Postaci normalne, najlepsze praktyki
- Definiowanie tabel – polecenie CREATE TABLE
- Więzy spójności (CONSTRAINTS)
- Ograniczenia logiczne: CHECK i NOT NULL
- Klucze główne i unikalne: PRIMARY KEY, UNIQUE
- Klucze obce: FOREIGN KEY
- Różne miejsca i sposoby definiowania więzów
- Wartości domyślne
- Standardowe typy danych i ich opcje
- Liczby całkowite, stałoprzecinkowe i zmiennoprzecinkowe
- Napisy
- Data i czas
- Dane binarne
- Dodatkowe typy danych PostgreSQL
- Typ wyliczeniowy
- Typy tablicowe w PostgreSQL
- Zakresy, punkty, geometria
- Formaty XML i JSON, typ JSONB
- Dodatkowe operatory PostgreSQL dla zakresów, danych JSON itp.
- Modyfikacja istniejących tabel i więzów integralności – polecenia ALTER
- Dodatkowe obiekty bazodanowe
- Sekwencje i ich opcje
- Perspektywy („widoki”) zwykłe i zmaterializowane
- Tabele tymczasowe
- Tabele obce i rozszerzenie fdw (foreign data wrapper)
- Modelowanie relacyjne na przykładach
- Wstęp do wydajności i optymalizacji PostgreSQL
- Optymalizacja baz danych pod kątem szybkości odczytu
- Rodzaje i zastosowanie indeksów
- Indeksy częściowe i funkcjonalne
- Indeksowanie danych JSON
- Czytanie planu polecenia (EXPLAIN)
- Wydajność zapisu danych
- Log ciągłego zapisu (WAL) i opcje konfiguracji wpływające na wydajność
- Tymczasowe wyłączanie spowalniaczy na czas masowego importu danych
- Polecenia przygotowane, konstrukcja PREPARE
- Wyszukiwanie pełnotekstowe
- Optymalizacja baz danych pod kątem szybkości odczytu
- Podstawy administrowania PostgreSQL (Linux lub Windows)
- Struktura logiczna i fizyczna baz danych w PostgreSQL
- Schematy
- Przestrzenie tabel (tablespace)
- Użytkownicy, role i uprawnienia
- Pliki konfiguracyjne i najważniejsze opcje konfiguracji
- Konfiguracja dostępu do serwera – pg_hba.conf
- Kopie zapasowe i odtwarzanie danych – podstawy
- Zrzut i odtwarzanie danych w wierszu poleceń oraz pgAdmin
- Różne formaty zrzutu – zalety i wady
- Backupy przyrostowe
- Prosty przykład odtwarzania danych po hipotetycznej awarii
- Struktura logiczna i fizyczna baz danych w PostgreSQL
- Procedury i funkcje składowane
- Zasady ogólne
- Filozofia neutralności językowej PostgreSQL
- Języki zaufane i niezaufane
- Proste przykłady w językach SQL i Python
- Tryby przekazywania parametrów i wyniku
- Wstęp do języka PL/pgSQL
- Zmienne i przypisania
- Typy skalarne i typ rekordowy
- Warunki i pętle
- Iteracja po wynikach zapytania
- Obsługa błędów
- Dynamiczny SQL i programistyczne budowanie zapytań
- Wyzwalacze (triggers)
- Zasady ogólne
- Dostęp do PostgreSQL z zewnętrznych aplikacji
- Przykład łączenia z bazą dla wybranego języka programowania
- Zapytania sparametryzowane
- Zapobieganie atakom SQL Injection
Training also available in English - for more information see here .
Przeznaczenie i wymagania
Szkolenie jest przeznaczone dla osób, które mają już pewne kompetencje techniczne, choć nie muszą być programistami w ścisłym tego słowa znaczeniu. Jest to właściwy wybór dla:
- znających inne systemy baz danych i chcących dobrze poznać specyfikę PostgreSQL,
- w szczególności polecamy to szkolenie firmom, które migrują swoje systemy bazodanowe na PostgreSQL i chcą przeszkolić pracowników,
- użytkowników PostgreSQL, którzy na razie wykorzystują tylko najbardziej podstawowe jego możliwości, a chcą poszerzyć swoje kompetencje,
- programistów różnych języków, którzy planują w swoich aplikacjach korzystać z PostgreSQL,
- administratorów i devopsów, którzy chcą włączyć PostgreSQL do swojego wachlarza kompetencji
- przy czym zaznaczamy, że jest to kurs przekrojowy, a nie szkolenie ściśle z administrowania Postgresem, które mamy w ofercie tutaj,
- wszystkich osób, które na przykładzie Postgresa chcą od podstaw nauczyć się korzystania z baz danych SQL, ale szukają czegoś więcej, niż sam odczyt i zadawanie zapytań.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.