Skip to main content

Noções básicas de normalização de banco de dados

Huérfanas Capítulo 230 Español HD (Abril 2025)

Huérfanas Capítulo 230 Español HD (Abril 2025)
Anonim

Se você tem trabalhado com bancos de dados por um tempo, é provável que você tenha ouvido o termo normalização. Talvez alguém tenha perguntado "Esse banco de dados está normalizado?" ou "Isso é no BCNF?" A normalização é frequentemente descartada como um luxo que somente os acadêmicos têm tempo para fazer. No entanto, conhecer os princípios de normalização e aplicá-los às suas tarefas diárias de design de banco de dados não é tão complicado assim e pode melhorar drasticamente o desempenho do seu DBMS.

Neste artigo, vamos introduzir o conceito de normalização e dar uma breve olhada nas formas normais mais comuns.

O que é normalização?

A normalização é o processo de organizar eficientemente os dados em um banco de dados. Há dois objetivos do processo de normalização: eliminar dados redundantes (por exemplo, armazenar os mesmos dados em mais de uma tabela) e garantir que as dependências de dados façam sentido (somente armazenando dados relacionados em uma tabela). Ambos são objetivos valiosos, pois reduzem a quantidade de espaço que um banco de dados consome e garantem que os dados sejam armazenados logicamente.

As formas normais

A comunidade de bancos de dados desenvolveu uma série de diretrizes para garantir que os bancos de dados sejam normalizados. Estes são referidos como formas normais e são numerados de um (a menor forma de normalização, referida como primeira forma normal ou 1NF) através de cinco (quinta forma normal ou 5NF). Em aplicações práticas, você frequentemente verá 1NF, 2NF e 3NF junto com o ocasional 4NF. A quinta forma normal é muito raramente vista e não será discutida neste artigo.

Antes de iniciarmos nossa discussão sobre as formas normais, é importante ressaltar que elas são apenas diretrizes e diretrizes. Ocasionalmente, torna-se necessário desviar-se deles para atender aos requisitos práticos de negócios. No entanto, quando ocorrem variações, é extremamente importante avaliar quaisquer possíveis ramificações que elas possam ter em seu sistema e considerar possíveis inconsistências. Dito isso, vamos explorar as formas normais.

Primeira Forma Normal (1NF)

A primeira forma normal (1NF) define as regras básicas para um banco de dados organizado:

  • Elimine colunas duplicadas da mesma tabela.
  • Crie tabelas separadas para cada grupo de dados relacionados e identifique cada linha com uma única coluna ou conjunto de colunas (a chave primária).

Segunda Forma Normal (2NF)

A segunda forma normal (2NF) aborda ainda o conceito de remoção de dados duplicados:

  • Cumpra todos os requisitos do primeiro formulário normal.
  • Remova subconjuntos de dados que se aplicam a várias linhas de uma tabela e coloque-os em tabelas separadas.
  • Crie relacionamentos entre essas novas tabelas e seus predecessores através do uso de chaves estrangeiras.

Terceira Forma Normal (3NF)

Terceira forma normal (3NF) vai um passo além:

  • Atenda a todos os requisitos do segundo formulário normal.
  • Remova colunas que não são dependentes da chave primária.

Forma Normal de Boyce-Codd (BCNF ou 3.5NF)

A Forma Normal de Boyce-Codd, também referida como a "terceira e meia (3.5) forma normal", acrescenta mais um requisito:

  • Cumpra todos os requisitos do terceiro formulário normal.
  • Cada determinante deve ser uma chave candidata.

Quarta Forma Normal (4NF)

Finalmente, a quarta forma normal (4NF) tem um requisito adicional:

  • Cumpra todos os requisitos do terceiro formulário normal.
  • Uma relação está em 4NF se não tiver dependências de múltiplos valores.

Lembre-se, essas diretrizes de normalização são cumulativas. Para um banco de dados estar em 2NF, ele deve primeiro preencher todos os critérios de um banco de dados 1NF.

Eu deveria normalizar?

Embora a normalização do banco de dados seja geralmente uma boa ideia, não é um requisito absoluto. De fato, há alguns casos em que a violação deliberada das regras de normalização é uma boa prática. Para mais informações sobre este tópico, leia Devo normalizar meu banco de dados?

Se você quiser garantir que seu banco de dados esteja normalizado, comece aprendendo como colocar seu banco de dados no First Normal Form.