FireDAC dla serwerów SQL
Cel szkolenia
Celem szkolenia jest zapoznanie uczestników z tworzeniem wydajnych aplikacji klient-serwer. Celem szkolenia jest także zapoznanie kursantów z zaawansowanymi technikami i optymalizacją aplikacji VCL współpracujących z serwerami SQL (architektura klient-serwer), tworzonych z wykorzystaniem komponentów FireDAC w środowiskach Delphi lub C++Builder.
Uczestnicy zyskają wiedzę w zakresie:
- budowy wydajnych aplikacji dla serwerów SQL oraz projektowania interfejsu użytkownika dostosowanego do architektury klient-serwer,
- rozwiązań mających pozytywny lub negatywny wpływ na aplikację VCL lub na wydajność serwera SQL,
- wykorzystania transakcji,
- pobierania, filtrowania i sortowania danych,
- wydajnego dodawania nowych wpisów oraz wprowadzania zmian do tabel przy pomocy operacji DML i Array DML.
- wykorzystania pamięciowych zbiorów danych,
- pracy w trybie off-line, odzyskiwania utraconego połączenia oraz gromadzenia zmian w aplikacji klienckiej w trybie bezpołączeniowym,
- tworzenia uniwersalnych aplikacji SQL, czyli takich które działają bez ograniczeń na kilku serwerach SQL,
- łączenia danych z kilku różnych serwerów SQL przy pomocy silnika Local SQL.
Szkolenie jest przeznaczone dla:
- programistów Delphi lub C++Builder zainteresowanych głębszym poznaniem aspektów współpracy aplikacji z serwerem SQL oraz chcących stosować dobre praktyki zalecane przez doświadczonych programistów oraz producenta,
- programistów chcących w szerszym zakresie wykorzystać komponenty połączeniowe FireDAC.
Plan szkolenia (agenda)
- Wprowadzenie
- Pierwsze kroki tworzenia aplikacji klienckich dla serwerów SQL z wykorzystaniem komponentów FireDAC.
- Ustanawianie połączenia z serwerem. Definiowanie połączenia. Wykorzystanie definicji połączenia jako aliasu. Dynamiczne definiowanie połączeń. Autentykacja użytkownika.
- Omówienie systemu opcji. Ustawienie parametrów specyficznych dla fizycznych sterowników bazodanowych.
- Modelowanie danych
- Tabele i związki spójności referencyjnej. Klucze główne i klucze zewnętrzne. Inne reguły spójności danych.
- Optymalizacja modelu relacyjnego za pomocą normalizacji: 1NF, 2NF i 3NF.
- Połączenia
- Pobieranie meta-informacji o strukturze bazy.
- Odzyskiwanie połączeń utraconych, przełączanie połączenia w tryb off-line.
- Diagnostyka połączenia.
- Polecenia
- Wykonywanie poleceń języka SQL: zapytania, procedury składowane, przekazywanie parametrów i skrypty. Wykonywanie poleceń w tle.
- Sortowanie i filtrowanie zbiorów danych po stronie serwera oraz po stronie klienta. Dynamiczna zmiana treści polecenia SELECT.
- Relacja master-detail przez odświeżanie podrzędnych zbiorów danych lub przez filtrowanie ich.
- Wyrażenia FireDAC.
- Transakcje
- Zarządzanie transakcjami. Rodzaje, poziomy ochrony i „szczelność” transakcji. Analiza kiedy warto kontrolować transakcje, kiedy je otwierać, a kiedy zatwierdzać.
- Transakcje zagnieżdżone. Ciągłe transakcje (Interbase / Firebird). Korzystanie z kilku równoległych transakcji. Transakcje a kursor.
- Wydajność
- Ograniczenie wielkości pobieranych zbiorów przez stronicowanie. Szybka praca na ogromnych tabelach z wykorzystaniem Live Data Window. Pobieranie wierszy w pakietach.
- 2. Optymalizacja ustawień opcji komponentów FireDAC.
- Wykorzystanie specyficznych możliwości wybranych serwerów SQL.
- Błyskawiczne dodawanie i modyfikacja dużych zbiorów danych za pomocą operacji Array DML.
- Obsługa puli połączeń.
- Tryb bezpołączeniowy z opóźnioną aktualizacją danych.
- Błyskawiczne dodawanie i modyfikacja dużych zbiorów danych za pomocą operacji Array DML.
- Unifikacja
- Unifikacja struktury zbiorów FireDAC tak, aby pracowały bez zmiany kodu na różnych serwerach SQL. Mapowanie typów. Uniwersalna obsługa transakcji. Uniwersalna obsługa eventów. Obsługa pól auto-numerowanych i sekwencji / generatorów. Wariantowe zapytania SQL.
- Interfejs użytkownika
- Optymalna budowa interfejsu aplikacji klienckich SQL. Dobre praktyki przy korzystaniu z klasy TDataSet przez komponenty oraz w kodzie źródłowym.
- Wykorzystanie modułów danych.
- Generatory i pola auto-numerowane.
- Pola wyliczeniowe oraz pola look-up.
- Struktury drzewiaste.
- Ustalanie praw dostępu do obiektów.
- Czynności administracyjne, np. archiwizacja.
- Tematy fakultatywne (mogą pojawiać się opcjonalnie)
- Wykorzystanie dostępnych w osobnym pakiecie konektorów do popularnych systemów biznesowych oraz zasobów dostępnych w chmurze i w sieci Internet dzięki FireDAC Connectors.
- Korzystanie z wysokowydajnych baz NoSQL. Komunikacja z bazą MongoDB.
Warunki szkolenia
Czas: 4 dni
Cena: 3 200 zł + 23% VAT
Podczas szkolenia kursanci korzystają ze swoich komputerów. Jeśli uczestnik szkolenia chce korzystać z komputera BSC Polska konieczna jest dopłata w wysokości 140 zł (+ VAT) do ceny szkolenia.
Wykorzystywane narzędzia i platformy
- RAD Studio (wersja XE8 lub nowsza)
- serwer SQL: InterBase, Firebird
- serwer podręczny: SQLite
- IB Console / IB Expert
Na życzenie większości uczestników możliwe użycie serwerów: PostreSQL, MySQL, Microsoft SQL Server, Oracle XE, DB2 Express.
Wymagania wstępne
- Znajomość Delphi lub C++Builder
- Umiejętność tworzenia “aplikacji okienkowych” w Delphi lub w C++Builder
- Umiejętność tworzenia prostych aplikacji bazodanowych: znajomość kontrolek DataAware, znajomość zdarzeń formatek i kluczowych komponentów, umiejętność wykorzystania akcji (TAction, TActionManager, itd.)
- Podstawowa znajomość języka SQL
Certyfikat
Dyplom ukończenia szkolenia wydany przez firmę BSC Polska – autoryzowanego partnera szkoleniowego firmy Embarcadero.
Forma szkolenia
- Prezentacje
- Dyskusje
- Ćwiczenia realizowane przy stanowiskach komputerowych
Materiały szkoleniowe
- Wydruk prezentacji szkoleniowej
- Materiały do ćwiczeń
- Komplet materiałów biurowych
Wielkość grupy
- od 6 do 8 osób