Captulo 7
Arquitetura de Acesso a Dados do Delphi

Overview
Utilizando o Delphi, voc pode criar aplicaes de bancos de dados que trabalhem diretamente com bancos de dados desktop ou servidores de bancos de dados remotos,
tais como Oracle, Sybase, e bancos de dados padro ODBC. Este captulo o introduz  arquitetura das aplicaes Client/Server, bem como as ferramentas utilizadas
para constru-las.
Caractersticas e Capacidades de Bancos de Dados
Introduo
Voc pode construir uma aplicao de bancos de dados utilizando as ferramentas de desenvolvimento de banco de dados do Delphi, componentes Data Access e Data Control.
Em uma aplicao de bancos de dados Delphi, os componentes se comunicam com o Borland Database Engine (BDE), que por sua vez, comunica-se com suas outras fontes:
* Dados locais, tais como dBASE, Paradox, e InterBase for Windows
* Dados remotos, tais como Oracle, Sybase, e InterBase
Relacionamento entre o Delphi e a Conectividade de Banco de Dados
O diagrama a seguir mostra o relacionamento entre as ferramentas do Delphi, aplicaes de banco de dados do Delphi, o BDE, e os dados:

Os tpicos restantes deste captulo fornecem maiores detalhes sobre o relacionamento mostrado neste diagrama.
Ferramentas de Bancos de Dados
Introduo
Voc pode utilizar diversas ferramentas de bancos de dados na construo deste tipo de aplicao.
Ferramentas de Bancos de Dados
As ferramentas a seguir permitem construir aplicaes de banco de dados que podem trabalhar com arquivos de dados locais ou em um servidor de rede local:
* Borland Database  Engine (BDE)
* SQL Links
* Database Desktop
* Componentes Data Access
* Componentes Data Control
Borland Database Engine (BDE)
Introduo
O Borland Database Engine  (BDE)  construdo no Delphi para oferecer uma conexo entre controles Data Access e dados de vrias fontes como Paradox, dBASE, Oracle,
e InterBase. Bancos de dados, linguagens e ferramentas da Borland compartilham o mesmo Borland Database Engine. Este design em comum permite que os componentes sejam
intercambiados para construir um ambiente de aplicao Client/Server que atenda s suas necessidades.
Relacionamento entre o BDE e Outros Produtos Borland
O Borland Database Engine  um componente integral do dBASE for Windows, Paradox for Windows, Delphi, e ReportSmith. Tambm est disponvel como biblioteca API de
engine de banco de dados para programadores C e C++.
O diagrama a seguir mostra o relacionamento entre o Borland Database Engine e os diversos produtos Borland:

O Borland Database Engine permite que ferramentas e aplicaes Borland conectem transparentemente  dados residindo no dBASE, Paradox , Oracle, Sybase, Interbase,
Informix, DB2, e qualquer banco de dados que utilizem o Open Database Connectivity (ODBC).

SQL Links
Introduo
O SQL Links d s suas aplicaes Delphi acesso a dados localizados em servidores Workgroup baseados em SQL, incluindo Sybase, voc pode construir comandos SQL e
pass-los atravs de um diver SQL Link ao servidor para execuo.
Criando Aliases
Um Alias  consiste de um nome e conjunto de parmetros que descrevem recursos de rede e especificam a localizao das tabelas do banco de dados. Um alias  necessrio
para acessar banco de dados SQL.
Embora voc possa personalizar um alias aps cri-lo,  mais fcil escolher parmetros do diver que combinem com sua instalao servidora antes de criar os aliases
para bancos de dados SQL. Desta forma, qualquer alias que voc crie herdam estes parmetros.
Configurando o Ambiente SQL
O diver SQL Link utiliza os parmetros default quando instalado pela primeira vez. Como os parmetros do SQL Link para seu diver serve como modelo para cada alias
que voc crie, voc deve determinar se estes parmetros esto corretos para sua instalao servidora antes de criar aliases para seu banco de dados SQL.
Para modificar seu ambiente SQL, utilize o BDE Configuration Utility (BDECFG.EXE) instalado com o Delphi. Os aliases so armazenados no arquivo de configurao IDAPI
(IDAPI.CFG).

Database Desktop
Introduo
O Database Desktop (DBD)  uma ferramenta de definio e manuteno de banco de dados que lhe permitem consultar, criar, reestruturar, modificar e copiar tabelas
de banco de dados. O Database Desktop tambm pode copiar dados e informaes do dicionrio de dados de um formato para outro.
Inicializando o Database Desktop
Voc pode inicializar o Database Desktop no Gerenciador de Programas, d um duplo-clique sobre o cone do Database Desktop no grupo de programa Delphi. Quando selecionar
uma tabela, a tabela  aparece na janela do Database Desktop, como mostrado no exemplo a seguir:

Novos Recursos do Database Desktop
O Database Desktop contm as seguintes melhorias:

Recurso
Descrio
Menu Utilities
O Database Desktop agora inclui um menu Utilities com os seguintes comandos:
* Add
 Adiciona registros de uma tabela em outra tabela
* Copy
 Cria uma cpia de uma tabela, query QBE, ou comando SQL
* Delete
 Deleta uma tabela, query QBE, ou comando SQL
* Empty
 Remove todos os registros de uma tabela
* Passwords
 Permite adicionar e remover senhas da lista de senhas utilizadas na sesso atual
* Rename
 Altera o nome de uma tabela, query QBE, ou comando SQL
* Sort
 Ordena os dados em uma registros que existam em outra tabela
* Substract
 Remove de uma tabela de registro que existam em outra tabela

SQL
Voc pode utilizar os seguintes comandos com tabelas SQL:
* Add
* Copy
* Delete
* Empty
Acesso SQL est disponvel para operaes de queries e tabelas, incluindo criao e reestruturao. Voc pode executar comandos SQL utilizando o SQL Editor.

Documentao do Database Desktop
O Delphi fornece a seguinte documentao do Database Desktop:

Documentao
Descrio
Online Help
Documentao completa do Database Desktop com os recursos usuais de help atravs da tecla F1, procura de tpicos e help sensvel ao contexto. Alm disso muitos tpicos
possuem help orientado  tarefa
Delphi Database Application Developer's Guide
Documentao completa sobre o desenvolvimento de aplicaes com um apndice que resume os recursos do Database Desktop
Database Desktop User's Guide
Documentao completa sobre a utilizao do Database Desktop, disponvel no CD-ROM do Delphi

Descrio dos Componentes Data Access
Introduo
Os componentes Data Access esto na pgina Data Access da Component Palette. Estes componentes permitem construir aplicaes de bancos de dados. Eles, juntamente
com os componentes Data Control, so componentes data-aware. Componentes data-aware so componentes que tem cincia de dados e sua estrutura em um banco de dados.
Quando voc constri uma aplicao de banco de dados, voc insere componentes Data Access em  form e atribui propriedades que especificam o banco de dados, tabelas
e registros a serem utilizados com este form. Muito embora componentes Data Access no sejam visveis durante a execuo, eles trabalham em segundo plano para regular
o acesso aos dados.Os componentes Data Access aparecem na Component Palette.
Descrio dos Componentes Data Access
A tabela a seguir descreve os componentes Data Access na Component Palette:

