Você está na página 1de 21

Banco de Dados

Normalização
Normalização
O que é ?
 1) Processo sistemático e matemático através do qual uma
tabela relacional não normalizada é transformada em um conjunto
de tabelas normalizadas
O processo de normalização baseia-se
no conceito
 2) Técnica para a retirada de Forma
de anomalias doNormal,
modelo relacional
que é uma regra que deve
ser obedecida por uma tabela para
Quando surgiu? que esta seja considerada bem projetada.
 Introduzido por Dr. E. F. Codd, em 1970 (1a Forma Normal)
 Existem diversas regras (1FN, 2FN, 3FN,4FN e 5FN)

Objetivo ?
 Reagrupar informações de forma a eliminar redundâncias de
dados.

Prof. Rafael de Alencar Segura Slide 2


Normalização
 Vem das características de um mau projeto de banco de
dados
• Repetição de informações
• Inabilidade de representar certas informações
• Perda de informação

 Anomalias!!!!

PACIENTE (pac_id, pac_nome, pac_end, pac_tel, pac_sexo,


pac_dt_nasc, con_sigla, con_id_, conv_end, con_tel)

Prof. Rafael de Alencar Segura Slide 3


Anomalias
 1) Anomalia de Inserção
• Quando se inserir um paciente, é preciso inserir também
os dados do convênio, mesmo que já estejam cadastrados;
• Não é possível inserir um convênio sem inserir também um
paciente.

 2) Anomalia de Exclusão
• Ao se excluir um paciente, se este for o único associado de
um convênio, então os dados do convênio serão perdidos

 3) Anomalia de Alteração
• Para se modificar os dados de um convênio, é preciso
atualizar os mesmos dados em todas as tuplas de
pacientes que estejam associados àquele convênio.

PACIENTE (pac_id, pac_nome, pac_end, pac_tel, pac_sexo,


pac_dt_nasc, con_sigla, con_id_, conv_end, con_tel)

Prof. Rafael de Alencar Segura Slide 4


Anomalias e redundâncias
 Inserção - considerando-se que a chave primária da tabela curso
seja Matric e Disciplina, e que a chave primária não pode
conter valores nulos, para inserção de uma disciplina seria
necessário incluir também os dados referentes ao aluno e vice-
versa;
 Atualização - caso tenha que ser atualizado o endereço do aluno
'Filipe', todas as ocorrências do aluno 'Filipe' terão que ser
atualizadas também, existindo assim uma maior perda de tempo,
um maior 'custo' para efetuar a transação e também a
possibilidade de inconsistência;
 Exclusão - podem ser perdidos dados importantes. No caso de ser
deletado o aluno 'Filipe' da tupla que contém a disciplina 'CP303'
todas as informações referentes a disciplina serão perdidas
também.
Matric Nome Endereço Disciplina Descrição Instrutor Sala

85001 Filipe Av. das flores, 25 CP302 Banco de Dados Cirano 102
85001 Filipe Av. das flores, 25 CP303 Comunicações Netto 500
85001 Filipe Av. das flores, 25 CP304 Eng. Software Ana Price 102
86005 Lucinéia
Prof. Rafael Av.
de Alencar das
Segura plantas, 35 CP302 Banco de Dados Cirano Slide1024
5
Redundância
 Em uma tabela relacional, redundância significa
informação desnecessária ou em excesso.

 Muitas de suas informações estão sendo repetidas.


Por exemplo: Nome do estudante, endereço, nome do
curso, nome do instrutor e sala.

Matric Nome Endereço Disciplina Descrição Instrutor Sala

85001 Filipe Av. das flores, 25 CP302 Banco de Dados Cirano 102
85001 Filipe Av. das flores, 25 CP303 Comunicações Netto 500
85001 Filipe Av. das flores, 25 CP304 Eng. Software Ana Price 102
86005 Lucinéia Av. das plantas, 35 CP302 Banco de Dados Cirano 1024

