Home > Szkolenia > Programowanie PL/pgSQL dla początkujących

Programowanie PL/pgSQL dla początkujących - 2 dni

szkolenie sql
Programowanie PL/pgSQL dla początkujących
2000

Kurs Programowanie PL/pgSQL dla początkujących przeznaczony jest dla wszystkich, którzy znają język SQL i chcieliby rozpocząć pracę z PL/pgSQL.

PL/pgSQL jest językiem proceduralnym, dzięki niemu możemy wykonać blok instrukcji z zaawansowaną logiką wewnątrz serwera bazy danych, tak jakbyśmy wykonywali zwykłą kwerendę SQL. Programy napisane w języku PL/pgSQL są procedurami i funkcjami, które można stosować samodzielnie, jako część polecenia SQL albo jako wyzwalacz.

Główne zalety języka PL/pgSQL:

  • Dodaje do języka SQL rozbudowane struktury sterujące, pozwalające wykonywać złożone obliczenia
  • Pomaga wyeliminować dodatkowy ruch między serwerem a klientem.
  • Pozwala na wykorzystanie takich funkcji jak: zmienna, dynamiczne zapytanie, kursor, wyzwalacz, polecenie transakcji…
  • Dziedziczy wszystkie zdefiniowane przez użytkownika typy, funkcje i operatory
  • Zapewnia wiele sposobów na napisanie bloku PL/pgSQL w celu zwiększenia wydajności zapytań.
  • Wszystkie plany zapytań można buforować i wykorzystać jako przygotowane zestawienie
  • Jest łatwy w użyciu

Na początek kursu Programowanie PL/pgSQL dla początkujących, Uczestnicy zapoznają się z wiadomościami wprowadzającymi do języka proceduralnego jakim jest PL/pgSQL. Poznają środowisko PL/pgSQL oraz mechanizmy jego działania. Uczestnicy szkolenia Programowanie PL/pgSQL dla początkujących dowiedzą się m.in. jak działają funkcje, pętle, kursory, trgiggery oraz do czego służą struktury kontrolne. Dowiedzą się jak pisać procedury, aby otrzymać dane na których im zależy. Nauczą się również wyodrębniania JSON’a oraz jeszcze kilku przydatnych umiejętności, które na pewno przydadzą się w pracy z PL/pgSQL.

W tym krótkim wstępie przedstawiliśmy tylko wybrane tematy, które zostaną poruszone na wykładach i warsztatach trwających podczas szkolenia Programowanie PL/pgSQL dla początkujących. Zachęcamy do zapoznania się ze szczegółowym programem zamieszczonym poniżej.

Forma szkoleń jest zbalansowana i obejmuje wykłady prowadzone przez doświadczonych trenerów z wieloletnią praktyką w branży programistycznej, oraz ćwiczenia na których uczestnicy wykorzystają poznaną wiedzę w sposób praktyczny. Trener jest w stałym kontakcie z Uczestnikiem aby wspierać go w przypadku problemów w wykonywaniu zadania.

Przydatne informacje związane z platformą e-learningową znajdziesz tutaj.

Jeżeli poszukujesz pracy,  zapraszamy do przesłania swojego CV więcej

dni 1
Wprowadzenie / Funkcje / Struktury kontrolne / Pętle / Dynamiczny SQL / Kursory / Zwrot danych

1. Wprowadzenie do PL/pgSQL

- Wyjaśnienie czym jest język proceduralny z przykładami

- - W tym punkcie programu dowiesz się jakie są podstawowe cechy języków proceduralnych i dlaczego standardowy Strukturalny język zapytań (SQL) takim językiem nie jest.

- Do czego służy język PL/pgSQL

- - Wprowadzenie opisowo i na przykładach pokazuje zastosowania i przypadki użycia języka PL/pgSQL

- Jak działa PL/pgSQL