cone
Visual
Propsito
Propriedades, Eventos, ou Mtodos Significantes
TDataSource
No
Atua como um canal entre um objeto Ttable ou Tquery e componentes de edio de dados como TDBGrid
P:AutoEdit
P:State
P:Enable
P:Dataset
P:OnDataChange
E:OnUpdateData
M:Edit
TTable
No
Recupera dados de tabelas de bancos de dados atravs do BDE e os passa para um ou mais componentes data-aware
P:DatabaseName
P:TableName
P:ReadOnly
P:Exclusive
P:IndexName
P:Tag
P:MasterFields
P:MasterSource
M:GotoCurrent
TQuery
No
Utiliza comandos SQL para recuperar dados de uma tabela atravs do BDE, ou utiliza comandos SQL para enviar dados de um componente a um banco de dados atravs do
BDE
P:SQL
P:DataSource
P:Local
P:ParamCount
P:Param
P:Unidirectional
P:ExecSQL
StoredProc
No
Permite que aplicaes executem stored procedures do servidor
P:DatabaseName
M:Prepare
M:ExecProc
M:Open
TDatabase
No
Define uma conexo contnua  um banco de dados
P:Active
P:DatabaseName
P:Handle
P:PassWord
M:Close
M:Create
M:Destroy
M:Open
TBacthMove
No
Copia a estrutura de uma tabela e seus dados . Pode ser utilizado para mover tabelas inteiras de um banco de dados a outro
P:Mode
P:Source
P:Destination
P:ChangedTable Name
P:KeyViolTable Name
P:ProblemTable Name
M:Execute

TReport
Sim
Permite a criao e impresso de relatrios de bancos de dados atravs do ReportSmith
P:ReportName
P:ReportDir
P:Preview
P:Run
P:AutoUnload
P:UnitialValues
M:RunMacro
M:Connect
M:SetVariable
M:ReCalcReport

Descrio dos Componentes Data Control
Introduo
Os componentes Data Control do  s suas aplicaes Delphi de banco de dados uma interface visual consistente, quer sua aplicao acesse um arquivo de banco de dados
local ou um servidor remoto.
Baseado na instalao padro, os componentes  Data Control esto localizados na pgina Data Controls da Component Palette. Estes componentes fornecem um conjunto
de componentes data-aware de interface de usurio, que voc pode utilizar para criar aplicaes baseadas em forms. Como mencionado anteriormente, os componentes
Data Control e Data Access so data-aware.
Alm da funo de um componente Standard, componentes Data Control tambm podem exibir dados de um campo de uma tabela de um banco de dados ou enviar dados  uma
tabela de um form. Os componentes Data Control aparecem na Component Palette.

