image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
William Silva
William Silva04/04/2025 10:57
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

Normalização de Banco de Dados

    A normalização de banco de dados é um processo que organiza os dados para minimizar a redundância e melhorar a integridade dos dados. O conceito foi introduzido por Edgar F. Codd, o criador do modelo relacional. A normalização é composta por várias formas normais (Normal Forms – NF), cada uma adicionando regras mais restritivas para a estrutura do banco.

    📌 Primeira Forma Normal - First Normal Form - 1NF

    Definição:

    Um banco de dados está na 1NF quando:

    1. Todos os atributos armazenam valores atômicos (indivisíveis, sem repetições ou listas).
    2. Cada coluna contém um único tipo de dado (exemplo: números, datas ou textos, mas nunca uma mistura).
    3. Cada registro tem uma chave primária que o identifica de forma única.

    Exemplo de Problema (Não está em 1NF):

    image

    📌 Erro: A coluna "Telefones" contém múltiplos valores.

    Solução (Convertido para 1NF):

    image

    Agora, cada campo contém um único valor atômico.

    📌 Segunda Forma Normal - Second Normal Form - 2NF

    Definição:

    Um banco de dados está na 2NF quando:

    1. Está na 1NF.
    2. Todos os atributos não-chave dependem da chave primária inteira, e não apenas de parte dela (evita dependências parciais).

    Exemplo de Problema (Não está em 2NF):

    image

    📌 Erro: O campo "Produto_Nome" depende apenas de "Produto_ID", não da chave primária composta ("Pedido_ID", "Produto_ID").

    Solução (Convertido para 2NF):

    Tabela Pedido_Produto:

    image

    Tabela Produto:

    image

    Agora, "Produto_Nome" depende exclusivamente de "Produto_ID".

    📌 Terceira Forma Normal - Third Normal Form - 3NF

    Definição:

    Um banco de dados está na 3NF quando:

    1. Está na 2NF.
    2. Todos os atributos não-chave dependem somente da chave primária e não de outros atributos não-chave (evita dependências transitivas).

    Exemplo de Problema (Não está em 3NF):

    image

    📌 Erro: "Estado" depende de "Cidade" e não diretamente de "Cliente_ID".

    Solução (Convertido para 3NF):

    Tabela Cliente:

    image

    Tabela Cidade:

    image

    Agora, cada atributo depende diretamente da chave primária.

    📌 Quarta Forma Normal - Fourth Normal Form - 4NF

    Definição:

    Um banco de dados está na 4NF quando:

    1. Está na 3NF.
    2. Elimina dependências multivaloradas, ou seja, quando um atributo pode ter múltiplos valores independentes de outro.

    Exemplo de Problema (Não está em 4NF):

    image

    📌 Erro: O professor ensina múltiplas disciplinas e pode lecionar em vários campus, gerando redundância.

    Solução (Convertido para 4NF):

    Tabela Professor_Disciplina:

    image

    Tabela Professor_Campus:

    image

    Agora, cada relação foi separada corretamente.

    📌 Quinta Forma Normal - Fifth Normal Form - 5NF

    Definição:

    Um banco de dados está na 5NF quando:

    1. Está na 4NF.
    2. Separa tabelas para eliminar dependências de junção, garantindo que a decomposição do banco de dados não cause perda de dados ou redundância.

    Exemplo de Problema (Não está em 5NF):

    image

    📌 Erro: As dependências entre produto, fornecedor e cliente não são corretamente representadas.

    Solução (Convertido para 5NF):

    Criamos três tabelas:

    Tabela Produto_Fornecedor:

    image

    Tabela Produto_Cliente:

    image

    Tabela Fornecedor_Cliente:

    image

    Isso evita dependências complexas entre os três elementos.

    📌 Conclusão

    Cada forma normal tem como objetivo eliminar redundâncias e garantir integridade dos dados. Em sistemas reais, nem sempre é necessário atingir a 5NF, pois normalizações excessivas podem impactar a performance. O equilíbrio entre normalização e desempenho é essencial para um bom design de banco de dados.

    Share
    Recommended for you
    XP Inc. - Cloud com Inteligência Artificial
    Microsoft AI for Tech - Azure Databricks
    Microsoft Certification Challenge #3 DP-100
    Comments (0)
    Recommended for youMicrosoft Certification Challenge #3 DP-100