Você está na página 1de 8

1

USO DA FORMA NORMAL DE BOYCE/CODD, QUARTA E QUINTA TÉCNICAS DE


NORMALIZAÇÃO PARA BANCO DE DADOS

Ejziel Sampaio Santos1

Resumo: Com o aumento do número de volume de dados nos sistemas computacionais, é cada vez mais
importante garantir a integridade dos dados, fazendo com que o seja garantida a persistência dos dados. O
processo de normalização em um banco de dados visa reduzir o número de anomalias que a exclusão,
inserção e ou atualização dos dados possam acarretar no sistema. Neste trabalho serão enfatizados 3
métodos de normalização, Boyce-Codd, quarta e quinta forma normal, sendo estes focados em melhorias
e otimizações no banco de dados.
Palavras-chave: Banco de dados, Normalização.

1 INTRODUÇÃO

Em um sistema de banco de dados garantir é de suma importância garantir a integridade,


ou seja, garantir que dados representem corretamente a realidade modelada. Garantir que um
banco seja integro, bem definido e bem controlado irá trazer diversos benefícios, aumentando o
desempenho, estabilidade e facilitando a realização de manutenções.

Visando o aumento do nível de integridade em um banco de dados, surgem processos que


irão evitar que ocorram falhas no projeto, como por exemplo diferentes assuntos em uma mesma
relação e redundância de dados, essas falhas seriam grandes problemas em caso de alteração ou
exclusão de algum atributo.

De acordo com Elmasri e Navathe (2011), ao submeter um esquema relacional a um


processo de normalização, que foi inicialmente proposto por Codd em 1972, o mesmo passa
por uma bateria de testes nos quais será verificado se ele satisfaz a alguma forma normal. Neste
processo que utiliza uma ordem de comparação nos critérios de cada forma normal e aplica as
relações de acordo com a necessidade, esse projeto poderia assim ser visto como relacional por
análise. A principio foram propostas três formas normais, denominadas primeira, segunda e
terceira forma normal, posteriormente foi proposta a Forma Normal Boyce-Codd (FNBC). Todos
estes critérios tem como objetivo eliminar as dependências funcionais que existem entre atributos
em uma tabela. Após foram inseridas outros dois parâmetros, chamadas de quarta e quinta forma
normal, que visam, respectivamente, retirar dependências multivaloradas e dependências de
junção na relação.
1 UFRB, ejziels@gmail.com
2

2 DESENVOLVIMENTO

Segundo Machado (2018), a normalização tem como objetivo reduzir o número de falhas
no projeto de banco de dados, eliminando domínios redundantes e assuntos misturados em um
atributo. No processo de normalização são aplicadas regras afim de verificar se as tabelas estão
projetadas corretamente. Após a utilização das formas normais, geralmente as relações acabam
se subdividindo em duas ou mais relações, gerando um maior número de tabelas do que antes da
aplicação do processo.

O processo de normalização ocasiona uma simplificação nos atributos de uma determi-


nada tabela, melhorando a estabilidade do modelo de dados, e reduzindo as necessidades de
manutenção de maneira considerável.

"Podemos definir que normalização consiste em definir o formato lógico adequado para as
estruturas de dados das tabelas de um banco de dados relacional, identificadas no projeto lógico
do sistema, com objetivo de minimizar o espaço utilizado pelos dados e garantir a integridade e
confiabilidade das informações"(MACHADO, 2018, p. 178).

De acordo com SILVA (2016) e Machado (2018), as regras de normalização são definidas
seguindo uma ordem de restrições, nas quais as etapas anteriores devem ter sido aplicadas para
que seja feita a análise subsequente. Num processo completo de normalização são aplicadas seis
passos, estes são:

1. Primeira forma normal (1FN): Não devem existir atributos multivalorados.

2. Segunda forma normal (2FN): Deve existir uma dependência funcional entre as colunas
e a chave primária.

3. Terceira forma normal (3FN): Garantir uma dependência funcional entre as colunas e a
chave primária e nada mais além.

4. Forma normal Boyce-Codd (FNBC): Não permitir que uma chave candidata seja aces-
sada por meio de outra chave candidata utilizando uma dependência funcional.

5. Quarta forma normal (4FN): Não devem existir atributos não chaves quem recebam
valores diferentes para uma mesma chave primária.

6. Quinta forma normal (5FN): Garante que os dados podem ser reconstruidos a partir de
outras relações menores que não tiverem a mesma chave primária.

Neste trabalho serão aprofundados os estudos sobre a forma normal Boyce-Codd, e a


quarta e quinta forma normal.
3

2.1 MÉTODOS

2.1.1 Forma normal Boyce-Codd (FNBC)

