Treinamento Online
Segunda-feira, 24 de janeiro de 2005 às 11h52

Abstração de Banco de Dados

Olá pessoal! Essa semana vamos dar início ao assunto muito importante: abstração de banco de dados. Mas o que seria isso?

É um recurso extremamente útil, pois permite que você torne suas aplicações portáveis entre diferentes SGBDS (Sistemas de Gerência de Bancos de Dados). É uma camada intermediária entre a sua aplicação PHP e o banco de dados. Nesse caso você terá em seu programa uma chamada para essa biblioteca que por sua vez irá enviar a requisição ao sistema gerenciador de banco de dados.

Vantagem: Portabilidade
Você poderá trocar de SGDB a qualquer instante (Oracle, MySQL, PostgreSQL etc...).

Desvantagem
O acesso ficará um pouco mais lento do que você estivesse usando as funções nativas do seu SGDB.

Bibliotecas disponíveis

Existem muitas bibliotecas de abstração de dados disponíveis para o PHP como DBX, PEAR::DB, PEAR::MDB, PHPLIB, Metabase e ADODB.

DBX

A extensão DBX é uma camada abstrata de banco de dados onde X corresponde ao banco de dados suportado.

Instalação da extensão DBX

A extensão já vem acompanhada do PHP. No Linux basta compilar com suporte --enable-dbx. No Windows edite o arquivo php.ini e retire o ponto e vírgula da linha php_dbx.dll. Atualmente a DBX dá suporte ao MySQL, PostgreSQL, SQL Server, ODBC, Oracle entre outros. Maiores informações: http://br2.php.net/manual/pt_BR/ref.dbx.php

111_6.gif

Para verificar se a DBX está habilitada crie um arquivo index.php coloque o seguinte comando e execute:

<?
   phpinfo();
?>

Procure a tela abaixo:

111_7.gif

Se encontrar, a extensão foi habilitada.

PEAR

Pear em inglês significa pêra, só que seu verdadeiro significado é "PHP Extension and Application Repository", ou seja, Reposiório de Extensões e Aplicações PHP. No site http://pear.php.net você encontrará toda a documentação além de todos os pacotes disponíveis para download.

Instalação da PEAR::DB

Se a sua versão é maior ou igual a 4.3.0, a instalação básica do PEAR já estará incluída em seu sistema, a não ser que o PHP tenha sido compilado com a opção --without-pear. No meu caso eu não tenho o PEAR instalado então segui os seguintes passos:

- Acesse o site http://go-pear.org copie o script e salve no diretório do PHP como go-pear.php
- Execute o arquivo go-pear.php utilizando o interpretador do PHP (php go-pear.php)

111_1.gif

- Vá dando ENTER até que ele começe a instalação dos pacotes básicos do PEAR.

111_2.gif

- Depois que a instalação terminar vamos criar um script para efetuar uma chamada a a classe para verificar se tudo está funcionando corretamente.

<?
   require_once "DB.php" ;
?>

Para acessar um banco de dados através da classe PEAR::DB, deve ser criado um DSN válido. DSN nada mais é que o Nome da Fonte de Dados e contém um string com as informações necessárias para acessar o banco de dados.

<?
   require_once "DB.php" ;
   $usuario   = "root" ;
   $senha     = "";
   $servidor  = "localhost";
   $banco     = "imasters";
   $dsn       = "mysql://$usuario:$senha@$servidor/$banco";
   $db        = DB::connect($dsn);
   if(DB::isError($db)) {
     die($db-getMessage());
   }
   else { echo "Conectado"; }
?>

Screenshot

111_3.gif

Se tudo ocorrer bem, você deve estar visualizando:

111_4.gif

Caso tenha ocorrido algum erro, retorne e siga os passos novamente:

111_5.gif

Para baixar o script, clique no link abaixo.

DOWNLOAD

Clique AQUI e faça o download do script.

Semana que vem tem mais. Espero que vocês tenham gostado :-)

Não deixe de nos enviar críticas ou sugestões para o próximo assunto, afinal a coluna é de vocês.

Boa semana a todos! Até mais.

3 comentários

 Lauro Santos
24/01/2005 19h17

Parabens

Parabens por mais essa contribuicao. Eu ja li sobre a funcao dbx em um livro, entretanto ela naum funcionoui. Vou seguir seu artigo para ver se funciona.

 Erick
26/01/2005 02h13

Ano novo, jeito novo!!

Julio, que tal iniciar essa série abordando OOP no PHP, eu iniciei e estou gostando muito, mas com algum material em portugês seria um incentivo a mais!!! E seria uma oportunidade para quem ainda não programa desse jeito.

 Adriano
26/01/2005 09h45

Excelente

Parabéns, Júlio, pela divulgação das bibliotecas PEAR! Eu aconcelho que todo programador dê uma passada no site do PEAR pra verificar funcionalidades que podem ser usadas em suas aplicações. Eu já usei o DB em uma aplicação feita por uma grande equipe, com boa aceitação, não dá erro e ainda ficou prático usar as funções e classes desta biblioteca.
Facilita muito! Espero por mais matérias sobre esses temas não tão conhecidos que auxiliam e muito a nossa vida!

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Júlio César Martini atualmente presta serviços de WebMaster/Programador para o UOL (http://www.uol.com.br), Graduado em Tecnólogo em Informática pela UNIFIAN - Faculdades Anhanguera e Pós-Graduado em Desenvolvimento de Software para Web pela UFSCAR. Foi o primeiro profissional a chegar à marca de 100 artigos publicados no iMasters e trabalha com PHP desde 2000. Site: http://www.juliocesarmartini.com

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.