Impossibilidade de cadastrar um novo produto sem associá-lo imediatamente a um pedido existente.
Anomalia de Exclusão
Ao remover o último pedido de um cliente, todos os dados cadastrais do cliente são perdidos inadvertidamente.
Anomalia de Atualização
Alteração do preço de um produto requer atualização em centenas de registros, gerando inconsistências.
Capítulo 5
Otimização de Esquemas Normalizados
Nem sempre a normalização completa é a melhor solução. Vamos explorar quando e como otimizar estrategicamente.
Quando Desnormalizar?
Situações Estratégicas
Consultas complexas com múltiplas junções causando lentidão
Relatórios que agregam dados de várias tabelas frequentemente
Sistemas de leitura intensiva onde performance é crítica
Dados históricos que raramente mudam
Estratégias de Otimização
1
Índices Adequados
Criar índices em colunas frequentemente usadas em consultas e junções para acelerar buscas.
2
Visões Materializadas
Pré-calcular agregações complexas e armazená-las para acesso rápido em relatórios.
3
Desnormalização Seletiva
Balancear normalização e performance duplicando dados estrategicamente em casos específicos.
Exemplo Prático de Desnormalização Controlada
Tabela de Vendas Otimizada
Para relatórios gerenciais que consultam milhões de registros diariamente, uma tabela desnormalizada com dados agregados oferece ganhos significativos de performance.
Campos Adicionados
Nome do produto (duplicado)
Categoria (duplicado)
Total pré-calculado
Benefícios
Redução de 80% no tempo de resposta
Eliminação de 5 junções complexas
Relatórios em tempo real viáveis
Ferramentas e Técnicas para Análise e Otimização
Diagramas ER
Visualizar relacionamentos e identificar oportunidades de normalização ou otimização estrutural.
MySQL Workbench
Modelagem visual, engenharia reversa e validação de esquemas de banco de dados.
PowerDesigner
Ferramenta empresarial completa para modelagem de dados e análise de impacto.
Capítulo 6
Exercícios de Fixação e Discussão
Agora é sua vez! Vamos consolidar o aprendizado com exercícios práticos adicionais e discussões aprofundadas.
Exercício: Normalizar esquema de notas fiscais
01
Identificar Entidades
Analisar a estrutura atual e identificar nota fiscal, cliente, produtos e itens da nota.
02
Mapear Dependências
Determinar todas as dependências funcionais entre os atributos identificados.
03
Aplicar 1FN
Eliminar grupos repetitivos separando itens da nota em tabela própria.
04
Aplicar 2FN e 3FN
Remover dependências parciais e transitivas, criando tabelas para cliente e produto.
Exercício: Analisar esquema de alunos e disciplinas
Cenário
Um sistema acadêmico armazena dados de alunos, disciplinas cursadas, professores e notas obtidas.
Considere múltiplas matrículas ao longo de semestres diferentes e a possibilidade de repetir disciplinas.
Desafios
Relacionamento muitos-para-muitos entre alunos e disciplinas
Histórico temporal de matrículas
Dependências entre turmas, professores e horários
Cálculo de médias e situação acadêmica
Discussão: Impacto da Normalização na Performance
1
Cenários Problemáticos
Normalização excessiva pode aumentar drasticamente o número de junções necessárias, prejudicando consultas complexas em sistemas de alta demanda.
2
Métodos de Medição
Utilizar ferramentas de profiling, EXPLAIN PLAN e monitoramento de query time para identificar gargalos específicos no banco de dados.
3
Ajustes Necessários
Balancear normalização com índices estratégicos, caching e desnormalização seletiva baseada em métricas reais de uso.
Resumo e Principais Lições da Aula Prática
Normalização é Essencial
Fundamental para garantir integridade dos dados e facilitar manutenção de sistemas ao longo do tempo.
Prática Consolida o Conhecimento
Exercícios reais demonstram como aplicar teoria na solução de problemas complexos de modelagem.
Otimização é Contextual
Decisões sobre normalização devem considerar requisitos específicos de performance e padrões de uso.
Obrigado! Perguntas e Próximos Passos
Pratique com Casos Reais
Aplique os conceitos em projetos do seu dia a dia profissional.
Explore Ferramentas
Domine ferramentas de modelagem para aumentar sua produtividade.
Prepare-se para Desafios
Continue evoluindo em bancos de dados distribuídos e NoSQL.
Dúvidas? Estou à disposição para discussão e esclarecimentos!