Atenção: por essa edição ser muito antiga não há arquivo PDF para download. Os artigos dessa edição estão disponíveis somente através do formato HTML.
Bancos desktop com MyBase
Aplicações locais usando dados XML
Neste artigo é apresentado o MyBase, e mostrado como criar uma aplicação simples usando a nova tecnologia de bancos de dados desktop, usada no Delphi e no Kylix
O Delphi dá suporte a muitos bancos de dados servidores SQL, como Oracle, DB2, MS SQL Server, InterBase e outros, além de bancos desktop ou locais, como Paradox e DBase. Como tecnologias de acesso a dados, temos BDE, ADO, InterbaseExpress (IBX) e dbExpress.
Quando desenvolvemos aplicativos cliente/servidor ou para web, geralmente escolhemos um servidor de dados SQL que melhor se adapte às nossas necessidades. Porém, alguns aplicativos não necessitam de servidores de dados potentes. Aplicativos desktop usam bases locais, como o Paradox ou o DBase, de custo baixo. O grande problema é que estas bases de dados não interpretam instruções SQL – quem faz este papel é o BDE. Se você estiver usando Paradox em rede, por exemplo, e usar uma instrução SQL, todo o conteúdo da tabela é devolvido ao cliente, onde o BDE interpreta a instrução SQL localmente. Isto porque o Paradox e o DBase não são servidores SQL.
É exatamente aqui que entra o MyBase, como uma alternativa aos já conhecidos formatos de dados locais.
Características do MyBase
Antes de começarmos nosso exemplo, vamos ver exatamente o que é o MyBase, suas características e limitações.
Leveza – O MyBase é extremamente rápido, leve e portável. É também de configuração zero: não precisa ser baixado, instalado, nem configurado. Utilizando o componente ClientDataset, já podemos fazer uso dessa tecnologia. Não é requerido também o uso do BDE ou a criação de um alias, nem o envio de qualquer biblioteca. Aplicações que usam MyBase chegam a caber em um disquete.
Sem SQL – Pelo motivo de não existir um servidor SQL (por isso aplicações MyBase são chamadas "aplicações desktop"), não há como utilizar instruções SQL. No Paradox, quem fazia o processamento do SQL era o BDE.
Opção desktop – Atualmente, o MyBase é a única opção desktop para o Kylix. Já no Delphi, o MyBase existe desde o Delphi 3; era chamado de Briefcase Model (Modelo de Pasta). O problema era que o componente ClientDataset só estava disponível nas versões Client/Server e Enterprise do Delphi, até a versão 5. No Delphi 6 e no Kylix, no entanto, o ClientDataset se tornou o padrão para cache e acesso a dados, e também está disponível na versão Professional.
ClientDataset – O MyBase é baseado no ClientDataset. Com isso, podemos utilizar inúmeros recursos que não existem com o uso de um Table ou Query usando Paradox. Exemplos dos recursos adicionais são: cache em memória, índices em memória (eliminando a corrupção), pesquisas rápidas, campos agregados, campos calculados internos, suporte a inúmeros tipos de dados incluindo BLOBs e suporte a XML, além de vários outros recursos.
Formatos
Os arquivos de dados do MyBase podem estar em formato XML ou binário. A extensão do formato binário padrão é "CDS". Como era de se esperar, arquivos binários são menores que XML. Use o formato binário caso não precise usar os recursos do XML.
Para XML, o MyBase usa o formato XML DataPacket. Veja um fragmento de um arquivo de dados neste formato:
<?xml version="1.0" standalone="yes" ?>
<DATAPACKET Version="2.0">
<METADATA ...