O SQLite é um banco de dados, simplificado ao máximo.
Ele não exige SGDB (Sistema Gerenciador de Banco de dados), pois tudo fica armazenado em uma unica lib. Que gerência o DB (Data Base) e suas tabelas.
Para quem é destinado o SQLite
O SQLite é destinado a aplicações que precisam armazenar um volume grande de informações, sem grande concorrencia. Permitindo uso de comandos SQL tradicionais de SGBD, sem a necessidade de instalação de complexos sistemas, pois tudo fica em um unico arquivo, e uma lib (biblioteca).
De forma geral, quando existe uma aplicação que armazena dados temporários, ou de integração, sem concorrencia de várias aplicações. O SQLite é o banco de dados ideal para esta atividade.
Caso não goste de aplicações e queira acessar diretamente através de linha de comando. Isso tambem é possível.
Basta instalar os binários do SQLite, e rodar da seguinte forma:
No meu projeto Etiquetas, existe uma pasta sqlite, lá uma sub pasta scripts.
Contendo os scripts do banco e tambem o sqlite3.exe.
Entre na pasta scripts, e por linha de comando dê o seguinte comando:
Após a execução surgirá um prompt semelhante ao mysql ou ao plsql.
Ao dar um comando de select, percebemos o retorno, conforme apresentado.
Rodando scripts
Para executar um script externo é muito simples:
.read [script.sql]
Comando para executar o scritp
Lazarus
Introdução
O Lazarus é uma ferramenta de desenvolvimento de aplicação Desktop, multi plataforma, usa linguagem PASCAL Objects, para desenvolvimento de aplicações complexas. Tem uma IDE de desenvolvimento otimizada similar ao Delphi.
Não irei entrar nos detalhes do Lazarus, pois fugiriamos da proposta deste artigo.
Zeoslib
Zeos lib é um pacote de componentes visuais e não visuais, multi plataforma, e multi banco. Sua finalidade é realizar a integração com bancos de dados, entre eles o SQLite.
Não entrarei nos detalhes de instalação do Zeoslib, pois fuguriamos da proposta deste artigo.
Usando Lazarus com SQLite
A primeira coisa que precisamos criar é um datamodulo, para agrupar nossos componentes de banco de dados.
Usarei o projeto Etiqueta, que estou criando. Pois contem referências no git e podem ser vistos posteriormente.
Em seguida, criarei um componente TZConnection, onde apresentarei as seguintes propriedades:
Database – O caminho absoluto do arquivo etiqueta.db
LibraryLocation – O caminho absoluto do arquivo sqlite3.dll
Protocol – sqlite-3
Faça um teste de conexão, ativando o Connected (true), caso não retorne mensagem de erro.
Voce conseguiu conectar no banco de dados.
O proximo passo é criar um componente TZTable
, e vincular ele ao TZConnection através da propriedade Connection.
Em seguida, na propriedade TableName, selecionamos a tabela product, que iremos gerenciar.
Para não fugir muito do tema, os detalhes adicionais, deixarei disponível no GIT.
O SQLite é uma poderosa ferramenta para gerenciar dados transitórios, e para criação de aplicações rápidas porem robustas. Tem um conjunto de ferramentas que podem auxiliar o desenvolvedor.
Destinado a aplicações embarcadas ou em desktop o sqlite têm seu nicho de uso, garantindo um precioso espaço na gestão de informações transitórias.
Agora iremos criar o Nosso Makefile para carregar os scripts:
Arquivo Makefile
# Script de criacao do banco de dados
# Autor Marcelo Maurin Martins
# Daa: 31/01/2022
#
APP=mysql
all: database Tabelas
database:
$(APP) < database.sql
Tabelas:
$(APP) < pessoas.sql
Em seguida iremos criar o script de criação da base de dados, database.sql:
#Cria um banco de dados em Mysql
#Autor: Marcelo Maurin Martins
#31/01/2022
create database IF NOT EXISTS `testedb`;
E por fim nossa tabela pessoas.sql
#Cria a tabela de pessoas
#Autor: Marcelo Maurin Martins
#31/01/2022
use testedb;
create table if not exists pessoas
(
idPessoa INT(6) unsigned auto_increment primary key,
nome varchar(30) not null,
dtnasc date,
profissao varchar(20),
sexo char(1),
dtchg timestamp default current_timestamp on update current_timestamp,
dtcad timestamp default current_timestamp
);
Executando Scripts
Entre na pasta scripts, para que possamos criar nossas estruturas de banco.
Digite o comando:
make
executa a criação do banco
A figura abaixo mostra sua execução
Por fim mais um vídeozinho
Permissões
Ao montar o segundo artigo lembrei que para melhorar este artigo, o ideal seria criar uma conta especifica para cada aplicação. Desta forma criei um scripts novo chamado GRANTS.SQL
Desta forma, existe essa ultima etapa. Que precisamos, que será criar um usuário para acesso a aplicação:
Criando o usuario:
CREATE USER 'seu_usuario'@'localhost' IDENTIFIED BY 'suasenha';
Dando permissão:
GRANT ALL PRIVILEGES ON * . * TO 'seu_usuario'@'localhost';
Finalizando
FLUSH PRIVILEGES;
Este procedimento será validado, quando digitarmos
mysql -h localhost -u gcc -p
Conectando em banco de dados
Pois se as permissões não estiverem corretas o usuario não conecta.
Sempre que avançarmos em uma etapa, um novo usuário será criado, neste script.
Então não estranhem se eventualmente os scripts sofrerem modificação no git.
Cenas do próximos capítulos
Agora que preparamos a cama, iremos começar a codificar nela. No próximo artigo iremos criar um crud em C para cadastrar pessoas.