- - Zanim rozpoczniesz prace z PL/pgSQL musisz wiedzieć, jak język ten wpisuje się w architekturę serwera PostgreSQL. W tym punkcie uzyskasz komplet wymaganych informacji

- Środowisko PL/pgSQL

- - Wprowadzenie do ekosystemu PL./pgSQL i narzędzi wspierających programowanie w tym języku

2. Język proceduralny PL/pgSQL:

- Rodzaje bloków PL/pgSQL

- - Pierwszym krokiem do poznania podstaw składni PL/pgSQL będzie zrozumienie, czym jest blok kodu i z jakimi rodzajami bloków mamy w PL/pgSQL do czynienia

- Struktura anonimowego bloku

- - Bloki anonimowe są podstawowym rodzajem bloków w PL/pgSQL. Na tym etapie dowiesz się z czego składa się blok anonimowy i jak można go w PL/pgSQL utworzyć

- Komentarze

- - W każdym języku programowania istnieje potrzeba opisywania kodu komentarzami, podobnie jest w PL/pgSQL. Tutaj dowiesz się jak definiować komentarze.

- Zmienne

- - Jedną z zasadniczych cech języków programowania jest możliwość deklarowania, przypisywania i użytkowania zmiennych, dlatego w tym punkcie uzyskasz podstawowe informacje o zmiennych w PL/pgSQL

- Obsługa zmiennych

- - Ciąg dalszy tematu zmiennych, w tym punkcie zapoznasz się z możliwościami wykorzystania zmiennych w PL/pgSQL

- Deklaracje

- - W PL/pgSQL zmienne deklarowane są w odpowiednim miejscu bloku kodu - w tym miejscu uzyskasz informacje o tym w jaki sposób zmienne deklarować, jak również jak radzić sobie z niektórymi bardziej zaawansowanymi zagadnieniami związanymi z deklarowaniem zmiennych

- %TYPE

- - W tym punkcie dowiesz się do czego służy konstrukcja %TYPE i jak jest ona związana z deklarowaniem zmiennych

- %ROWTYPE

- - Kolejną konstrukcją często używaną w sekcji deklaracji jest %ROWTYPE. W tym miejscu poznasz zastosowania tej konstrukcji.

- Rekordy

- - Dalsze zgłębianie zagadnień PL/pgSQL nie byłoby możliwe bez zrozumienia, czym są rekordy w PL/pgSQL

- Variable Scope

- - Kolejnym zagadnieniem które zostanie poruszone jest widoczność zmiennych deklarowanych w tzw. blokach zagłębionych

- Użycie RAISE

- - Następnym etapem nauki jest zapoznanie się z wyrażeniem RAISE, jego zastosowaniami i sposobem użycia

- Przypisywanie wartości

- - Uzupełnieniem uzyskanych wiadomości dotyczących zmiennych będą aspekty związane z przypisywaniem do istniejących zmiennych nowych wartości

- Stosowanie SELECT w PL/pgSQL

- - Język PL/pgSQL w naturalny sposób wspiera użycie w blokach lodu natywnych kwerend języka SQL. W ramach omówienia zagadnienia poznasz zasady o ograniczenia wykorzystania zapytań typu SELECT SQL w kodzie PL/pgSQL

- Wykorzystanie INSERT / UPDATE / DELETE

- - W kolejnym punkcie zapoznasz się z zasadami i ograniczeniami wykorzystania zapytań typu INSERT / UPDATE / DELETE w kodzie PL/pgSQL

- Użycie PERFORM

- - Zastosowanie wyrażenia PERFORM w kodzie PL/pgSQL

- Struktura bloków nazwanych

- - Wprowadzenie do zagadnień związanych z blokami nazwanymi, czyli Procedurami i Funkcjami w PL/pgSQL

3. Funkcje PL/pgSQL

- Przykłady Funkcji

- - Omówienie budowy Funkcji na przykładach

- Stosowanie $

