FireDAC dla serwerów SQL
Cel szkolenia
Dowiedz się jak tworzyć działające efektywnie aplikacje klient-serwer.
Celem szkolenia jest zapoznanie uczestników szkolenia 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.
Dla kogo
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.
-
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.