Roadmap de Estudos Firebird

Roadmap de Estudos: Firebird SQL para Suporte ERP

Um guia de 8 semanas para dominar o essencial do Firebird 2.5 no contexto de sistemas ERP.

Semanas 1 e 2: Fundamentos e Consultas Essenciais

O objetivo aqui é construir a base. Você aprenderá a "conversar" com o banco de dados para extrair informações precisas, a habilidade mais usada no dia a dia do suporte.

Tópicos de Estudo

  • Conceito de tabelas, colunas e registros.
  • Comando SELECT: buscando colunas específicas ou todas (*).
  • Cláusula WHERE: a arte de filtrar dados.
  • Operadores: =, <>, >, <, >=, <=.
  • Cláusula ORDER BY: ordenando resultados.
  • Operadores AND, OR e NOT para filtros compostos.
  • Filtros com LIKE (operador CONTAINING no Firebird) e IN.

Exemplos Práticos (ERP)

-- Consultar todos os clientes ativos
SELECT IDCLIENTE, RAZAOSOCIAL, NOMEFANTASIA
FROM TCLICLIENTE
WHERE ATIVO = 'S';

-- Buscar um cliente pelo CNPJ
SELECT * FROM TCLICLIENTE
WHERE CNPJ = '12.345.678/0001-99';

-- Listar pedidos emitidos em um período, ordenados do mais recente para o mais antigo
SELECT IDPEDIDO, IDCLIENTE, DATAEMISSAO, VALORTOTAL
FROM TVENPEDIDO
WHERE DATAEMISSAO BETWEEN '2025-09-01' AND '2025-09-19'
ORDER BY DATAEMISSAO DESC;

-- Encontrar produtos que contenham 'PARAFUSO' na descrição
SELECT IDPRODUTO, DESCRICAO, SALDOATUAL
FROM TESTPRODUTO
WHERE DESCRICAO CONTAINING 'PARAFUSO';

Semanas 3 e 4: Agrupando Dados e Conectando Tabelas

Agora você vai aprender a extrair inteligência dos dados. Vamos contar registros, fazer somas e, o mais importante, conectar informações de tabelas diferentes para ter uma visão completa.

Tópicos de Estudo

  • Funções de Agregação: COUNT(), SUM(), AVG().
  • Cláusula GROUP BY: agrupando dados para agregação.
  • Conceito de Chave Primária e Chave Estrangeira.
  • INNER JOIN: conectando tabelas que se relacionam.
  • Uso de ALIAS (apelidos) para tabelas e colunas, tornando as consultas mais legíveis.

Exemplos Práticos (ERP)

-- Contar quantos pedidos cada cliente fez
SELECT IDCLIENTE, COUNT(*) AS TOTAL_PEDIDOS
FROM TVENPEDIDO
GROUP BY IDCLIENTE;

-- Listar pedidos exibindo o nome do cliente
SELECT
    P.IDPEDIDO,
    P.DATAEMISSAO,
    C.NOMEFANTASIA,
    P.VALORTOTAL
FROM TVENPEDIDO P
INNER JOIN TCLICLIENTE C ON P.IDCLIENTE = C.IDCLIENTE;

-- Listar itens de um pedido específico (ID 1050) com a descrição do produto
SELECT
    I.QUANTIDADE,
    PR.DESCRICAO,
    I.VALORUNITARIO
FROM TVENPEDIDOITEM I
INNER JOIN TESTPRODUTO PR ON I.IDPRODUTO = PR.IDPRODUTO
WHERE I.IDPEDIDO = 1050;

Semanas 5 e 6: Manipulação de Dados com Segurança

Este é um passo crucial. Alterar dados requer máxima atenção. O foco é aprender a fazer atualizações simples e pontuais, sempre garantindo que você está alterando o registro correto.

Tópicos de Estudo

  • Comando UPDATE.
  • A importância CRÍTICA da cláusula WHERE em um UPDATE.
  • Estratégia segura: Sempre faça um SELECT com o mesmo WHERE antes de executar um UPDATE.
  • Conceito de transação: COMMIT e ROLLBACK.

Exemplos Práticos (ERP)

-- 1. PRIMEIRO, VERIFIQUE o cliente que você quer alterar
SELECT IDCLIENTE, ENDERECO, CIDADE
FROM TCLICLIENTE
WHERE IDCLIENTE = 25;

-- 2. APENAS SE o SELECT retornar o registro correto, execute o UPDATE
UPDATE TCLICLIENTE
SET ENDERECO = 'RUA NOVA, 123', CIDADE = 'SAO PAULO'
WHERE IDCLIENTE = 25;
COMMIT;

-- Alterar o status de um pedido para 'CANCELADO'
-- Primeiro, verifique o pedido:
SELECT IDPEDIDO, STATUS FROM TVENPEDIDO WHERE IDPEDIDO = 1100;

-- Depois, atualize:
UPDATE TVENPEDIDO
SET STATUS = 'CANCELADO'
WHERE IDPEDIDO = 1100;
COMMIT;

Semanas 7 e 8: Manutenção e Revisão Geral

A etapa final foca em uma tarefa administrativa essencial: a segurança dos dados através de backup e restauração. Vamos também revisar tudo o que foi aprendido com um exercício prático.

Tópicos de Estudo

  • Utilitário de linha de comando: gbak.
  • Como realizar um backup completo de uma base de dados.
  • Como restaurar um backup em uma nova base de dados.
  • Revisão geral de SELECT, JOIN e UPDATE.
  • Simulação de um chamado de suporte real.

Exemplos Práticos (Admin)

-- Sintaxe de BACKUP via gbak (linha de comando)
gbak -b -user SYSDBA -pas masterkey "C:\DB\MEU_ERP.FDB" "D:\Backup\MEU_ERP_BKP.FBK" -v

-- Sintaxe de RESTORE via gbak (linha de comando)
gbak -c -user SYSDBA -pas masterkey "D:\Backup\MEU_ERP_BKP.FBK" "C:\DB\NOVO_ERP.FDB" -v

-- Exercício de Revisão:
-- Chamado: "O produto 'CANETA AZUL' (ID 78) está com saldo zerado, mas temos 50 no estoque físico. Por favor, ajuste."
-- Passo 1: Verificar o saldo atual.
SELECT DESCRICAO, SALDOATUAL FROM TESTPRODUTO WHERE IDPRODUTO = 78;
-- Passo 2: Corrigir o saldo.
UPDATE TESTPRODUTO SET SALDOATUAL = 50 WHERE IDPRODUTO = 78;
COMMIT;
-- Passo 3: Verificar novamente para confirmar a alteração.
SELECT DESCRICAO, SALDOATUAL FROM TESTPRODUTO WHERE IDPRODUTO = 78;

Checklist Final de Habilidades

Ao final das 8 semanas, você deve se sentir confortável para realizar as seguintes tarefas:

  • Consultar dados em uma ou mais tabelas para identificar a causa de um problema reportado por um usuário.

  • Filtrar informações de forma eficiente para encontrar um registro específico (um cliente, um pedido, um produto).

  • Realizar um UPDATE simples com total segurança, sempre usando a chave primária na cláusula WHERE.

  • Explicar a importância de um backup e saber executar os comandos básicos do gbak para backup e restore.

  • Entender a estrutura de relacionamento entre as principais tabelas do sistema (Clientes, Pedidos, Itens, Produtos).