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.
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 wykonają przy pomocy trenera. Reprezentują one typowe problemy, z rozwiązaniami których styka się programista aplikacji opartej o bazę danych.
Wśród poruszonych zagadnień znajdzie się modelowanie relacyjne, poprawne stosowanie więzów poprawności i kluczy obcych. Nie zapomnimy też o aspekcie wydajnościowym, podpowiadając jak modelować i budować optymalne zapytania SQL, jak stosować indeksy i na co zwracać uwagę czytając generowane przez bazę plany zapytań.
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
- Relacyjne bazy danych – podstawy
- Pojęcie relacji
- Tabela, wiersz, kolumna
- Klucze główne
- Klucze obce, powiązania między tabelami
- Programy klienckie bazy danych
- Klient linii poleceń psql
- Klient graficzny pgAdmin
- Klient webowy phpPgAdmin
- Język SQL
- Wydobywanie danych, klauzula SELECT
- Typy danych w SQL
- Funkcje i operatory
- Sposób wykonywania zapytania SQL
- Filtrowanie, klauzula WHERE
- Grupowanie, klauzule GROUP BY i HAVING
- Operacje teoriomnogościowe, UNION, INTERSECT, EXCEPT
- Łączenie wielu tabel
- Operacje DISTINCT i DISTINCT ON
- Zaawansowane zagadnienia SQL
- Perspektywy i podzapytania
- Funkcje OLAP (funkcje okienkowe)
- Common Table Expressions, zapytania rekursywne
- Transakcje i poziomy izolacji, pojęcie ACID
- Blokowanie wierszy, kontrola współbieżności
- Projektowanie baz danych
- Modelowanie relacyjne na przykładach
- Postaci normalne, najlepsze praktyki
- Więzy spójności
- Popularne sposoby notacji schematów baz danych
- Modyfikacja danych
- Polecenia INSERT, DELETE, UPDATE
- Definiowanie, modyfikacja i usuwanie tabel
- Tworzenie więzów spójności
- Wydajność
- Implementacja egzekutora języka SQL
- Dostęp do danych na dysku
- Sposób tworzenia złączeń
- Optymalizacja zapytań
- Rodzaje i zastosowanie indeksów
- Indeksy częściowe i funkcjonalne
- Czytanie polecenia EXPLAIN
- Polecenia przygotowane, konstrukcja PREPARE
- Import danych masowych, polecenie COPY
- Optymalizator genetyczny
- Implementacja egzekutora języka SQL
- Dostęp z poziomu języków programowania
- Najbardziej popularne bindingi dla języków programowania
- Zapytania sparametryzowane
- Zapobieganie atakom SQL Injection
- Protokół binarny PostgreSQL
- Procedury składowane
- Język PL/pgSQL
- Rodzaje funkcji, volatile, stable, immutable
- Pętle, wyrażenia warunkowe
- Obsługa błędów
- Wyzwalacze
- Inne języki zanurzone
- Języki zaufane i niezaufane
- Przykładowa procedura w zanurzonym Pythonie
- Język PL/pgSQL
- Zaawansowane możliwości
- Rozszerzenia hstore i json
- Wyszukiwanie pełnotekstowe
- Typy zasięgowe (range types)
- Więzy wykluczające (exclusion constraints)
- Definiowanie własnych typów i domen
- Transakcje przygotowane, polecenie PREPARE TRANSACTION
- Powiadomienia asynchroniczne, polecenie NOTIFY
- Partycjonowanie
- Cele partycjonowania bazy
- Partycjonowanie przez dziedziczenie
- Inne strategie partycjonowania
Training also available in English - for more information see here.
Przeznaczenie i wymagania
Szkolenie przeznaczone jest dla osób nie mających doświadczenia z relacyjnymi bazami danych i językiem SQL, przede wszystkim programistów, ewentualnie analityków zainteresowanych również aspektami programistycznymi i wydajnościowymi.
Wymagana jest umiejętność programowania w dowolnym języku dającym dostęp do PostgreSQL.
Certyfikaty
Uczestnicy szkolenia otrzymują imienne certyfikaty sygnowane przez ALX.