Você está na página 1de 29

Plano de aula

Introdução
Banco de Dados : Normalização Primeira Forma Normal

Prof. Ovídio Francisco Dependência Funcional


Segunda Forma Normal
Terceira Forma Normal
Exercícios
Introdução
O contexto

A normalização é um processo aplicado a cada entidade que busca


manter as tabelas e seus atributos organizados de forma evitar
redundâncias e anomalias nos dados, bem como facilitar redesign.

Para se alcançar esse objetivo o modelo, idealmente, todas as tabelas


devem passar pelo processo de normalização, o qual é dividido em
etapas. Veremos as seguir as seguintes etapas de normalização:

● Primeira Forma Normal - 1NF


● Segunda Forma Normal - 2NF
● Terceira Forma Normal - 3NF

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN
Primeira Forma Normal - 1FN
Devemos garantir que todos os atributos são atômicos. Atributos
compostos e multivalorados devem ser convertidos em simples.

Os passos para aplicar a 1NF são:

● Eleger uma chave primária para a tabela;

● Para os atributos compostos:


○ Decompor esse campo atributos simples;

● Para os atributos multivalorados:


○ Removê-lo da tabela;
○ Criar uma nova tabela com o atributo recorrente.
○ Relacionar as tabelas via chave estrangeira.
○ A chave primária da nova tabela será composta pela
chave-estrangeira e atributo movido.

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Veja o exemplo de uma tabela que ainda não está na 1FN.

Perceba que a coluna Endereço concatena os dados Logradouro,


número e bairro. Portanto, deve ser decomposto em atributos simples

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Com o endereço decomposto e a inserção de novos atributos simples, já


não temos atributos compostos.

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Ainda não está na 1FN

O telefone é multivalorado e deve ser movido para uma nova tabela.

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Agora sim! Ambas estão na Primeira Forma Normal

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Agora sim! Ambas estão na Primeira Forma Normal

Qual será a chave primária da tabela


de telefones?

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Agora sim! Ambas estão na Primeira Forma Normal

Qual será a chave primária da tabela


de telefones?

Segundo Codd, será composta por


Cod. Cliente e Telefone.

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Chave primária composta

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Chave estrangeira

Normalização Prof. Ovídio Francisco


Primeira Forma Normal - 1FN

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 2NF
Segunda Forma Normal - 2FN

Dependência Funcional

Um atributo é dependente quando pode ser encontrado ou


determinado, por meio de outros.

Por exemplo, dado um RA, podemos encontrar,


inequivocamente, o nome de um aluno. Em outras palavras, se
sabemos o RA, podemos encontrar os atributos do aluno que
possui esse RA.

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 2FN

Dependência Funcional

Dizemos também que se um atributo é dependente e alterarmos


o valor do qual depende, esse atributo também será alterado.

Por exemplo, em um registro de matrícula, se alterarmos o


código da disciplina, espera-se que outros atributos como o
nome, e ementa também sejam alterados. Por isso, dizemos que
nome e ementa dependem do código da disciplina.

Outro exemplo é a alteração do preço de custo de um produto


que irá impactar no lucro. Dizemos então que o lucro depende
do preço de custo.

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 2FN
A Segunda Forma Normal exige a aplicação da 1NF e que todos os
atributos não chave sejam dependentes da chave primária.

Os passos para aplicar a 2NF são:

● Identificar atributos que não dependem da chave primária.


○ Removê-los.

● Criar uma nova tabela com esses campos.

● Estabelecer o relacionamento entre essas tabelas importando a


chave primária da nova tabela para a original.

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 2FN

Observe a tabela de Funcionários, cujo atributo identificador é o Cód.


Funcionário.

Veja que os atributos referentes ao cargo, não dependem do código do


funcionário.

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 2FN

Remove-se os campos referentes ao cargo para uma nova tabela,


Cargos, e na tabela Funcionários referencia-se o cargo por meio de uma
chave estrangeira.

Normalização Prof. Ovídio Francisco


Terceira Forma Normal - 3NF
Terceira Forma Normal - 3FN
A Terceira Forma Normal exige a aplicação da 2NF e que nenhum
atributo dependa de outro atributo não chave.

Os passos para aplicar a 3NF são:

● Identificar atributos que dependem de outro atributo não chave.


○ Removê-los.

Normalização Prof. Ovídio Francisco


Terceira Forma Normal - 3FN

Observe a tabela de Pedidos, cujo atributo identificador


é o Cód. Pedido.

Veja que os atributos referentes ao subtotal, não dependem do código


do Pedido.

Normalização Prof. Ovídio Francisco


Segunda Forma Normal - 3FN

Remove-se os campos com dependência transitiva.

Normalização Prof. Ovídio Francisco


Formas Normais

1FN: todos os atributos atômicos.

2FN: exige a aplicação da 1FN e que todos os atributos não


chave sejam dependentes da chave primária.

3FN: exige a aplicação da 2FN e que todos os atributos


dependam apenas da chave primária.

Normalização Prof. Ovídio Francisco


Para saber mais...

https://www.geeksforgeeks.org/difference-between-2nf-and-3nf-in-dbms/
https://arctype.com/blog/2nf-3nf-normalization-example/

https://www.luis.blog.br/terceira-forma-normal-3fn-normalizacao-de-dados.html

https://www.luis.blog.br/normalizacao-de-dados-e-as-formas-normais.html
https://www.luis.blog.br/primeira-forma-normal-1fn-normalizacao-de-dados.html
https://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.html
https://www.luis.blog.br/terceira-forma-normal-3fn-normalizacao-de-dados.html

https://www.gsigma.ufsc.br/~popov/aulas/bd1/normalizacao.html

https://www.luis.blog.br/primeira-forma-normal-1fn-normalizacao-de-dados.html

Normalização Prof. Ovídio Francisco


Exercícios
Exercícios

1 - Observe a tabela não normalizada de uma locadora de veículos e


aplique a 3ª Forma normal.

2 - Faça o modelo lógico de banco de dados relacional.

3 - Escreva o script que cria as tabelas.

4 - Crie uma view que seleciona todas as locações e seus respectivos


veículos e clientes.

Normalização Prof. Ovídio Francisco

Você também pode gostar