terça-feira, 23 de julho de 2013

Android – Gerenciadores de Base de Dados SQLite


Para quem não sabe, o sistema Android tem como banco de dados nativo o SQLite. Todo mundo conhece os denominados sistemas gerenciadores de Banco de Dados (SGBD), que nada mais é do que um conjunto de programas responsáveis pelo gerenciamento de uma base de dados. O foco principal destes softwares é gerenciar o acesso, manipulação e organização dos dados disponibilizando uma interface amigável e de fácil manuseio, permitindo realizar a criação e manutenção das bases de dados. Temos algumas características importantes, sendo:

·         Linguagem de definição de dados (“Data Definition Language” - DDL): linguagem responsável por especificar conteúdos, estruturação e elemento de dados;

·         Linguagem de Manipulação de dados (“Data Manipulation Language” - DML): utilizadas para recuperação, inclusão, remoção e modificação de informações em banco de dados. Temos basicamente dois tipos: As DMLs Procedurais, que exigem que o usuário especifique quais dados são necessários e como obtê-los. Já as Não-Procedurais exigem que o usuário especifique quais dados são necessários sem especificar como obtê-los.

·         Dicionário de dados: definições de elementos de dados e características.

A minha intenção neste artigo é de apresentar alguns aplicativos SGBD (gratuitos) existentes no mercado para a plataforma Android. Estes aplicativos são encontrados na própria loja do Google. Com o próprio dispositivo (celular ou tablet) entre no “Google Play” e pesquise pelo nome “sqlite”. Encontraremos diversos tipos de aplicativos, Ver Imagem 01.

Imagem 01: Google Play.

É importante ressaltar que a instalação destes aplicativos é simples e intuitiva, por isso não abordaremos detalhes.
Dividiremos este artigo em três tópicos, sendo: SQLite Manager, aSQLiteManager e DB Browser.

1-) SQLite Manager

É considerado um poderoso SGBD, combinando uma interface fácil de usar e com inúmeros recursos. Podemos executar diversas operações como criar tabelas, visões, gatilhos e índices. A tela inicial é muito simples e intuitiva, possuindo um botão para localizar o Banco SQLite e uma lista dos bancos registrados na ferramenta. O SQLite Manager possui um Banco padrão chamado “defaultdb.db”, o qual poderá ser visto na Imagem 02.

Imagem 02: Tela inicial do SQLite Manager.   

Ao clicar no banco desejado, teremos diversas tabelas e dois botões, sendo “SQL” e “Info”. Para fins de aprendizado focaremos apenas na tabela “Product”, possuindo os campos: “Id”, “name”, “price”, “description”. Ver Imagem 03.

Imagem 03: Tabelas.

Clicando no botão “SQL” teremos informações como: Caminho da base de dados e comandos pré-definidos como, por exemplo: instruções de SELECT, INSERT, UPDATE, DELETE, CREATE, entre outros. Conseguimos gerenciar praticamente tudo. Clicando no botão “Run” obteremos o “result set” do comando realizado. Já o botão “Hide SQL”, como o próprio nome diz, irá esconder as sugestões de instruções SQL e deixar a mostra apenas os resultados. Em ”History”, temos um histórico. Ver Imagem 04.

Imagem 04: Executando comandos SQL.

Podemos também efetuar alterações diretamente nas tabelas, para isto clique sobre a “Product” e na região superior direita, no caso do android 4.0, temos três pontinhos, que são as opções habilitadas para esta tela. Temos um Menu com os itens: “Insert Row”, “Reload”, “Page Size” e “Run SQL”. Ver Figura 05.

Figura 05: Tabela Product.

Insert Row: Responsável por inserir registros na tabela selecionada. Para fins didáticos inserimos alguns dados e em seguida clicaremos no botão “ok” para confirmar. Ver Imagem 06.

Figura 06: Inserindo Registros.

Reload: Recarregar/Atualizar os dados na tela.
Page Size: Quantidade de registros que serão mostradas da tela.
Run SQL: Tela responsável por executar instruções SQL de Select, Delete, Update e Create.


É também um gerenciador de banco de dados SQLite de código aberto, sendo que a versão 3.6 que estamos utilizando possui algumas características, como:
·         Permitir mostrar arquivos por nome, tamanho, data ou ícone e classificá-los por nome, extensão, tamanho, data;
·         Filtragem de arquivos;
·         Ter uma lista de favoritos;
·         Exportação no formato “Csv”;
·         Importação e Exportação das tabelas com triggers.

Este aplicativo é bem intuitivo, no primeiro momento possuímos quatro botões, sendo:

Abrir Banco de Dados: Localizar e abrir um banco de dados SQLite já existente;
Novo Banco de Dados: Criar um banco de dados desde o início;
Abertos recentemente: Lista de favoritos contendo todos os bancos de dados abertos recentemente;
Sobre: Informações sobre o desenvolvedor desta ferramenta.

Ver Imagem 07.

Figura 07: Tela Inicial do aSQLIteManager.

Ao contrário do “SQLiteManager” citado anteriormente, este aplicativo não possui um Banco de dados padrão, sendo necessário criá-lo. Para isto clique no botão “Novo banco de Dados” e na próxima tela escolha um caminho e um nome para o mesmo clicando no botão “Ok”. Teremos os seguintes botões, sendo:

