Szkolenie Bazy danych w python – SQLAlchemy

Poziom

Średniozaawansowany

Czas

16h / 2 dni

Termin

Indywidualnie

Cena

Indywidualnie

Szkolenie Bazy danych w python – SQLAlchemy

Praktyczne szkolenie z pracy z relacyjnymi bazami danych w Pythonie przy użyciu SQLAlchemy 2.0. Uczestnicy poznają dwa uzupełniające się podejścia: SQLAlchemy Core oraz ORM. Zakres obejmuje konfigurację połączeń, definiowanie schematów i modeli, wykonywanie zapytań, operacje CRUD, relacje między tabelami, sesje, transakcje oraz podstawy migracji schematu z użyciem Alembic. Podczas ćwiczeń uczestnicy przygotowują niewielką warstwę dostępu do danych, wykorzystując współczesny interfejs select(), typowane modele Mapped i mapped_column() oraz jawne granice transakcji. Program uwzględnia zapytania parametryzowane, ograniczenia integralności, bezpieczną konfigurację poświadczeń, obsługę wyjątków, rollback oraz podstawową diagnostykę wygenerowanego SQL i problemu N+1.

Dla kogo jest to szkolenie?
  • logo infoshare Programistów Python, którzy znają funkcje, klasy, type hints, moduły, środowiska wirtualne i instalowanie pakietów za pomocą pip
  • logo infoshare Programistów backendowych i webowych, którzy rozumieją podstawy SQL, klucze główne i obce oraz relacje między tabelami
  • logo infoshare Analityków danych i specjalistów automatyzacji, którzy potrafią pracować w terminalu, wykonywać podstawowe zapytania SELECT, INSERT, UPDATE i DELETE oraz chcą tworzyć warstwy dostępu do relacyjnych baz danych

Czego nauczysz się na tym szkoleniu?

  • Skonfigurujesz środowisko SQLAlchemy 2.0, sterownik bazy danych, obiekt Engine i bezpieczny adres połączenia bez zapisywania poświadczeń w kodzie
  • Zdefiniujesz tabele, kolumny, klucze, ograniczenia i indeksy oraz przygotujesz podstawową zmianę schematu za pomocą Alembic
  • Wykonasz parametryzowane operacje SELECT, INSERT, UPDATE i DELETE, obejmujące filtrowanie, sortowanie, łączenie tabel i stronicowanie wyników
  • Zbudujesz typowane modele ORM oraz relacje One-to-One, One-to-Many i Many-to-Many
  • Zastosujesz Session, model Unit of Work i jawne granice transakcji obejmujące flush, commit i rollback
  • Przeanalizujesz wygenerowany SQL, rozpoznasz problem N+1 i dobierzesz podstawową strategię ładowania relacji
  • Porównasz SQLAlchemy Core i ORM oraz przygotujesz niewielką, spójną warstwę dostępu do danych dla przykładowej aplikacji

Program szkolenia

Dzień 1

Moduł 1: Wprowadzenie do baz danych i SQLAlchemy

  • Relacyjne bazy danych: tabele, rekordy, typy danych, klucze główne i obce, ograniczenia integralności oraz relacje
  • Podstawy języka SQL: SELECT, INSERT, UPDATE, DELETE, filtrowanie, sortowanie, złączenia i transakcje
  • Rola ORM w aplikacjach Python: mapowanie obiektowo-relacyjne, korzyści, kompromisy i granice abstrakcji
  • Środowisko SQLAlchemy 2.0: instalacja biblioteki i sterownika, konfiguracja projektu, adres połączenia oraz SQLite i PostgreSQL

Moduł 2: Architektura SQLAlchemy

  • SQLAlchemy Core i ORM – różnice, wspólny język wyrażeń SQL, zakres kontroli oraz kryteria doboru podejścia
  • Engine, Connection, MetaData, Table, Select i Result – struktura warstwy Core, pula połączeń i cykl wykonania zapytania
  • Session i Unit of Work – mapa tożsamości, śledzenie zmian, flush, granice transakcji oraz cykl życia obiektów

Moduł 3: Praca z bazą danych w trybie SQLAlchemy Core

  • Połączenie z bazą danych: dialekt, sterownik DBAPI, adres URL, Engine, Connection, pula połączeń i konfiguracja poświadczeń
  • Definicja tabel: Table, Column, typy danych, klucze główne i obce, ograniczenia, wartości domyślne oraz indeksy
  • Schemat bazy danych: metadane, operacje DDL, create_all() w środowisku laboratoryjnym oraz podstawy wersjonowanych migracji Alembic
  • Operacje INSERT, UPDATE i DELETE: wyrażenia SQLAlchemy, parametry, transakcje, kontrola liczby zmienionych rekordów i integralność danych
  • Zapytania SELECT: warunki, sortowanie, złączenia, agregacje, aliasy, stronicowanie oraz przetwarzanie obiektów Result

 

Dzień 2

Moduł 4: Praca z bazą danych w trybie ORM

  • Modele deklaratywne ORM: DeclarativeBase, Mapped, mapped_column(), typy, klucze, ograniczenia i reprezentacja encji
  • Relacje ORM: One-to-One, One-to-Many i Many-to-Many, relationship(), tabela asocjacyjna, kaskady oraz strategie ładowania
  • Operacje CRUD w ORM: Session.add(), Session.get(), select(), aktualizacja encji, usuwanie oraz synchronizacja stanu
  • Transakcje i cykl życia sesji: sessionmaker, bloki kontekstowe, flush, commit, rollback, wygasanie obiektów i zakres sesji
  • Obsługa wyjątków i odtwarzanie spójności: IntegrityError, błędy DBAPI, rollback, diagnostyka wygenerowanego SQL, problem N+1 i bezpieczne logowanie

Skontaktuj sie z nami

zorganizujemy dla Ciebie szkolenie dopasowane do Twoich potrzeb

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    Administratorem danych osobowych jest InfoShare Academy Sp. z o.o. z siedzibą w Gdańsku, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742213. Dane osobowe przetwarzane są zgodnie z klauzulą informacyjną.