Unidade 4 - Normalização: Aula 12 – Prática de Normalização
Exercícios práticos, análise de casos reais e otimização de esquemas de banco de dados
Capítulo 1
Revisão Rápida dos Conceitos Fundamentais
Antes de mergulharmos nos exercícios práticos, vamos revisar os conceitos essenciais da normalização que serão aplicados ao longo desta aula.
Por que Normalizar?
Evitar Redundância
Eliminar duplicação de dados que desperdiça espaço e gera inconsistências no sistema.
Garantir Integridade
Assegurar que os dados permaneçam precisos e confiáveis durante todas as operações.
Facilitar Manutenção
Tornar o banco de dados mais fácil de atualizar, modificar e expandir ao longo do tempo.
As Formas Normais Essenciais
01
Primeira Forma Normal (1FN)
Eliminar grupos repetitivos e garantir que cada atributo contenha apenas valores atômicos, indivisíveis.
02
Segunda Forma Normal (2FN)
Remover dependências parciais, garantindo que todos os atributos não-chave dependam totalmente da chave primária.
03
Terceira Forma Normal (3FN)
Eliminar dependências transitivas, assegurando que atributos não-chave não dependam de outros atributos não-chave.
Anomalias que a Normalização Evita
Anomalias de Inserção
Impossibilidade de adicionar dados sem informações completas ou criação de redundâncias desnecessárias.
Anomalias de Atualização
Necessidade de modificar múltiplas linhas para atualizar um único fato, gerando inconsistências.
Anomalias de Exclusão
Perda não intencional de informações importantes ao remover dados relacionados.
Transformação pela Normalização
Tabela Desnormalizada
  • Dados repetidos em múltiplas linhas
  • Dificuldade de manutenção
  • Alto risco de inconsistências
Tabelas Normalizadas
  • Dados armazenados uma única vez
  • Relacionamentos via chaves estrangeiras
  • Integridade referencial garantida
Capítulo 2
Exercícios Práticos de Normalização – Caso 1
Vamos começar nossa prática com exercícios fundamentais que demonstram o processo completo de normalização.
Exercício: Esquema Empregado
1
Estrutura Inicial
Atributos: Número Empregado, Nome, Departamento, Gerente, Projeto, Horas
2
Análise
Identificar todas as dependências funcionais entre os atributos da tabela original.
3
Normalização
Aplicar sequencialmente as três primeiras formas normais para otimizar o esquema.
Solução Passo a Passo
Aplicando 1FN
Separar valores múltiplos em linhas distintas. Cada célula deve conter apenas um valor atômico.
Aplicando 2FN
Remover dependências parciais, como dados do departamento que dependem apenas do número do empregado.
Aplicando 3FN
Eliminar dependências transitivas, separando dados do gerente que dependem do departamento.
Exercício: Esquema Ordem_Compra
Desafio
Normalizar uma tabela com múltiplos itens por ordem de compra.
Objetivo
Eliminar repetição de dados sobre fornecedor e material, garantindo eficiência e integridade nas operações de compra.
Análise das Dependências Funcionais
1
Chave Primária Composta
Identificar combinação de atributos que forma a chave única da tabela.
2
Dependências Parciais
Localizar atributos que dependem apenas de parte da chave composta.
3
Dependências Transitivas
Detectar atributos que dependem de outros atributos não-chave.
Capítulo 3
Exercícios Práticos de Normalização – Caso 2
Agora vamos explorar um caso mais complexo que envolve múltiplas entidades e relacionamentos sofisticados.
Caso Vídeo Center of Europe Ltda.
Entidades Principais
DVDs físicos, filmes, clientes e registros de locações formam a estrutura do sistema.
Dependências Complexas
Múltiplas relações entre filmes, atores, gêneros e cópias físicas disponíveis.
Objetivo
Normalizar até 3FN mantendo todas as informações necessárias para o negócio.
Desafios do Caso
Complexidades Identificadas
  • Atributos multivalorados como elenco de estrelas do filme
  • Dependências transitivas entre DVD físico e informações do filme
  • Relacionamentos muitos-para-muitos entre clientes e locações
  • Histórico temporal de locações e devoluções
Solução Proposta
Tabela Filme
Título, gênero, diretor, ano de lançamento e duração.
Tabela DVD
Código único, estado de conservação e referência ao filme.
Tabela Cliente
Dados cadastrais, contato e histórico de locações.
Tabela Locação
Data de locação, devolução, cliente e DVD associados.
Esta estrutura normalizada garante integridade referencial e elimina toda redundância de dados.
Capítulo 4
Análise de Casos Reais
Vamos examinar exemplos práticos de normalização em sistemas de produção e seus impactos mensuráveis.
Caso Real: Banco de Dados de Loja Eletrônica
Problemas Sem Normalização
  • Informações de produtos duplicadas em cada pedido
  • Inconsistências em preços e descrições
  • Desperdício significativo de espaço de armazenamento
Benefícios Após Normalização
  • Atualização única de produtos reflete em todo o sistema
  • Economia de até 60% no espaço de armazenamento
  • Consultas mais rápidas e manutenção simplificada
Exemplo Visual: Antes e Depois da Normalização
Antes
Tabela única com dados de cliente, produto e pedido repetidos em cada linha de venda.
Depois
Tabelas separadas (Clientes, Produtos, Pedidos, ItensPedido) conectadas por chaves estrangeiras eficientes.
Anomalias Comuns em Projetos Reais
Anomalia de Inserção
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!