01_Curso_Mobile_FireDac_Básico_Avançado

Propaganda
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
1
01- Introdução
O que e o FireDAC?
É uma biblioteca de acesso universal a dados para o desenvolvimento de aplicações
para múltiplos dispositivos conectados a bases de dados corporativos.
Com a sua poderosa arquitectura universal, o FireDAC possibilita acesso direto, nativo
e de alta velocidade aos SGBDs InterBase, SQLLite, MySQL, SQL Server, Oracle,
PostgreSQL, DB2, SQL Anywhere, Advantage DB, Firebird, Access e Informix.
É possível ainda conectar-se a um servidor DataSnap.
O FireDAC suporta, abstrai e simplifica o acesso a dados, fornecendo todas as funções
necessárias para construir aplicações de alta performance.
É possível desenvolver para múltiplos dispositivo: Android, iOS, Windows e OS X.
Características
Os datasets do FireDAC são construídos sobre um poderoso motor (engine) de acesso
a dados. Este motor de tamanho reduzido é efectivo e flexível, podendo ser usado
Financiado pelo FSE
Pág: 1
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
directamente nas aplicações, servindo como uma poderosa fundação para a API dos
datasets.
O motor consiste dos componentes dataset e das camadas não-componentes (noncomponent layers), representadas pelas APIs flexíveis orientadas a objectos.




Classes TDataSet descendentes de fácil utilização, TFDQuery, TFDMemTable,
TFDStoredProc e TFDTable.
Classes de dataset altamente compatíveis com datasets originais do BDE e do
ClientDataSet.
Um dos mais rápidos datasets in-memory, com ordenação, filtragem,
agregação, índices filtrados e de expressão, persistência, etc.
Engine SQL local para execução de consultas (queries) SQL nos datasets.
Acesso de Alto Desempenho – High-Performance Data
Access
O acesso às bases de dados é optimizado utilizando várias técnicas distintas
normalmente encontradas apenas em componentes específicos de base de dados, o
que permite maior velocidade de acesso a dados já no primeiro instante.







Modo de janela de dados de tempo real, (Live Data Window) que permite
navegar datasets grandes de modo rápido e bidireccional.
Busca com “row set” parametrizável e flexível.
Execução automática, eficiente e sofisticada de actualizações de comando.
Execução de comandos de manipulação de dados (DML) em array e Command
Batches para execução em lote e redução do tráfego de rede.
Suporte direto a execução de comando assíncrono, timeout e cancelamento de
execução de comando.
Modo de actualizações em cache, com a possibilidade de rastrear as mudanças
correlacionais de vários datasets, com actualizações em cascata.
Suporte pleno a campos de auto-incremento, incluindo aqueles baseados em
geradores e gatilhos de tabelas.
API Unificada
O FireDAC fornece várias funções que ajudam a abstrair as diferenças entre sistemas
de base de dados, facilitando a tarefa de escrever código sem se preocupar com
diferentes dialectos de DBMS (database management system) ou outras diferenças
sutis destes.



Abstracção de dialecto SQL através de sequências de escape, declarações
condicionais e macros do FireDAC.
Unificação de tipos de dados com mapeamento flexível e ajustável de tipos de
dados.
Relatórios de erros unificados, incluindo informações de erros específicos ou
independentes de DBMS.
Financiado pelo FSE
Pág: 2
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac



Suporte unificado a transacções, com transacções de read e update separadas,
e acesso a todo o poder do suporte a transacções específicas do InterBase e do
Firebird.
Recuperação automática da conexão, que restabelece automaticamente a
conexão em caso de instabilidade do ambiente.
Suporte a múltiplas codificações Unicode e ANSI.
O FireDAC fornece várias funções que ajudam a abstrair as diferenças entre sistemas
de base de dados, facilitando a tarefa de escrever código sem se preocupar com
diferentes dialectos de DBMS (database management system) ou outras diferenças
sutis destes.




Modo de conexão offline, que permite que a aplicação continue a trabalhar sem
uma conexão física a uma base de dados.
Eventos de base de dados e suporte de notificações.
Suporte a scripts SQL unificados.
Capacidades ampliadas de busca de metadados.
Suporte Nativo aos Drivers e Mais…
Além de conectividade universal a DBMSs, o FireDAC também suporta drivers nativos
de bases de dados, dando o acesso de primeira linha às poderosas e avançadas
funções que tornam cada base de dados única.
Acesso a APIs e funções específicas de vários SGBDs:
MySQL – Microsoft SQL Server – Oracle Database – InterBase – PostgreSQL –
DataSnap – SQLite – Sybase SQL Anywhere – Microsoft Access – IBM DB2 Server –
Informix – Firebird – Advantage Database.
Suporte para serviços como backup, restauração, gestão de segurança e muito mais.
Financiado pelo FSE
Pág: 3
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Acesso a base de dados móveis no Android e iOS para as seguintes bases:


