Capítulo 18: Consultas de Criação de Tabela (MAKE-TABLE) e Anexação (INSERT INTO): Fechamento Mensal
🎯 Objetivo da Aula
Nesta aula de arquitetura e manutenção preventiva de sistemas, você aprenderá como empresas estruturadas realizam o Fechamento Contábil Mensal e o Arquivamento Histórico de Dados (Data Archiving). No laboratório de informática, você aprenderá a criar novas tabelas a partir de consultas utilizando o comando SELECT ... INTO (Make-Table) e a migrar lotes de dados em massa através do comando INSERT INTO ... SELECT (Append Query). Você compreenderá também o fenômeno do inchaço de banco de dados (Database Bloat) e dominará a ferramenta de manutenção mais importante do Access: Compactar e Reparar Banco de Dados.
Ao final desta aula, você terá implementado a rotina oficial de fechamento da FastLog S.A., mantendo a tabela operacional limpa e rápida, sem perder um único centavo do histórico de fretes concluídos.
🏢 Cenário Prático (FastLog S.A.)
Empresa: FastLog Transportes & Logística Integrada S.A.
Problema: Ao longo de 4 anos de operação contínua, a tabela tbl_OrdensFrete acumulou 420.000 viagens, fazendo o arquivo .accdb atingir 1,8 GB de tamanho (muito próximo do limite técnico máximo do Access, que é de 2,0 GB). As telas de faturamento começaram a travar e as consultas demoravam minutos para abrir porque o computador tinha que varrer 4 anos de fretes já entregues e pagos para lançar as viagens de hoje. O contador alertou: “Os fretes finalizados há mais de 180 dias devem ser arquivados em uma tabela histórica separada para manter a operação leve, mas sem quebrar os relatórios fiscais dos últimos anos”.
Sua Missão: Como administrador de banco de dados, você criará a tabela tbl_HistoricoFretes usando MAKE-TABLE, construirá uma rotina de anexação com INSERT INTO para arquivar fretes concluídos e executará a ferramenta Compactar e Reparar, reduzindo o tamanho do arquivo em disco em mais de 60%.
🧠 Fundamentos: A Teoria Traduzida
1. O Ciclo Corporativo de Arquivamento (Housekeeping)
Em qualquer grande empresa de logística ou varejo, os dados são divididos em dois ciclos de vida:
- Dados Operacionais (Quentes / Ativos): Fretes agendados, em trânsito ou concluídos nos últimos 90 dias. Ficam na tabela ativa para acesso ultrarrápido dos operadores.
- Dados Históricos (Frios / Arquivo Morto): Fretes de safras passadas (1 a 5 anos atrás). Ficam guardados em tabelas de auditoria, fora do fluxo diário.
flowchart TD
TAB_ATIVA[("💾 tbl_OrdensFrete (Tabela Ativa)<br/>Fretes em andamento e recentes")]
TAB_ATIVA -->|"1. INSERT INTO ... SELECT<br/>(Copia os fretes entregues há > 180 dias)"| TAB_HIST[("🗄️ tbl_HistoricoFretes (Arquivo Morto)<br/>Histórico Fiscal dos Últimos 5 Anos")]
TAB_ATIVA -->|"2. DELETE FROM tbl_OrdensFrete<br/>(Limpa a fila diária de operação)"| LIMPEZA["🧹 Tabela Ativa Rápida e Limpa"]
LIMPEZA -->|"3. Compactar e Reparar<br/>(Libera espaço em disco)"| ENXUTO["🚀 Arquivo .accdb Otimizado e Leve"]
style TAB_ATIVA fill:#1a365d,stroke:#fff,stroke-width:2px,color:#fff
style TAB_HIST fill:#744210,stroke:#fff,stroke-width:2px,color:#fff
style LIMPEZA fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff
style ENXUTO fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff2. A Consulta de Criação de Tabela: SELECT ... INTO (Make-Table)
Cria uma nova tabela do zero diretamente a partir do resultado de uma consulta, herdando os tipos de dados automaticamente:
3. A Consulta de Anexação: INSERT INTO ... SELECT (Append Query)
Permite copiar novos registros de uma tabela para outra tabela já existente, sem apagar os dados que já estavam lá dentro:
4. O Fenômeno do Inchaço (Database Bloat) e a Ferramenta “Compactar e Reparar”
Quando você exclui registros no Access, o arquivo .accdb não diminui de tamanho automaticamente. O Access apenas marca aquelas linhas como “espaço livre para uso futuro”. Se você apagar 500 MB de dados, o arquivo continua com 1,8 GB!
- Para liberar o espaço físico e recuperar a velocidade, executamos o comando: Compactar e Reparar Banco de Dados (Compact and Repair Database). Ele reordena os índices, reconstrói as tabelas e devolve os megabytes livres para o Windows.
📖 Exemplo Guiado: Passo a Passo no Laboratório
Abra o arquivo FastLog_Database.accdb. Vamos construir a rotina de fechamento contábil.
Passo 1: Abrindo o Editor SQL
- Acesse Criar ➔ Design da Consulta.
- Feche o painel lateral e alterne para o Modo SQL.
- Limpe o editor de texto.
🛠️ Prática Obrigatória 1: Criando a Tabela de Arquivo Histórico com SELECT ... INTO
Você criará a tabela tbl_HistoricoFretes contendo uma foto oficial dos fretes já entregues.
Passo a Passo no Computador:
- Digite a instrução de criação de tabela:
- Clique no botão
! Executar(exclamação vermelha). - O Alerta de Criação do Access:
- O sistema emitirá o aviso: “Você está prestes a colar X linha(s) em uma nova tabela. Deseja criar uma nova tabela com os registros selecionados?”
- Clique em Sim.
- Verificação no Painel de Navegação:
- Olhe o Painel de Navegação à esquerda: uma nova tabela chamada
tbl_HistoricoFretesacaba de nascer! - Abra a nova tabela: todos os fretes entregues estão gravados lá com perfeição.
- Olhe o Painel de Navegação à esquerda: uma nova tabela chamada
- Salve a consulta como:
qry_AcaoCriarHistorico.
✅ Resultado Esperado (Prática 1):
A tabela tbl_HistoricoFretes é gerada automaticamente pelo comando SQL com todas as colunas tipadas e dados históricos preservados.
🛠️ Prática Obrigatória 2: Anexação Contábil e Manutenção de “Compactar e Reparar”
Agora você simulará a rotina mensal de anexação de novos fretes entregues e executará a manutenção preventiva de disco.
Passo a Passo no Computador:
- Acesse Criar ➔ Design da Consulta ➔ Modo SQL.
- Digite o comando de anexação contábil (
INSERT INTO):(A subconsultaNOT INgarante que você nunca anexe fretes que já foram copiados anteriormente, impedindo duplicidades!). - Salve a consulta como:
qry_AcaoAnexarHistorico. - Executando a Manutenção Preventiva de “Compactar e Reparar”:
- Feche todas as tabelas e consultas abertas no centro da tela.
- Na faixa de opções superior, clique na guia Ferramentas de Banco de Dados (Database Tools).
- No primeiro grupo (Ferramentas), clique no botão grande: Compactar e Reparar Banco de Dados (Compact and Repair Database).
- O Access piscará rapidamente a barra de status inferior enquanto recompacta os índices e desfragmenta os setores do arquivo
.accdb.
✅ Resultado Esperado (Prática 2):
A rotina de anexação protege contra duplicações históricas e a ferramenta de compactação reduz o tamanho físico do arquivo em disco, garantindo longevidade ao banco de dados.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o banco de dados e feche o Access.
- Nomeie o arquivo:
FastLog_BD_Cap18_SeuNome_SeuSobrenome.accdb. - Acesse o Microsoft Teams na sua turma.
- Abra a tarefa: “Banco de Dados - Cap 18: Criação de Tabelas e Fechamento Mensal”.
- Anexe o seu arquivo
.accdbe conclua o envio clicando em Entregar (Turn In).
💡 Checkpoint de Gestão & TI
Por que esta rotina de Data Housekeeping é exigida em grandes auditorias de TI? Porque qualquer banco de dados de alta intensidade sem rotina periódica de arquivamento colapsa em 2 ou 3 anos. Saber separar a operação viva do histórico fiscal e dominar a recompactação de arquivos é o que garante que um sistema ERP continue rápido mesmo após uma década de funcionamento contínuo.
🔥 Desafio de Fixação: Automatizando a Opção “Compactar ao Fechar”
O Microsoft Access possui uma configuração nativa inteligente que pode executar a compactação de disco automaticamente toda vez que o usuário fecha o aplicativo, dispensando a necessidade de clicar no botão manualmente.
Ative essa proteção preventiva no seu banco de dados:
- Clique no menu superior Arquivo ➔ clique em Opções.
- Na barra lateral esquerda da janela que se abre, clique em Banco de Dados Atual (Current Database).
- No grupo de opções Opções de Aplicativo, localize e marque a caixinha:
- ☑ Compactar ao Fechar (Compact on Close).
- Clique em OK.
- Documente no seu caderno por que essa configuração é vital para terminais de atendimento que processam muitas inclusões e exclusões de registros diários.
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas reflexivas abaixo com base no conteúdo deste capítulo. Ao concluir, apresente o caderno ao professor para conferência e visto.
- O que é a rotina de Arquivamento Histórico (Data Archiving) e por que ela é indispensável para sistemas de grande porte?
- No Cenário Prático da FastLog, qual é o limite máximo de tamanho de arquivo suportado pelo formato
.accdbdo Microsoft Access? - O que acontece com a velocidade das consultas quando misturamos 4 anos de fretes antigos finalizados com as viagens ativas de hoje?
- Qual comando SQL é utilizado para criar uma nova tabela diretamente a partir de uma consulta (Make-Table)?
- Qual comando SQL é utilizado para copiar registros em lote para uma tabela que já existe (Append Query)?
- O que acontece com o tamanho em megabytes de um arquivo do Access quando apagamos milhares de linhas com o comando
DELETE? - Qual é a função da ferramenta Compactar e Reparar Banco de Dados?
- Na Prática Obrigatória 2, por que foi utilizada a subconsulta com
NOT INna rotina de anexação? - Onde localizamos a opção para ativar o recurso ☑ Compactar ao Fechar nas opções globais do Access?
- No Desafio de Fixação, como a compactação automática ao fechar protege o banco de dados contra o colapso por inchaço (Database Bloat)?