Descrio dos Componentes Data Control
A tabela a seguir descreve os componentes Data Control na Component Palette:
cone
Visual
Propsito
Propriedades, Eventos, ou Mtodos Significantes
TDBGrid
Sim
Permite visualizar e editar dados em formato tabular (tipo planilha). Faz uso extensivo das propriedades do Tfield para determinar a visibilidade de uma coluna,
modo de exibio, e assim por diante.
P:Options
P:ReadOnly
P:Fields
P:SelectedField
P:FieldCount
TDBNavigator
Sim
Permite fazer o seguinte:
-Mover o ponteiro de registro da tabela atual para frente ou trs
-Iniciar o modo Insert ou Edit
-Efetuar a insero de registros novos ou modificados (Post)
P:Data Source
P:VisibleButtons
TDBLable
Sim
Permite exibir um campo de um registro atualmente  ativo.  a verso data-aware do componente TLabel
P:DataSource
P:DataField
P:Caption
P:FocusControl
P:Alignment
P:AutoSize
P:WordWrap
P:Transparent
TDBEdit
Sim
Permite exibir ou editar um campo de um registro ativo.  a verso data-aware do componente TEdit
P:DataSource
P:DataField
P:EditMask
P:Modified
P:MaxLength
P:ReadOnly
P:AutoSelect
P:SelText
P:SelStart
P:SelLentgh
P:PassWordChar
P:AutoSize
M:SelectAll
M:ClearSelection
M:CutToClipboard
M:CopytoClipboard
M:PasterFrom Clipboard
TDBMemo
Sim
Permite exibir ou editar BLOBs de um registro ativo.  a verso data-aware do componente TMemo
P:DataSource
P:DataField
P:Text
P:ReadOnly
P:Modified
P:MaxLength
P:Lines
P:SelText
P:SelStart
P:SelLength
P:PassWordChar
P:AutoSize
P:ScrollBars
P:WordWrap
P:WantTabs
P:M:Add
M:Delete
M:Insert
M:CutToClipboard
M:CopyToClipboard
M:PasterFromClipboard
M:SelectAll
TDBImage
Sim
Permite exibir, recortar, ou colar imagens bitmap BLOB para e de um registro ativo.  a verso data-aware do componente TImage
P:DataSource
P:DataField
P:Picture
P:AutoDisplay
TDBListBox
Sim
Permite exibir valores de uma coluna de uma tabela.  a verso data-aware do componente TListBox
P:ReadOnly
P:DataField
P:Items
P:ItemIndex
M:Add
M:Delete
M:Insert
TDBCombo
Box
Sim
Permite exibir ou editar valores de uma coluna de uma tabela.  a verso data-aware do componente TComboBox
P:ReadOnly
P:DataSource
P:DataField
P:Items
P:ItemIndex
P:Sorted
P:SelText
P:SelStart
P:SelLength
M:Add
M:Delete
M:Insert
M:SelectAll
TDBCheck
Box
Sim
Permite exibir ou editar um campo de dado Booleano de um registro ativo.  a verso data-aware do componente TCheckBox
P:DataSource
P:DataField
P:ValueChecked
P:ValueUnchecked
P:ReadOnly
TDBRadioGroup
Sim
Permite exibir ou definir valores de colunas.  a verso data-aware do componente TGroupBox populado com radio buttons
P:DataSource
P:DataField
P:Items
P:Value
P:ReadOnly
TDBLookupList
Sim
Permite exibir dados de uma tabela de busca  durante a execuo.  a verso data-aware do componente TListBox
P:DataField
P:DataSource
P:LookupDisplay
P:LookupField
TDBLookupCombo
Sim
Permite exibir dados de uma tabela de busca durante a exibio.  a verso data-aware do componente TComboBox
P:LookupSource
P:LookupField
P:LookupDisplay
P:DataSource
P:DataField
 Resumo do Captulo
Pontos Chave
Aps completar este captulo, voc aprendeu que:
* No Delphi, voc pode desenvolver uma aplicao de banco de dados que trabalhe diretamente com um banco de dados local (baseado em PC) e bancos de dados remotos
(SQL).
* Os componentes Data Access e Data Control so componentes data-aware.
* Vrias ferramentas permitem construir aplicaes de bancos de dados. Esto includas:

Ferramenta
Descrio
Borland Database Engine (BDE)
Fornece uma conexo entre os controles Data Access e dados de um servidor de banco de dados remoto, no
servidor de rede local ou local
Data Access  Components
Componentes na pgina Data Access da  Component
Palette que permitem construir uma aplicao de banco de dados
Data Control Components
Componentes na pgina Data Controls da Component Palette que permitem construir uma aplicao de banco do dados
Database Desktop (DBD)
Uma ferramenta de definio e manuteno de dados que permite pesquisar, criar, reestruturar, modificar e copiar tabelas de banco de dados
SQL Links
Fornece acesso SQL aos dados localizados em servidores remotos s suas aplicaes Delphi
Termos e Definies
A tabela a seguir  uma referncia rpida aos termos explicados neste captulo :

Termo
Definio
Alias
Um nome e um conjunto de parmetros que descrevem um recurso de rede local e especifica a localizao das tabelas de banco de dados . necessrio um alias para acessar
um banco de dados SQL
BLOB
Binary Large Object
Data aware
Ter cincia dos dados e sua estrutura em um banco de dados
DBD
Database Desktop, uma ferramenta e definio e manuteno de dados que permite pesquisar, criar, reestruturar, modificar e copiar tabelas de bancos de dados
ODBC
Open Database Connectivity

Introduo ao Delphi

InforBRs - Informtica Brasileira Ltda.