InterBase – InterBase ToGo e IBLite
SQLite
Arquitectura - Geral
O FireDAC possui uma arquitectura de múltiplas camadas fracamente acoplada, onde
as camadas fornecem serviços.
Uma API de serviço é definida como uma interface COM que outras camadas podem
solicitar utilizando a fábrica de interfaces.
Quando a implementação de uma interface não for encontrada, uma excepção é
gerada.
Financiado pelo FSE
Pág: 4
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Para vincular a implementação num aplicativo, a unidade correspondente também
deve ser vinculada. Essas implementações podem ser obrigatórias ou opcionais, e
pode escolher a partir de implementações alternativas.
Nonvisible Components [Comp]
A camada Nonvisible Components [Comp] representa as interfaces públicas do
FireDAC como componentes não visuais do Delphi, semelhante a outros componentes
de acesso a dados Delphi.
Inclui componentes como TFDConnection (estabelece a conexão), TFDQuery (executa
a consulta), TFDStoredProc (executa a stored procedure), TFD MemTable (dataset inmemory), TFDScript (o motor de script SQL), e assim por diante.
Visible Components [GUIx]
Financiado pelo FSE
Pág: 5
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
A camada Visible Components [GUIx] fornece uma maneira de interagir com o
utilizador final a partir de uma aplicação FireDAC.
É um conjunto de componentes de alto nível que permite adicionar diálogos de
utilizador final para as operações padrões das bases de dados, como um Login.
Inclui
componentes
como
TFDGUIxWaitCursor
(cursor
de
espera),
TFDGUIxLoginDialog (ecrã de login), TFDGUIxErrorDialog (diálogo de erro), e assim
por diante. A camada fornece implementações para VCL (VCL), FireMonkey (FMX) e
console.
Local Data Storage [DatS]
Local Data Storage [DatS] é uma implementação de armazenamento de dados local, o
que é análoga ao DataSet ADO.NET e seus objectos relacionados (DataTable,
DataRow, DataView, e assim por diante).
É um motor de dados em memória, que armazena e manipula todos os dados e
metadados do cliente.
Financiado pelo FSE
Pág: 6
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Data Adapter [DApt]
Data Adapter [DApt] permite a automação e o ajuste fino de uma operação de leitura
com conjuntos complexos de resultados (mestre-detalhes, aninhado, ADT, etc).
Permite ainda a actualização de volta para o sistema de base de dados.
É controlado principalmente por meio das propriedades TField e UpdateOptions.
Financiado pelo FSE
Pág: 7
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Debug and Performance Monitor [Moni]
Debug and Performance Monitor [Moni] representa os recursos de depuração FireDAC
que implementam as interfaces de monitor de depuração, que permitem monitorar e
rastrear as interações entre a aplicação FireDAC e o Sistema de Gestão de Base de
Dados (SGBD).
É controlado pelas propriedades “TFDMoniXxxxClientLink” do componente e pelo
parâmetro de definição de conexão “MonitorBy”.
Inclui componentes como TFDMoniRemoteClientLink (monitoramento mento usando
FDMonitor),
TFDMoniFlatFileClientLink
(rastreamento
em
ficheiro),
TFDMoniCustomClientLink (rastreamento parametrizado).
Financiado pelo FSE
Pág: 8
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Drivers API [Phys]
Drivers API [Phys] define as interfaces para acesso físico aos dados.
Ele os implementa em pacotes separados, como drivers, onde cada pacote de driver
pertence à camada Phys e implementa as interfaces necessárias usando a API DBMS
apropriada.
Financiado pelo FSE
Pág: 9
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Native Drivers [Phys]
Native Drivers [Phys] implementam o acesso a um DBMS usando uma API de baixo
nível de alta performance, que é recomendada pelo fornecedor do SGBD.
Eles adaptam as características específicas do DBMS para a API FireDAC. Todos os
drivers nativos foram testados e optimizados para um DBMS.
Eles incluem TFDPhys<DBMS>DriverLink, bem como componentes de serviço.
Bridging Drivers [Phys]
Bridging Drivers [Phys] implementam o acesso genérico para um SGBD usando APIs
genéricas de acesso a dados: ODBC e dbExpress. Incluem TFDPhysODBCDriverLink
(driver ODBC) e TFDPhysTDBXDriverLink (driver dbExpress).
Financiado pelo FSE
Pág: 10
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Arquitetura - Componentes
Financiado pelo FSE
Pág: 11
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Base de Dados
Conexões nativas
Conexões de ponte
Financiado pelo FSE
Pág: 12
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Dados a ter em conta:
Detalhes de uma base de dados (ex: Firebird)
Financiado pelo FSE
Pág: 13
Centro de Formação em Tecnologia
Curso Mobile Apps - FireDac
Financiado pelo FSE
Pág: 14
Download