SQLAlchemy

Opis szkolenia:

Kurs przeznaczony jest dla programistów pragnących poszerzyć swoją wiedzę w zakresie tworzenia aplikacji z wykorzystaniem narzędzi ORM (Object/Relational Mapping). Tematem szkolenia jest biblioteka SQLAlchemy będąca jednym z najpopularniejszych framework-ów napisanych w języku Python. Dodatkowo uczestnicy będą mieli okazję zapoznać się z biblioteką Elixir, która rozszerza możliwości SQLAlchemy o deklaratywne opisanie modelu. Od uczestnika wymagana jest znajomość podstaw programowania w języku Python oraz zagadnień związanych z bazami danych.


Plan szkolenia:

Wprowadzenie

  • Object/Relational Mapping (ORM) - omówienie
    • Zalety systemów ORM
    • Niezgodności pomiędzy podejściami: obiektowym i relacyjnym
  • Filozofia i architektura SQLAlchemy
  • Instalacja wymaganych narzędzi: Python, SQLAlchemy/Elixir, Eclipse/PyDev

SQLAlchemy  - wyrażenia SQL

  • Definiowanie i tworzenie tabel
  • Modyfikowanie zawartości bazy danych (dodawanie/modyfikacja/usuwanie)
  • Budowanie zapytań pobierających dane
    • Operatory is null, and, or, between... and...
    • Używanie aliasów, złączeń join i operacji union
    • Stosowanie funkcji agregujących
    • Używanie podzapytań

Mapowanie Obiektowo-Relacyjne

  • Mapowanie kolumn
    • Opóźnione ładowanie
    • Prosta walidacja
    • Mapowanie hierarchii dziedziczeń
      • Użycie wielu tablic
      • Użycie pojedynczej tablicy
      • Użycie dedykowanych tablic
      • Mapowanie relacji
    • Podstawowe wzorce
      • One To Many
      • Many To One
      • One To One
      • Many To Many (także z atrybutami)
      • Mapowanie hierarchicznych danych
    • Strategie ładowania: Lazy vs Eager

Obiekt sesji

  • Pojęcie sesji
    • Wzorzec ‘Unit of Work’
  • Tworzenie, używanie obiektu sesji
  • Zarządzanie transakcjami
  • Kontekstowe sesje
    • Wzorzec ‘Thread-Local’

Database Engines

  • Wspierane bazy danych
  • Opcje obiektu Database Engine
  • Konfiguracja logowania

Metadane

  • Opis struktury bazy danych przy użyciu metadanych
  • Tworzenie i usuwanie tabel bazodanowych
  • Domyślne wartości dla kolumn
  • Definiowanie więzów integralności oraz  indeksów

Deklaratywne opisywanie modelu

  • Pakiet sqlalchemy.ext.declarative
    • Definiowanie atrybutów
    • Definiowanie relacji
    • Mapowanie hierarchii dziedziczeń
  • Elixir
    • Definiowanie atrybutów
    • Definiowanie relacji
    • Mapowanie hierarchii dziedziczeń
    • Budowanie zapytań 


Czas trwania szkolenia:

3 dni po 8 godzin lekcyjnych

Wycena szkolenia zamkniętego

Szkolenie zamknięte jest prowadzone w siedzibie Klienta.
Klient zobowiązuje się zapewnić salę szkoleniową wyposażoną w odpowiednią liczbę stanowisk komputerowych oraz rzutnik multimedialny:

Liczebność grupy:    
Miasto: