Guia do Instrutor: Banco de Dados Relacional & SQL com Access

Este guia foi elaborado para apoiar o professor na condução das aulas práticas no laboratório de informática, oferecendo estratégias de nivelamento para turmas com perfis heterogêneos de Administração, Logística e TI, diagnóstico de erros frequentes no Microsoft Access, conceitos de álgebra relacional e SQL, e rubricas claras para correção das tarefas entregues no Microsoft Teams.

Sobre os “Desafios de Fixação” e “Atividades Bônus”
Cada capítulo já traz, na seção “🔥 Desafio de Fixação”, a atividade prática extra oficial do curso — compilada em desafios_de_fixacao.md e revisada nos questionários de caderno. As sugestões de "🎓 Atividade Bônus" listadas abaixo são ideias adicionais e informais para o docente propor a alunos avançados que terminem as práticas antes dos demais colegas.


⏱️ Gestão do Tempo em Aula (Bloco de 50 minutos)

Para garantir que os alunos compreendam os conceitos relacionais e tenham tempo hábil para modelar tabelas, escrever comandos SQL e validar formulários:

flowchart LR
    A["1. Contexto & Negócio<br/>(10 min)<br/>Problema FastLog S.A."] --> B["2. Live Modeling / SQL<br/>(20 min)<br/>Construção no Projetor"]
    B --> C["3. Prática 2 & Desafio<br/>(15 - 20 min)<br/>Autonomia no Computador"]
    
    style A fill:#1a365d,stroke:#fff,stroke-width:2px,color:#fff
    style B fill:#234e52,stroke:#fff,stroke-width:2px,color:#fff
    style C fill:#b7472a,stroke:#fff,stroke-width:2px,color:#fff
  • 10 min: Apresente a dor operacional da transportadora na lousa. Explique por que manter esses dados numa planilha causaria perda de controle, duplicidade ou fraudes.
  • 20 min: Abra o Access no projetor e execute a Prática Obrigatória 1 com a turma, demonstrando o Modo Design de Tabelas, a Janela de Relações ou a aba SQL de Consultas.
  • 15 a 20 min: Deixe os alunos resolverem a Prática Obrigatória 2 e o Desafio de Fixação de forma individual, prestando atendimento direto às estações de trabalho.

🚀 Orientações Pedagógicas por Módulo

🧱 Módulo 1: Fundamentos & Modelagem Relacional (Cap. 01 a 04)

  • Capítulo 01 (Da Planilha ao Banco Relacional):

    • Ponto de Atenção: Alunos achando que o Access é apenas “um Excel mais feio ou difícil”.
    • Dica Didática: Faça um teste provocativo: peça a dois alunos para abrirem a mesma planilha de pedidos compartilhada na rede e editarem a mesma célula. O Excel bloqueará ou sobrescreverá. Em seguida, mostre que o Access bloqueia apenas o registro individual (record locking), permitindo concorrência segura.
    • 🎓 Atividade Bônus: Identificar 3 anomalias na planilha importada da portaria.
  • Capítulo 02 (Entidades, Atributos, PK e Tipos):

    • Ponto de Atenção: Escolher tipos genéricos como Texto Curto para tudo (inclusive para preços e datas), impedindo cálculos futuros.
    • Dica Didática: Ensine a regra de ouro: “Se faz conta ou calcula juros, é Número ou Moeda. Se indica tempo ou prazo, é Data/Hora. Se é código alfanumérico que não faz conta (ex: CEP, CPF, Placa), é Texto Curto”.
    • 🎓 Atividade Bônus: Configurar o campo de placa com tamanho exato de 7 caracteres.
  • Capítulo 03 (Máscaras de Entrada e Regras de Validação):

    • Ponto de Atenção: Confundir Máscara de Entrada (formato visual de digitação) com Regra de Validação (teste lógico booleano de valor permitido).
    • Dica Didática: Mostre que a máscara 000.000.000-00 orienta a digitação, mas a regra >=0 impede valores absurdos como frete negativo ou peso zero.
    • 🎓 Atividade Bônus: Criar texto de validação amigável e personalizado para quando o peso exceder a capacidade máxima do caminhão.
  • Capítulo 04 (Normalização: 1FN, 2FN e 3FN):

    • Ponto de Atenção: Dificuldade em enxergar dependências transitivas na 3FN (ex: Nome da Filial dependendo do Código da Filial, e não do ID do Pedido).
    • Dica Didática: Use a famosa frase de Bill Kent: “Cada atributo não-chave deve fornecer um fato sobre a chave, a chave inteira (2FN) e nada mais além da chave (3FN), que Deus nos ajude!”.
    • 🎓 Atividade Bônus: Esboçar no verso da folha um diagrama de caixas com as 4 tabelas normalizadas.

⚙️ Módulo 2: Relacionamentos, Integridade & Pesquisa (Cap. 05 a 08)

  • Capítulo 05 (Relacionamento 1:N e Integridade Referencial):

    • Ponto de Atenção: Tentar ligar dois campos com tipos de dados incompatíveis (ex: Autonumeração com Texto Curto).
    • Dica Didática: Lembre sempre: um campo Autonumeração (PK) no lado “1” DEVE se relacionar com um campo Número (Inteiro Longo) (FK) no lado “N”.
    • 🎓 Atividade Bônus: Tentar forçar o cadastro de uma ordem para um cliente com ID 9999 e verificar a mensagem de erro do Access.
  • Capítulo 06 (Atualização e Exclusão em Cascata):

    • Ponto de Atenção: Ativar exclusão em cascata indiscriminadamente, arriscando apagar históricos de faturamento ao excluir um cliente antigo.
    • Dica Didática: Explique o conceito de “Exclusão Lógica” (campo Ativo = Não) como alternativa segura à exclusão física no mundo corporativo.
    • 🎓 Atividade Bônus: Demonstrar a alteração do código de filial e ver todas as cargas vinculadas atualizadas instantaneamente.
  • Capítulo 07 (Relacionamento N:M e Tabela Associativa):

    • Ponto de Atenção: Criar tabelas com colunas Produto1, Produto2, Produto3 em vez de criar uma tabela associativa tbl_ItensCarga.
    • Dica Didática: Mostre que se a empresa criar colunas fixas, quando um frete tiver 4 produtos a transportadora não conseguirá registrar sem alterar a estrutura do banco!
    • 🎓 Atividade Bônus: Criar chave primária composta selecionando os dois campos FK e clicando no botão Chave Primária.
  • Capítulo 08 (Índices e Desempenho):

    • Ponto de Atenção: Criar índices em campos que sofrem atualizações a cada segundo ou com baixa seletividade (ex: campo Sexo ou Sim/Não).
    • Dica Didática: Compare o índice ao índice remissivo de um livro de 800 páginas: você vai direto na página certa sem folhear da página 1 até o final.
    • 🎓 Atividade Bônus: Configurar o campo Numero_CTE como Índice Único (Duplicata Não Autorizada).

🔍 Módulo 3: Linguagem SQL Corporativa (Cap. 09 a 12)

  • Capítulo 09 (Sintaxe Canônica SELECT, FROM, WHERE):

    • Ponto de Atenção: Esquecer de colocar aspas em valores de texto no WHERE (ex: WHERE Cidade = 'Curitiba') ou tentar usar aspas em números.
    • Dica Didática: Mostre a alternância entre o Modo Design (QBE) e a guia Modo SQL clicando com o botão direito na barra da consulta.
    • 🎓 Atividade Bônus: Filtrar transportadoras cujo status seja Ativo E frota seja própria.
  • Capítulo 10 (Operadores LIKE, BETWEEN, IN e ORDER BY):

    • Ponto de Atenção: Confundir o coringa do Access (*) com o coringa do SQL ANSI puro (%) quando consultam via interface gráfica.
    • Dica Didática: Explique que o Access nativamente usa * no construtor de consultas, mas via ADO/SQL puro aceita %.
    • 🎓 Atividade Bônus: Listar todas as cargas ordenadas por valor decrescente e filial crescente.
  • Capítulo 11 (Junções: INNER JOIN e LEFT JOIN):

    • Ponto de Atenção: Não compreender por que um cliente sumiu da lista no INNER JOIN (ele não possuía nenhum frete cadastrado).
    • Dica Didática: Desenhe os diagramas de Venn no quadro. Mostre que INNER JOIN é a interseção exata, enquanto LEFT JOIN preserva todos os registros da tabela da esquerda.
    • 🎓 Atividade Bônus: Criar uma consulta para o gerente identificar motoristas que estão há mais de 15 dias sem viagem.
  • Capítulo 12 (Agregações: GROUP BY e HAVING):

    • Ponto de Atenção: Incluir campos não agregados no SELECT sem colocá-los no GROUP BY (o famoso erro de sintaxe SQL).
    • Dica Didática: Ensine: “Tudo o que está no SELECT ou é uma função agregada (Soma, Média, Contar) ou TEM que estar na lista do GROUP BY!”.
    • 🎓 Atividade Bônus: Filtrar com HAVING apenas cidades com faturamento total acima de R$ 100.000,00.