Prof. Rafael de Alencar Segura Slide 6


Exemplo –Relatório

Tabela
não-
normalizada

(Número da Solicitação, Data da Solicitação, Código do Funcionário, Nome do


Funcionário,Cód. produto, Descrição, Quantidade)

Prof. Rafael de Alencar Segura Slide 7


Primeira Forma Normal (1FN)
(1FN)=> Diz-se que uma tabela está na primeira forma normal, quando
ela não contém tabelas aninhadas

Procedimentos: Para cada tabela aninhada criar uma tabela na 1FN composta
pelas seguintes colunas:
1) A chave primária da nova entidade será obtida pela concatenação da chave
primária da entidade inicial e a do grupo repetitivo.

2) As colunas da própria tabela aninhada

Prof. Rafael de Alencar Segura Slide 8


Primeira Forma Normal (1FN)


(Número da Solicitação, Data da Solicitação, Código do Funcionário, Nome do
Funcionário,Cód. produto, Descrição, Quantidade)

(1FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)
(Número da Solicitação, Cód. produto, Descrição, Quantidade)

Prof. Rafael de Alencar Segura Slide 9


Dependência Funcional
 Para entendermos as duas formas normais que serão
apresentadas a seguir, é necessário compreender o
conceito de dependência funcional.
 Em uma tabela relacional , diz-se que uma coluna C2
depende funcionalmente de uma coluna C1(ou
que a coluna C1 determina a coluna C2) quando,
em todas linhas da tabela, para cada valor de C1 que
apareça na tabela, aparece o mesmo valor de C2.
C1 Código Salário C2
E1 10
E3 8
E1 10
E2 5
E3 8
E3 8
E1 10
Prof. Rafael de Alencar Segura Slide 10
Segunda Forma Normal (2FN)
(2FN)=> Uma tabela encontra-se na segunda forma normal, quando,
além de estar na 1FN, não contém dependências parciais

Dependência parcial= uma dependência (funcional) parcial ocorre


quando uma coluna depende apenas de parte de uma chave primária composta

(1FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)

(Número da Solicitação, Cód. produto, Descrição, Quantidade)

(2FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)

(Número da Solicitação, Cód. produto, Quantidade)

(Cód. produto, Descrição)


Prof. Rafael de Alencar Segura Slide 11
Segunda Forma Normal (2FN)
Procedimentos: Para chegar a 2 FN deve-se:
1) Identificar os atributos dependentes parcialmente da chave primária. [OBS:
Somente em tabelas que possuem chave primária composta]
2) Remover da entidade todos esses atributos identificados e criar uma nova
entidade com eles.
3) A chave primária da nova entidade será o atributo do qual os atributos
removidos são parcialmente dependentes.

Prof. Rafael de Alencar Segura Slide 12


Segunda Forma Normal (2FN)

(1FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)

(Número da Solicitação, Cód. produto, Descrição, Quantidade)

(2FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)

(Número da Solicitação, Cód. produto, Quantidade)

(Cód. produto, Descrição)

Prof. Rafael de Alencar Segura Slide 13


Terceira Forma Normal (3FN)
(3FN)=> Uma tabela está na terceira forma normal se e apenas se,
estiver na 2FN, e não tiver dependências transitivas

Dependência transitiva= uma dependência (funcional) transitiva ocorre


quando uma coluna além de depender da chave primária da tabela, depende
de outra coluna ou conjunto de colunas da tabela

Exemplo de Dependência Transitiva

EMP ( CodEmp, nome, cat, sal )

Tabelas na (3FN)

EMP ( CodEmp, nome, cat)

CAT (Cat, sal)


Prof. Rafael de Alencar Segura Slide 14
Terceira Forma Normal (3FN)
Procedimentos: Para chegar a 3 FN deve-se:
b) Identificar todos os atributos que são funcionalmente dependentes de
outros atributos não chave;
c) Removê-los e criar uma nova entidade com os mesmos.
d) A chave primária da nova entidade será o atributo do qual os atributos
removidos são funcionalmente dependentes
(2FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,
Nome do Funcionário)

(Número da Solicitação, Cód. produto, Quantidade)

(Cód. produto, Descrição)

(3FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário)

(Código do Funcionário, Nome do Funcionário)

(Número da Solicitação, Cód. produto, Quantidade)

(Cód. produto, Descrição)


Prof. Rafael de Alencar Segura Slide 15
O processo de Normalização

(Número da Solicitação, Data da Solicitação, Código do Funcionário, Nome do
Funcionário,Cód. produto, Descrição, Quantidade)

(1FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)
(Número da Solicitação, Cód. produto, Descrição, Quantidade)

(2FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário,


Nome do Funcionário)
(Número da Solicitação, Cód. produto, Quantidade)
(Cód. produto, Descrição)

(3FN) (Número da Solicitação, Data da Solicitação, Código do Funcionário)


(Código do Funcionário, Nome do Funcionário)
(Número da Solicitação, Cód. produto, Quantidade)
(Cód. produto, Descrição)

Prof. Rafael de Alencar Segura Slide 16


DER
(3FN)SOLICITAÇÃO (Número da Solicitação, Data da Solicitação, Código do Funcionári
FUNCIONÁRIO(Código
FUNCIONÁRIO do Funcionário, Nome do Funcionário)
ITEM (Número da Solicitação, Cód. produto, Quantidade)
PRODUTO (Cód. produto, Descrição)

SOLICITACAO N 1 FUNCIONARIO SOLICITACAO N 1 FUNCIONARIO

N 1
N x N = 1,N/ N,1
N N
PRODUTO ITEM
N

1
PRODUTO
Prof. Rafael de Alencar Segura Slide 17
Quarta Forma Normal (4FN)
 Dependência Funcional REVENDA
Multivalorada. Dada Representante Cliente Produto
uma relação qualquer com
três atributos A, B e C. Martins Sá e Louça
Diz-se que B depende de Filhos
forma multivalorada de A Martins Suz Talhere
se, e somente se, sempre s
que existirem duas tuplas
Martins Sá e Talhere
(A1, B1, C1) e (A1, B2,
Filhos s
C2) existirão também duas
tuplas (A1, B1, C2) e (A1, Martins Suz Louça
B2, C1).
Castro Sá e Lenços
 Isso quer dizer que A, na Filhos
verdade, relaciona-se com
B e com C de forma Castro Sá e Meias
independente. Filhos
Castro YSL Lenços
(4FN)=> Uma tabela encontra-se na quarta forma normal,
Prof. Rafael de Alencar Segura
se não existem dependências multivaloradas Slide 18
Exemplo de Quarta Forma Normal 4FN
De acordo com a 4FN a relação REVENDA decompõe-se em 2 relações:
Representante Cliente Produto
Martins Sá e Filhos Louça
Martins Suz Talheres
Martins Sá e Filhos Talheres
Martins Suz Louça
Castro Sá e Filhos Lenços
Castro Sá e Filhos Meias
Castro YSL Lenços
Representante Cliente
Representante Produto
Martins Sá e Filhos Martins Louça
Martins Suz Martins Talheres
Castro Sá e Filhos Castro Lenços
Castro YSL Castro Meias
Prof. Rafael de Alencar Segura Slide 19
ETAPAS DA NORMALIZAÇÃO

Prof. Rafael de Alencar Segura Slide 20


Bibliografia

Heuser, Carlos Alberto. Projeto de banco de


daddos. 2 edição- Porto Alegre: Sagra Luzzato,
1999.
 Material do Prof. Rogério Gonçalves Bittencourt,
M.Sc. Disciplina de Banco de Dados, Unicsul

Prof. Rafael de Alencar Segura Slide 21

Você também pode gostar