Capítulo 07: Processamento de Dados: Consultas Estruturadas (SQL) e Relatórios no SGBD
🎯 Objetivo da Aula
Nesta aula, você aprenderá a transformar tabelas de dados brutos em relatórios gerenciais estruturados utilizando a linguagem universal dos bancos de dados: a SQL (Structured Query Language). No laboratório de informática, você abrirá o arquivo de banco de dados do SIG FastLog e construirá consultas operacionais com filtros condicionais (WHERE), ordenação de prioridade (ORDER BY) e junção relacional de tabelas (INNER JOIN).
Ao final desta aula, você será capaz de extrair em milissegundos relatórios de peças críticas e cruzamentos de compras que antes demoravam horas de compilação manual.
🏢 Cenário Prático (FastLog S.A.)
Empresa: FastLog Transportes & Logística Integrada S.A.
Problema: Em uma inspeção surpresa da Agência Nacional de Transportes Terrestres (ANTT), o Diretor de Manutenção precisou apresentar em menos de 15 minutos uma relação completa de todos os pneus e freios de carretas cujo estoque estivesse abaixo da margem de segurança, incluindo o nome e o prazo de entrega dos fornecedores homologados para compras emergenciais. Abrir a tabela de itens e a de fornecedores separadamente e cruzar os dados no olho humano gerou nervosismo, duplicidades e quase causou uma autuação fiscal.
Sua Missão: Como técnico de TI e Gestão, você criará consultas SQL nativas no banco de dados SIG_FastLog_Dados.accdb. Com um único clique, o sistema executará o cruzamento entre as tabelas tbl_Itens e tbl_Fornecedores, filtrando apenas os itens que demandam ação imediata do comprador.
🧠 Fundamentos: A Teoria Traduzida
1. O que é SQL (Structured Query Language)?
Criada pela IBM na década de 1970, a linguagem SQL tornou-se o padrão internacional (ISO/ANSI) para comunicação com bancos de dados relacionais. Enquanto as planilhas exigem que você aponte coordenadas de células (A1:B10), o SQL opera de forma declarativa: você apenas informa o que deseja recuperar, e o motor do banco se encarrega de encontrar e ordenar os dados.
2. A Estrutura Básica de uma Instrução SQL
Toda consulta básica de extração é estruturada em blocos lógicos:
3. A Mágica do Relacionamento: O INNER JOIN
Em vez de usar fórmulas como o PROCV para cada linha, o SQL une duas ou mais tabelas em memória comparando a Chave Primária da tabela de origem com a Chave Estrangeira da tabela de destino:
flowchart LR
subgraph TAB1["tbl_Itens"]
I1["ID_Item: ITM-01<br/>Descricao: Pneu Radial<br/>ID_Fornecedor: FOR-10"]
end
subgraph JOIN["INNER JOIN ... ON (PK = FK)"]
J["tbl_Fornecedores.ID_Fornecedor = tbl_Itens.ID_Fornecedor"]
end
subgraph TAB2["tbl_Fornecedores"]
F1["ID_Fornecedor: FOR-10<br/>Nome: Goodyear Pneus<br/>Prazo: 3 dias"]
end
TAB1 --> JOIN
TAB2 --> JOIN
JOIN --> R["📊 Resultado Consolidado:<br/>ITM-01 | Pneu Radial | Goodyear Pneus | Prazo: 3 dias"]
style TAB1 fill:#34495e,stroke:#fff,stroke-width:2px,color:#fff
style TAB2 fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff
style JOIN fill:#f39c12,stroke:#fff,stroke-width:2px,color:#fff
style R fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff📖 Exemplo Guiado: Passo a Passo no Laboratório
Abra o arquivo SIG_FastLog_Dados.accdb (ou .odb) localizado na pasta 02_Processamento_BancoDados.
Passo 1: Acessando o Editor SQL do SGBD
- Na barra superior do Microsoft Access, acesse a guia Criar ➔ clique em Design da Consulta (Query Design).
- Na janela lateral que sugere tabelas, feche-a ou clique fora.
- No canto superior esquerdo (ou no rodapé), clique no botão Modo SQL (ícone
SQL). - Uma tela de texto limpa com o comando
SELECT;aparecerá. Apague todo o texto antes de digitar suas consultas. (Nota no LibreOffice Base: Acesse a seção Consultas ➔ clique em ‘Criar consulta no modo SQL’).
🛠️ Prática Obrigatória 1: Consulta de Itens com Estoque Crítico
Agora você escreverá a consulta SQL que filtra automaticamente apenas os materiais cujo estoque atual está igual ou abaixo do estoque de segurança estipulado.
Passo a Passo no Computador:
- Digite a instrução SQL abaixo na janela de código:
- Na guia superior Design da Consulta, clique no botão vermelho com um ponto de exclamação: Executar (
!). - Observe que o banco filtrou imediatamente os itens críticos e os ordenou do menor estoque para o maior.
- Clique no botão de disquete para salvar a consulta com o nome oficial:
qry_Itens_Criticos.
✅ Resultado Esperado (Prática 1):
| ID_Item | Descricao_Item | Estoque_Atual | Estoque_Seguranca |
|---|---|---|---|
| ITM-03 | Pastilha de Freio Carreta | 5 | 4 (Item muito próximo da margem!) |
| ITM-01 | Pneu Radial 295/80 R22.5 | 8 | 6 |
🛠️ Prática Obrigatória 2: Cruzamento Relacional com INNER JOIN
Agora você construirá uma consulta que une a tabela de peças à tabela de parceiros comerciais, exibindo a descrição do insumo junto com o nome fantasia e o prazo do fornecedor.
Passo a Passo no Computador:
- Crie uma nova consulta no Modo SQL (Criar ➔ Design da Consulta ➔ Modo SQL).
- Digite a instrução relacional abaixo:
- Clique em Executar (
!). - Observe que o banco realizou a junção instantânea das duas tabelas através da Chave Primária/Estrangeira sem gerar nenhuma redundância de armazenamento físico.
- Salve esta consulta com o nome:
qry_Almoxarifado_Fornecedores_JOIN.
✅ Resultado Esperado (Prática 2):
| ID_Item | Descricao_Item | Estoque_Atual | Nome_Fantasia | Prazo_Entrega_Dias |
|---|---|---|---|---|
| ITM-03 | Pastilha de Freio Carreta | 5 | Bosch Sistemas de Freio | 7 |
| ITM-01 | Pneu Radial 295/80 R22.5 | 8 | Goodyear Pneus Comerciais | 3 |
| ITM-02 | Óleo Diesel S10 Granel | 4500 | Ipiranga Distribuidora Diesel | 1 |
| ITM-04 | Óleo Lubrificante Motor 15W40 | 40 | Ipiranga Distribuidora Diesel | 1 |
📤 Instruções de Entrega (Microsoft Teams)
- Feche todas as consultas abertas no Access/Base para salvar as alterações no arquivo.
- Acesse a pasta
02_Processamento_BancoDados. - Renomeie o arquivo atualizado para:
Atividade_07_SQL_SeuNome_SeuSobrenome.accdb(ou.odb). - Abra o Microsoft Teams na equipe da disciplina.
- Abra a tarefa: “TI Aplicada - Cap 07: Consultas Estruturadas SQL e INNER JOIN”.
- Anexe o arquivo
.accdbe clique em Entregar (Turn In).
💡 Checkpoint de Gestão & TI
Compreender consultas SQL é uma das competências mais valorizadas do profissional de Gestão e TI. Enquanto usuários comuns dependem do departamento de suporte para gerar relatórios, o gestor moderno conecta-se diretamente ao banco de dados corporativo através de instruções SQL para auditar gargalos operacionais e antecipar decisões de compra.
🔥 Desafio de Fixação: Consulta de Insumos de Alto Valor Financeiro
Crie uma terceira consulta no SGBD que filtre os materiais estratégicos de alto custo unitário:
- Crie uma consulta no modo SQL chamada
qry_Insumos_Estrategicos. - A consulta deve retornar o
ID_Item,Descricao_Iteme oCusto_Unitario_R$de todos os materiais cujo custo unitário seja maior ou igual a R$ 1.000,00. - Ordene o resultado do material mais caro para o mais barato (
ORDER BY Custo_Unitario_R$ DESC). - Execute a consulta e confirme se o item Pneu Radial (R$ 2.450,00) aparece no topo da lista.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que você estudou neste capítulo. Ao concluir, apresente o caderno ao professor para conferência e visto.
- O que significa a sigla SQL e em qual década essa linguagem foi desenvolvida?
- No Cenário Prático da FastLog, qual situação de emergência gerou a necessidade imediata de consultar o banco de dados via SQL?
- Para que serve a cláusula
SELECTem uma instrução SQL? - Qual é a finalidade da cláusula
WHEREe qual operador relacional foi utilizado nela para comparar o estoque atual ao de segurança? - Qual é o papel da cláusula
ORDER BYe qual é a diferença entre as opçõesASCeDESC? - Explique como a cláusula
INNER JOINopera o cruzamento de duas tabelas diferentes em um banco de dados relacional. - Na Prática Obrigatória 1, por que os itens
ITM-01eITM-03foram os únicos exibidos pelo resultado da consultaqry_Itens_Criticos? - Na Prática Obrigatória 2, qual campo em comum serviu como critério de junção no comando
ONentre as tabelastbl_Fornecedoresetbl_Itens? - De acordo com o Checkpoint de Gestão & TI, qual é a vantagem competitiva de um gestor que domina a criação de consultas SQL?
- No Desafio de Fixação, qual critério de filtragem e de ordenação foi utilizado para extrair os insumos de alto valor financeiro?