- - Rola znaczników delimitujących $ w definicji funkcji

- Parametry Funkcji

- - Bloki nazwane pozwalają przekazać do/z kodu bloku wartości różnego typu zmiennych. W tym punkcie omówimy zagadnienia związane z parametrami funkcji

- Parametry domyślne

- - Zasady przekazywania do funkcji parametrów ze zdefiniowanymi wartościami domyślnymi

- Asercje

- - Sprawdzanie błędów logicznych i identyfikowanie problemów związanych z wykonywanym kodem przy użyciu instrukcji ASSERT

4. Struktury kontrolne PL/pgSQL

- Kontrola przepływu

- - Ogólne omówienie struktur kontrolnych jako mechanizmu sterującego przepływem pracy w kodzie PL/pgSQL

- Instrukcja warunkowa IF

- - Zagadnienia związane z zastosowaniem instrukcji warunkowej IF

- Zagnieżdżona instrukcja IF

- - Zagnieżdżanie instrukcji IF

- Instrukcja warunkowa ELSIF

- - Rozbudowa instrukcji IF o wyrażenie ELSIF

- Instrukcja wyboru CASE

- - Omówienie zwykłej instrukcji CASE (przykład: CASE status WHEN 'Pending' THEN ... )

- Przeszukiwalna instrukcja CASE

- - Omówienie kolejnej, tzw. przeszukiwalnej formy instrukcji CASE (przykład: CASE WHEN x BETWEEN 0 AND 10 THEN ... )

- SQLowa instrukcja CASE

- - Struktura kontrolna CASE w kodzie zapytań SQL (SQL CASE)

- Klauzula FOUND

- - Zastosowanie klauzuli (zmiennej globalnej) FOUND na potrzeby struktur kontrolnych PL/pgSQL

5. Pętle

- Pętla nieograniczona

- - Zastosowanie podstawowej formy pętli w PL/pgSQL (tzw. Unconstrained Loop)

- WHILE Loop

- - Struktura i zastosowanie pętli WHILE w PL/pgSQL

- FOR Loop

- - Pętla iteracyjna FOR w PL/pgSQL

- FOREACH Loop

- - Iterowanie po kolekcjach za pomocą pętli EOREACH

6. Dynamiczny SQL

- Ostrożności nigdy za wiele

- - Omówienie dynamicznego SQL jako "antywzorca" programistycznego

- EXCUTE,

- - Struktura i zastosowanie instrukcji EXECUTE w PL/pgSQL

- EXECUTE INTO

- - Użycie instrukcji EXECUTE z modyfikatorem INTO na przykładach

- Execute Using

- - Użycie instrukcji EXECUTE z modyfikatorem USING na przykładach

7. Kursory PL/pgSQL

- Kursory

- - Wprowadzenie do tematyki Kursorów w kodzie PL/pgSQL

- Kursor FLOW

- - Cykl życia Kursora w PL/pgSQL

- Deklarowanie kursorów

- - Omówienie zasad deklarowania kursorów

- Metoda OPEN

- - Użycie metody OPEN

- Fetching data

- - Ładowanie i obsługa danych za pomocą kursora

- Pętle zagnieżdżone

- - Omówienie możliwości zagnieżdżania Pętli w kodzie PL/pgSQL

8. Zwrot danych w PL/pgSQL

- Zwrot wartości skalarnych

- - Zwracanie danych z bloku kodu na przykładzie danych skalarnych

- Zwrot zestawu danych - SETS

- - Wprowadzenie do SETów wraz z omówieniem zwracania zestawów danych z bloków PL/pgSQL

- Zwrot Rekordów

- - Omówienie zasad zwracania Rekordów z kodu PL/pgSQL wraz z obsługą zwracanych wartości w blokach wywołujących

- Zwrot Zestawów Rekordów

- - Rozwinięcie w/w tematyki w zakresie zwracania zestawów Rekordów

- Parametry OUT