Segundo Machado (2018), a FNBC é uma versão otimizada da 3FN, resolvendo algumas
anomalias sobre os dados em uma entidade, que não eram resolvidos na 3FN.

"A definição da FNBC é a seguinte: uma entidade está na FNBC se e somente se todos
os determinantes forem chaves candidatas. Note que esta definição é em termos de chaves
candidatas e não sobre chaves primárias"(MACHADO, 2018, p. 190).

Machado (2018) define os seguintes critérios e passos para que uma entidade na 3FN
seja normalizada à FNBC:

• A restrição só poderá ser aplicada à entidades com chaves candidatas e chaves primárias
concatenadas;

• Verificar se existe alguma chave candidata que seja um determinante, caso exista, será
criada uma nova entidade com as demais que tenham uma dependência funcional com este
determinante e que tenha como chave primária o próprio determinante.

2.1.2 Quarta forma normal (4FN)

"É raro encontrar-se casos de tabelas que estejam na terceira forma normal, mas não na
quarta. A quarta forma concerne em anomalias existentes na relação entre diferentes colunas da
chave primária, e só se aplica em tabelas com chaves primárias compostas por três colunas ou
mais"(SILVA, 2016).

De acordo com Machado (2018), para que uma entidade esteja normalizada na 4FN,
é preciso que ela não contenha mais do que um item multivalorado na entidade descrita. Tal
dependência não se comporta da mesma maneira que uma associação M:N dentre os atributos, e
sim ocorre quando existe um relacionamento, por exemplo, ternários.

Machado (2018) define os seguintes critérios e passos para que uma entidade na 3FN
seja normalizada à 4 FN:

• A entidade deve obrigatoriamente estar na 3FN (ou FNBC);

• Verificar existem atributos que não façam parte da chave primária, e sejam independentes
e multivalorados em relação a um mesmo atributo da chave primária;
4

• Remover atributos não chave que sejam multivalorados, criando novas tabelas para cada, e
herdando a chave primária da tabela anterior.

2.1.3 Quinta forma normal (5FN)

"A quinta forma normal é mais restrita que a quarta, e se aplica à tabelas com 3 ou mais
colunas na chave primária. Para que a quinta forma normal seja atingida, é necessário atingir-se
a quarta forma normal primeiramente"(SILVA, 2016).

Como dito por Machado (2018), uma tabela estará em 5FN quando seus dados puderem
ser reconstruidos a partir das novas relações criadas que não possuem a mesma chave primária.
Este procedimento tem o principal objetivo de tratar casos de perda de dados, quando uma tabela
é fracionada em outros relacionamentos menores.

Machado (2018) define os seguintes critérios e passos para que uma entidade na 4FN
seja normalizada à 5 FN:

• A entidade estar na 4FN;

• Este tipo de restrição ocorre em relacionamentos múltiplos (ternários etc.) ou em entidades


com chaves primárias concatenadas com mais de 2 atributos;

• Constatar se existe a possibilidade de restaurar o conteúdo da relação original a partir das


relações menores criadas a partir desta;

• Caso seja possível, o elemento estará em 5FN; caso contrário, os elementos decompostos
não estarão em 5FN.

2.2 EXEMPLOS

Esta seção tem como objetivo trazer alguns exemplos de normalização propostos por
(SILVA, 2016), afim de fixar o conteúdo e mostrar na prática como se dão as aplicações dos
métodos descritos, bem como os resultados destes sobre as relações.

2.2.1 Exemplo FNBC

Vamos dizer que cada pizza pode ter várias coberturas diferentes, cada uma de um tipo
diferente e que você tem dois tipos de pizzas com essas coberturas:

Há duas chaves candidatas aí: Pizza e tipo de cobertura definem a cobertura usada. Uma
outra chave candidata é que a partir da pizza e da cobertura utilizada, nós podemos definir o tipo
da cobertura utilizada.
5

Tabela 1 – Relação na 3FN


Pizza Cobertura Tipo de cobertura
1 muzzarela queijo
1 pepperoni carne
1 azeitonas vegetal
2 muzzarela carne
2 linguiça queijo
2 pimenta vegetal

A solução é novamente dividir em duas tabelas:

Tabela 2 – Primeira
relação
na
FNBC
Pizza Cobertura
1 muzzarela
1 pepperoni
1 azeitonas
2 muzzarela
2 linguiça
2 pimenta

Tabela 3 – Segunda relação


na FNBC
Cobertura Tipo de cobertura
muzzarela queijo
pepperoni carne
azeitonas vegetal
muzzarela carne
linguiça queijo
pimenta vegetal

2.2.2 Exemplo 4FN

Imagine que tenhamos o caso de representantes comerciais atuando em clientes, onde


vários representantes podem atuar em vários clientes e que tenhamos contratos de prestação
de serviços em que vários representantes atuam em vários contratos. E então temos a seguinte
tabela, onde todas as colunas são chave primária:

Observe que temos relações de muitos-para-muitos entre representantes e contratos e


entre representantes e clientes. Mas não temos entre clientes e contratos! Aqui está a violação
da forma normal e a possibilidade de se ter algum tipo de anomalia. O ideal é separar em duas
tabelas, uma com a relação entre representantes e clientes e outra com a representação entre
representantes e contratos:
6

Tabela 4 – Relação na 3FN


Representante Contrato Cliente
Geraldo 1 loja de roupas
Geraldo 1 hospital
Geraldo 2 loja de roupas
Geraldo 2 hospital
Marta 1 loja de brinquedos
Marta 1 hospital
Marta 3 loja de brinquedos
Marta 3 hospital
Luís 2 loja de roupas
Luís 2 loja de brinquedos
Luís 4 loja de roupas
Luís 4 loja de brinquedos

Tabela 5 – Primeira rela-


ção na 4FN
Representante Contrato
Geraldo 1
Geraldo 2
Marta 1
Marta 3
Luís 2
Luís 4

Tabela 6 – Segunda relação na


4FN
Representante Cliente
Geraldo loja de roupas
Geraldo hospital
Marta loja de brinquedos
Marta hospital
Luís loja de roupas
Luís loja de brinquedos

Observe que na tabela original nós temos informações redundantes. Por exemplo, a
informação que Marta está no contrato 1 aparece duas vezes. Se deletássemos a tupla Marta-
1-hospital, teríamos uma anomalia de exclusão, vez que Marta atua no hospital (contrato 3) e
Marta está no contrato 1 (na loja de brinquedos).

2.2.3 Exemplo 5FN

Vamos imaginar um caso semelhante ao que usei na quarta forma normal, mas que dessa
vez além de existir a relação entre representantes e clientes e entre representantes e contratos,
também temos a relação entre clientes e contratos. Dessa forma, temos essa tabela:
Observe que essa tabela é diferente daquela que usamos na quarta forma normal. Há
algumas redundâncias, como por exemplo ela diz duas vezes que Geraldo está na loja de roupas
e que o contrato 1 é aplicado ao hospital. A técnica usada para colocarmos na quarta forma
normal não se aplica, pois para quaisquer duas colunas obtidas da chave, existe uma relação
7

Tabela 7 – Relação na 4FN


Representante Contrato Cliente
Geraldo 1 loja de roupas
Geraldo 1 hospital
Geraldo 2 loja de roupas
Marta 1 hospital
Marta 3 loja de brinquedos
Marta 3 hospital
Luís 2 loja de roupas
Luís 4 loja de brinquedos

(ou seja, temos a relação contrato-cliente também). Assim, essa relação já está na quarta forma
normal, mas ainda há espaço para normalização. Ao decompormos ela em três relações diferentes,
chegamos a quinta forma normal:

Tabela 8 – Primeira rela-


ção na 5FN
Representante Contrato
Geraldo 1
Geraldo 2
Marta 1
Marta 3
Luís 2
Luís 4

Tabela 9 – Segunda relação na


5FN
Representante Cliente
Geraldo loja de roupas
Geraldo hospital
Marta loja de brinquedos
Marta hospital
Luís loja de roupas
Luís loja de brinquedos

Tabela 10 – Terceira relação


na 5FN
Contrato Cliente
1 loja de roupas
1 hospital
2 loja de roupas
3 loja de brinquedos
3 hospital
4 loja de brinquedos
8

3 CONSIDERAÇÕES FINAIS

Após demonstrar os processos de normalização, podemos ver que as formas normais


promovem uma restrição de integridade no banco de dados, que a cada interação se torna mais
restritiva. Dependendo de qual sistema de gerenciamento de banco de dados relacional esteja
sendo utilizado, estes processos restritivos podem trazer benefícios ou não.

Os estudos mostraram que as aplicações dos métodos de normalização de Boyce-Codd, e


quarta e quintas formas normais, são mais focados em melhorias e otimizações, solucionando
pequenas anomalias nas entidades e relacionamentos.

REFERÊNCIAS BIBLIOGRÁFICAS

ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. PEARSON BRASIL, 2011. ISBN
9788579360855. Disponível em: <https://books.google.com.br/books?id=FSvIYgEACAAJ>.

MACHADO, F. N. R. Banco de Dados-Projeto e Implementação. [S.l.]: Editora Saraiva,


2018.

SILVA, V. W. S. d. O que é normalização de banco de dados? 2016. Disponível em:


<https://pt.stackoverflow.com/questions/151323/o-que-%c3%a9-normaliza%c3%a7%c3%
a3o-de-banco-de-dados/151394#151394>.

Você também pode gostar