Tabelas: Gerenciar as tabelas;
Views: Gerenciar as visões;
Indices: Gerenciar os índices;
Query: Executar comandos SQL.

Clicando na região superior direita temos também outros itens de menus, como:

Exportar Banco de Dados: Exportar o banco para uso posterior.
Restaurar Banco de Dados:
Restaurar banco já existente.
Abrir arquivo SQL: Abrir arquivo com instruções SQL pré-compiladas.
Informações da Base:
Informações gerais como versão, codificadores, tamanho da página, quantidade de paginação, etc.
Nova Tabela: local onde iremos criar uma nova tabela se necessário.

Ver Imagem 08 para maiores detalhes.


Figura 08: Gerenciamento das Tabelas, Visões, Índices e Instruções SQL.

Vamos criar uma tabela de “Produtos” contendo o campo “Id” do tipo inteiro, único, auto-incremento e chave primária e a “descrição” do tipo texto. Clique em “Nova Tabela” escolhendo o nome da tabela e em seguida adicione os campos citados anteriormente. O interessante desta ferramenta é que temos uma interface muito amigável nos permitindo realizar tarefas desde inserir valores padrões para os campos até informar chaves estrangeiras e referenciá-las de acordo com sua utilização. Ver Imagem 09.

Figura 09: Criando os campos.

Voltando na tela de gerenciamento (Figura 08), note que a tabela “Produtos” foi adicionada na seção “Tabelas” e a chave primária “Id” na seção “Índices”. Ao clicar sobre a tabela “Produtos” temos um controle total sobre a mesma, contando com os botões:

Campos: Descrição completa dos campos incluindo ordem, nome, tipo, etc...
Novo:
Inclusão de novos dados na tabela.
Dados:
Listagem completa dos dados que estão contidos da tabela.
Na região superior direita, outros recursos como:
Primeiro: Irá navegar até o primeiro registro da tabela.
Último: Irá navegar até o último registro da tabela.
Filtro: Filtrar os dados de acordo com o que desejar.
Exportar Tabela: Exportar a tabela para uma futura consulta.
Exportar para arquivos do tipo CSV: Exportar para arquivos do tipo CSV (arquivos que podem ser lidos no Excel, por exemplo).
Importar arquivos do tipo CSV: Carregar arquivos do tipo CSV, permitindo uma melhor visualização.
Definição da tabela: Contém informações (Instruções de CREATE) da tabela em questão.

Ver Imagem 10.

Figura 10: Tabela Produtos.


Este aplicativo é exclusivamente para acessar as bases de dados SQLite, permitindo inserir, editar, apagar, atualizar os registros ali contidos. Permite a visualização de toda a estrutura da base de dados, como por exemplo: Visões, Índices, tabelas ou Gatilhos. Um recurso que achei interessante é a possibilidade de registrar diversas bases de dados. Outro recurso que também facilita a vida do desenvolvedor é a criação de um histórico de instruções SQL já executada. Em seguida irei descrever algumas de suas funcionalidades. Veremos na Imagem 11 os recursos iniciais.

Figura 11: DB Browser, Recursos Iniciais.

No primeiro impacto podemos conferir os principais recursos deste aplicativo. Na região central temos um histórico de tarefas realizadas e na região esquerda temos quatro botões, sendo:

Query SQL

Especificamente para executar instruções SQL. Ver Imagem 12.

Figura 12: Query SQL – Executando instruções SQL.

Na região superior temos alguns botões:

Hide SQL: “Esconder” a instrução SQL já executada.
Clear SQL: Limpar a instrução SQL para poder criar outra em seguida.
Clear Grid: Limpar os dados que estão na Grid.
Execute: Executar a Instrução SQL.

Explore DB:

Aqui é onde iremos explorar todos os recursos da base de dados, como tabelas, visões, índices ou gatilhos. Com a facilidade do “Touch Screen” podemos visualizar tanto as propriedades como os dados. Imagem 13.

Figura 13: Explore DB – Explorando a Base de Dados.
Connections

Como o próprio nome já diz, é aqui que temos todas as conexões realizadas, todas as bases de dados registradas. Temos a possibilidade de ativar ou desativar uma conexão facilmente. Ver Imagem 14.

Figura 14: Conexões.
Search DB

Permite localizar os arquivos de banco de dados em qualquer pasta, para posteriormente utilizá-los. Ver imagem 15.

Figura 15: Search DB.

Conclusões

Procurei neste artigo abordar um assunto ainda muito “cru” e de pouquíssimas documentações, o uso de gerenciadores de banco de dados SQLite diretamente de um dispositivo (celular ou tablet) usando o sistema Operacional Android.  Ressalto ainda que foram realizados muitos testes em outros aplicativos gratuitos e os três que apresentaram melhores resultados no âmbito de gerenciamento de banco de dados foram estes. Logicamente que poderão existir outros tão bons e fáceis de utilizar, mas no momento desconheço.

Fiquem a vontade para nos mandar e-mails com sugestões de artigos ou dicas para que seja publicado na revista, faremos o possível e o impossível para ampará-los.
Um forte abraço e até o mês que vem!


Nenhum comentário:

Postar um comentário