- - Parametry OUT i och zastosowanie w blokach nazwanych

- Ustrukturyzowane zestawy Rekordów

- - Omówienie zagadnienia ustrukturyzowanych zestawów Rekordów

- Refcursors

- - Zwracanie Referencji do Kursorów z bloków PL/pgSQL

dni 2
Informacje Meta oraz wyjątki / Triggery / Partycjonowanie tabeli / Wyodrębnianie JSON / EVENT TRIGGERS / Best Practices

9. Obsługa informacji Meta oraz wyjątków

- Informacje Meta

- - Omówienie pojęcia metainfromacji w PL/pgSQL

- Wyjątki

- - Wyjątki i zagadnienie obsługi wyjątków w kodzie PL/pgSQL

- Przykłady błędów w kodzie

- - Najczęściej spotykane rodzaje wyjątków

- Informacje dotyczące wyjątków

- - Uzyskiwanie dodatkowych informacji o przechwyconym wyjątku

- Propagowanie wyjątków

- - Zasady propagowania wyjątków pomiędzy blokami kodu PL/pgSQL

10. Triggery PL/pgSQL

- Omówienie Triggerów

- - Wprowadzenie do zagadnienia wyzwalaczy na przykładzie wybranych przypadków użycia

- Struktura Triggera

- - Definiowanie Triggerów, w tym deklarowanie wyzwalacza i funkcji wyzwalacza w PL/pgSQL

- Funkcje Triggera

- - Struktura, budowa i zastosowanie funkcji triggera

- Trigger Events

- - Omówienie zdarzeń wyzwalających:

- --Insert

- -- Update

- -- Delete

- -- Truncate

- Timing

- - Omówienie zagadnień timingu w wyzwalaczach (BEFORE, AFTER, INSTEAD OF)

- Frequency

- - Częstotliwość wykonywania wyzwalaczy

- Trigger Overhead

- - Dyskusja na temat zagadnień wydajnościowych wprowadzanych przez triggery w PL/pgSQL

- Argumenty: NEW, OLD

- - Omówienie roli i zastosowań argumentów NEW i OLD w triggerach, wartości NEW i OLD w zależności od zdarzeń wyzwalających i timingu.

- Pozostałe Argumenty dostępne dla funkcji wyzwalaczy

- - Omówienie dodatkowych argumentów dostępnych z poziomu kodu funkcji wyzwalacza:

- -- TG_OP

- -- TG_NAME

- -- TG_WHEN

- -- TG_LEVEL

- -- TG_TABLE_NAME

- -- TG_RELNAME

- -- TG_RELID

- -- TG_TABLE_SCHEMA

- -- TG_NARGS

- -- TG_ARG[]

- Triggery - przypadki użycia

- - Wybrane przypadki użycia triggerów wraz z przykładami

12. PL/pgSQL Best Practices

- - Omówienie najlepszych praktyk programistycznych w PL/pgSQL

Cena od 2000 PLN netto/osobę
2000
Koszt: 2000 PLN

Jest to cena netto

Podana cena jest ceną netto. Do podanej kwoty należy doliczyć 23% VAT.

Voucher na szkolenia 2024/ 2025!

Oferujemy możliwość zakupu voucherów szkoleniowych.

Kup VOUCHER teraz i wykorzystaj do końca 2025 r.!

Cena szkolenia zawiera

W przypadku szkoleń zdalnych:

  • Materiały szkoleniowe
  • Certyfikat PL / EN

Forma szkolenia

Stawiamy na bezpieczeństwo Uczestników i Trenerów dlatego też, ze względów bezpieczeństwa, preferujemy obecnie szkolenia w formie on-line na  żywo z trenerem.

Wielkość grupy

Szkolenia organizowane są w grupach już od 5 osób.  Kameralna atmosfera sprzyja przyswajaniu wiedzy oraz ułatwia kontakt z Prowadzącym.