🖥️ Módulo 4: Formulários & Relatórios Gerenciais (Cap. 13 a 16)

  • Capítulo 13 (Telas de Cadastro e Ergonomia):

    • Ponto de Atenção: Formulários desorganizados com campos desalinhados e cores berrantes que cansam o operador.
    • Dica Didática: Aborde a ergonomia de software (UI/UX corporativo): alinhamento em grade, ordem de tabulação coerente (Tab Order) e paleta de cores sóbria.
    • 🎓 Atividade Bônus: Inserir logotipo corporativo da FastLog no cabeçalho do formulário.
  • Capítulo 14 (Formulários Mestre-Detalhes):

    • Ponto de Atenção: Esquecer de configurar LinkMasterFields e LinkChildFields, fazendo o subformulário exibir todos os itens de todos os fretes misturados.
    • Dica Didática: Mostre que o subformulário “filho” escuta o registro atual da tela “mãe” através do ID de ligação.
    • 🎓 Atividade Bônus: Adicionar uma caixa de texto no rodapé do subformulário com =Soma([ValorItem]) e puxá-la para o formulário mestre.
  • Capítulo 15 (ComboBox Relacional e Bound Column):

    • Ponto de Atenção: A ComboBox salvar o nome do motorista em vez do seu ID_Motorista, quebrando a integridade relacional.
    • Dica Didática: Ensine o truque da largura de coluna: 0cm;6cm. O 0cm esconde a chave primária aos olhos do usuário, mas mantém a gravação relacional perfeita.
    • 🎓 Atividade Bônus: Ordenar os clientes na ComboBox em ordem alfabética através de consulta SQL acoplada.
  • Capítulo 16 (Relatórios Executivos com Agrupamento):

    • Ponto de Atenção: Inserir totais no detalhe em vez de colocá-los no Rodapé do Grupo ou Rodapé do Relatório.
    • Dica Didática: Detalhe se repete para cada linha; Rodapé do Grupo totaliza a categoria; Rodapé do Relatório dá o total geral da empresa.
    • 🎓 Atividade Bônus: Configurar formatação condicional no relatório para destacar em vermelho fretes atrasados.

🚀 Módulo 5: Operações Avançadas & Projeto Integrador (Cap. 17 a 20)

  • Capítulo 17 (Consultas de Ação: UPDATE e DELETE):

    • Ponto de Atenção: Executar um UPDATE ou DELETE sem cláusula WHERE, alterando ou apagando a base inteira!
    • Dica Didática: Diga aos alunos: “Regra sagrada de banco de dados: antes de rodar um UPDATE ou DELETE, rode um SELECT com o mesmo WHERE para ter certeza dos registros afetados”.
    • 🎓 Atividade Bônus: Fazer backup do banco antes de rodar o expurgo de dados.
  • Capítulo 18 (Criação de Tabelas e Fechamento Mensal):

    • Ponto de Atenção: O banco crescer de tamanho desnecessariamente mesmo após apagar registros.
    • Dica Didática: Ensine a ferramenta essencial “Compactar e Reparar Banco de Dados” (Compact & Repair), explicando a liberação de espaço em disco.
    • 🎓 Atividade Bônus: Criar uma consulta de exclusão dos dados arquivados após a confirmação da cópia.
  • Capítulo 19 (Split Database & Conectividade ODBC):

    • Ponto de Atenção: Caminhos de rede fixos em letras de unidade mapeada (ex: Z:\) que falham em outros computadores.
    • Dica Didática: Ensine o conceito de cliente-servidor: a interface fica na máquina local (rápida e leve) e os dados ficam centralizados e protegidos no servidor.
    • 🎓 Atividade Bônus: Usar o Gerenciador de Tabelas Vinculadas para relinkar uma tabela movida de pasta.
  • Capítulo 20 (Projeto Integrador: SIG FastLog Dados Enterprise):

    • Ponto de Atenção: Focar apenas na estética e esquecer de testar a integridade referencial com dados simulados reais.
    • Dica Didática: Faça uma sessão de homologação (UAT): troque os bancos entre duplas de alunos e desafie um aluno a tentar corromper o banco do colega com dados inválidos.
    • 🎓 Atividade Bônus: Apresentar o painel executivo com a síntese de indicadores operacionais.

📋 Rubrica Oficial de Avaliação para o Microsoft Teams

Para atribuir a nota de 0 a 10 de cada capítulo com agilidade e objetividade:

1
2
3
4
5
6
Critérios de Correção (Capítulo XX):
[  ] 2,5 pts - Modelagem relacional e tipagem defensiva correta
[  ] 2,5 pts - Integridade referencial com PK/FK e relacionamentos coerentes
[  ] 3,0 pts - Consultas SQL / Formulários Mestre-Detalhes / Relatórios operacionais
[  ] 2,0 pts - Nomenclatura oficial (FastLog_BD_CapXX_Nome.accdb) e entrega pontual no Teams
Total: ____ / 10,0 pontos