• Home

    Escolha seu Plano

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    Cursos

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    Cursos

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    Cursos

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    Cursos

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    Cursos

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    Cursos

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    Cursos

    Ver mais cursos de Gestão & Negócios
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    Cursos

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    Carreiras

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    Cursos

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    Cursos

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    Cursos

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • Imersão Engenharia de Software: Dev na Era da IA
    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA

    Escolha seu Plano

    Conteúdos gratuitos

    Explore conteúdos gratuitos para aprender tecnologia no seu ritmo. Encontre artigos com conteúdos técnicos para aprender na prática, notícias para acompanhar as principais tendências do mercado e o Alura Labs, com análises e reflexões de especialistas sobre tecnologia, IA e carreira.

    Conteúdos gratuitos

    • Artigos
    • Notícias
    • Alura Labs
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. Normalização: o que é, para que serve e como usá-la

    Normalização: o que é, para que serve e como usá-la

    8 min8 minutos de leitura

    8 min8 minutos de leitura

    Publicado: 19/05/2024

    1. Quais são os tipos de anomalias
    2. Para quê serve a normalização de dados?
    3. Regras de normalização de dados
    4. Conclusão
    5. Créditos

    Na modelagem de dados, é muito importante representarmos com precisão a estrutura e as relações entre os diferentes elementos de um sistema.

    No entanto, durante esse processo, é comum surgirem anomalias no banco de dados, que são inconsistências ou problemas que afetam a integridade e a qualidade dos dados armazenados.

    Nesse sentido, neste artigo, vamos conhecer os principais tipos de anomalias e também a importância do processo de normalização dos dados através da aplicação das chamadas formais normais, que visam garantir uma estruturação eficaz e livre de redundâncias em nosso banco de dados.

    Vamos lá?

    Quais são os tipos de anomalias

    Como dito na introdução, existem vários tipos de anomalias nos dados que podem surgir em um banco de dados devido a falhas na estruturação ou manipulação inadequada dos dados.

    Vamos conhecer os principais tipos de anomalias:

    A imagem mostra duas pessoas conversando na frente de uma lousa com imagens que representam bancos de dados, pastas e suas estruturas.

    Anomalias de Inserção

    Ocorrem quando é difícil ou impossível inserir novos dados no banco de dados devido a restrições de integridade ou inconsistências na estrutura da tabela.

    Anomalias de Atualização

    Surgem quando uma atualização de dados em uma tabela resulta em inconsistências ou valores indesejados em outras partes do banco de dados.

    Anomalias de Exclusão

    Acontecem quando a exclusão de dados de uma tabela resulta em perda de informações importantes ou em referências inválidas em outras partes do banco de dados.

    Redundância de Dados

    Ocorre quando os mesmos dados são armazenados em múltiplos locais, o que pode levar ao desperdício de espaço de armazenamento e dificuldades de manutenção.

    Dependências Funcionais Indesejadas

    Acontecem quando as relações entre os dados não são adequadamente definidas, resultando em dependências funcionais não intencionais ou ambíguas.

    Inconsistências de Dados

    Surgem quando os dados em uma tabela estão desatualizados, contraditórios ou em conflito com os dados em outras partes do banco de dados.

    Dependências Multivaloradas

    Ocorrem quando um conjunto de atributos não chave determina um conjunto de valores diferentes para outro conjunto de atributos, resultando em redundâncias e dificuldades de atualização.

    Anomalias de Junção

    Acontecem quando a junção de tabelas resulta em informações incorretas ou incompletas devido à forma como as tabelas foram estruturadas ou relacionadas.

    O surgimento dessas anomalias são comuns, porém a permanência de qualquer uma delas no nosso banco de dados pode gerar grandes problemas na confiabilidade dos nossos dados, por esse motivo existe o processo de normalização.

    A imagem representa o processo de normalização, mostrando uma tabela mais extensa sendo dividida e organizada em outras novas tabelas.

    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Para quê serve a normalização de dados?

    Importante dizer que a normalização dos dados será responsável por organizar as tabelas de um banco de dados de forma a reduzir redundâncias e evitar as anomalias de atualização e exclusão.

    Sendo assim, ela é realizada através da aplicação de uma série de regras chamadas de formas normais, que garantem a estruturação eficiente e livre de redundâncias das tabelas.

    O processo de normalização geralmente envolve dividir as tabelas grandes em múltiplas tabelas menores e mais especializadas, conectadas por meio de relacionamentos.

    Isso ajuda a minimizar o espaço de armazenamento necessário, melhorar a integridade dos dados e facilitar a manutenção e a consulta dos dados.

    Regras de normalização de dados

    Falando um pouco sobre as formas normais, existem várias dessas regras para garantir o sucesso da estruturação do nosso banco de dados.

    Porém três delas são as mais utilizadas na normalização:

    Primeira Forma Normal (1NF)

    Em 1NF, cada célula de uma tabela deve conter um único valor atômico, ou seja, não pode conter valores compostos ou repetidos.

    Por exemplo, vamos supor que temos uma tabela de alunos com colunas para ID do aluno, nome e lista de disciplinas cursadas.

    Para aplicar a 1NF, devemos separar a lista de disciplinas em uma tabela separada de modo que cada linha representa um único aluno e uma única disciplina, como mostrado abaixo:

    Tabela antes de aplicarmos a 1FN:

    Tabela Alunos

    ID AlunoNomeDisciplinas Cursadas
    1JoãoMatemática, História
    2MariaCiências, Inglês

    Tabelas após a aplicação da 1FN:

    Tabela Alunos

    ID AlunoNome
    1João
    2Maria

    Tabela Disciplinas

    ID AlunoDisciplina
    1Matemática
    1História
    2Ciências
    2Inglês

    Segunda Forma Normal (2NF)

    Em 2NF, uma tabela deve estar na 1NF e todos os seus atributos não chave devem depender completamente da chave primária.

    Continuando com o exemplo anterior, vamos imaginar que agora temos uma tabela de inscrições que relaciona alunos e disciplinas com suas notas.

    Para aplicar a 2NF, devemos dividir esta tabela em duas: uma para as inscrições, relacionando aluno e disciplina, e outra para as notas:

    Tabela antes de aplicarmos a 2FN:

    Tabela Inscrições

    ID InscriçãoID AlunoNome AlunoID DisciplinaDisciplinaNota
    11João1Matemática8,5
    21João2História9
    32Maria3Ciências7,5
    42Maria4Inglês10

    Tabelas após a aplicação da 2FN:

    Tabela Inscrições

    ID InscriçãoID AlunoID Disciplina
    111
    212
    323
    424

    Tabela Notas

    ID InscriçãoNota
    18,5
    29
    37,5
    410

    Agora, cada tabela possui uma responsabilidade única: a tabela de inscrições registra quais alunos estão inscritos em quais disciplinas, enquanto a tabela de notas registra as notas associadas a essas inscrições.

    Isso garante que não haja dependência transitiva entre os atributos, satisfazendo a segunda forma normal (2NF).

    Terceira Forma Normal (3NF)

    Em 3NF, uma tabela deve estar na 2NF e todos os seus atributos não chave devem depender apenas da chave primária, não de outros atributos não chave.

    Considerando a tabela de inscrições do exemplo anterior, se houver um atributo "nome do professor" associado à disciplina, que não depende do aluno, então devemos criar uma tabela separada para armazenar informações sobre a disciplina, incluindo o nome do professor.

    Tabela Inscrições após aplicarmos a 3NF

    Tabela alunos

    ID AlunoNome
    1João
    2Maria

    Tabela Disciplinas

    ID DisciplinaDisciplinaNome Professor
    1MatemáticaProf. Silva
    2HistóriaProf. Alice
    3CiênciasProf. César
    4InglêsProfª Joana

    Tabela Inscrições

    ID InscriçãoID AlunoID DisciplinaNota
    1118,5
    2129
    3237,5
    42410

    Além dessas 3 formas normais principais, temos a Quarta Forma Normal (4NF) e a Quinta Forma Normal (5NF), que são extensões das formas normais anteriores (1NF, 2NF e 3NF).

    Quarta Forma Normal (4NF)

    A 4NF é uma extensão da 3NF que trata de eliminar dependências multivaloradas. Ela assegura que uma tabela não tenha conjuntos de atributos multivalorados que dependam de uma mesma chave primária.

    Isso é alcançado dividindo-se a tabela em múltiplas tabelas menores para representar adequadamente as dependências multivaloradas.

    Por exemplo, se tivermos uma tabela de clientes com atributos como nome, telefone e uma lista de produtos de interesse, a 4NF exigiria a criação de uma tabela separada para representar os produtos de interesse, evitando assim redundâncias na lista de produtos.

    Quinta Forma Normal (5NF)

    A 5NF é uma forma normal menos comum e mais abstrata, que lida com dependências de junção.

    Ela busca eliminar anomalias de junção, garantindo que as tabelas estejam estruturadas de modo a não induzir informações incorretas durante a junção.

    Imagine uma tabela que armazena informações sobre cursos e professores. A 5NF exigiria que os cursos e os professores fossem separados em tabelas distintas para evitar que as informações sobre os cursos afetassem inadvertidamente os dados dos professores durante a junção.

    Além disso, existe a Forma Normal de Boyce-Codd (FNBC ou BCNF), ela é uma forma normal mais rigorosa que a 3NF, que lida especificamente com dependências funcionais não triviais.

    Em outras palavras, todas as dependências funcionais não triviais em uma tabela devem ser determinadas por chaves candidatas. A BCNF é uma forma normal mais forte que a 3NF e, em muitos casos, tabelas que atendem à 3NF também atendem à BCNF.

    No entanto, existem situações em que a BCNF pode exigir uma divisão adicional das tabelas para eliminar dependências funcionais não triviais.

    Conclusão

    Neste artigo, conseguimos então ter uma visão geral sobre o que é o processo de normalização e a sua importância na criação de estruturas de banco de dados eficientes e livres de anomalias.

    Durante a leitura, fomos capazes de:

    • Compreender os principais tipos de anomalias dentro de um banco de dados
    • Reconhecer a importância das aplicações das formas normais

    Bacana né? Esse foi apenas um de diversos conteúdos sobre Modelagem de Dados apresentados na plataforma da Alura.

    Um abraço e nos vemos nos cursos da formação Modelagem de Dados da Alura.

    Créditos

    • Conteúdo: Beatriz Magalhães
    • Produção técnica: Daniel Siqueira
    • Produção didática: Tiago de Freitas
    • Designer gráfico: Alysson Manso
    • Apoio: Rômulo Henrique
    Banner do Guia Tático Alura sobre carreira em tecnologia, destacando o mapa da carreira tech. A imagem convida a explorar diferentes caminhos profissionais, comparar possibilidades e encontrar a próxima fase da carreira na área de tecnologia, com chamada “Explore o mapa”.

    Avalie este artigo

    • Foto de Beatriz Magalhães

      Autor(a)

      Beatriz Magalhães

      Beatriz é formada em Análise e Desenvolvimento de Sistemas. Faz parte do time de instrutores na escola de Data Science, tem focado seus estudos na área de banco de dados, SQL e Business Intelligence e ama explorar diferentes softwares de visualização de dados. É muito curiosa e adora aprender coisas novas e compartilhar com outras pessoas.

    Explore por tópico

    • Back-end
    • Dados
    • DevOps
    • Front-end
    • Gestão & Negócios
    • Institucionais
    • Inteligência Artificial
    • Mobile
    • UX & Design

    Leia também

    • 08/06/2021

      Sazonalidade: o que é, exemplos e tipos de sazonalidade em séries temporais

      Ler mais
    • 23/05/2021

      Jupyter Notebook: o que é, como usar, comandos e exemplos em Python

      Ler mais
    • 17/03/2024

      O que é e como é aplicado MySQL no mercado

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersão Engenharia de Software: Dev na Era da IA
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura