Buscar

Normalização Resumo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Projeto de BD
Normalização – Conceitos
Formas Normais – Processo
IC – UFF – Professora Luciana Ferraz Thomé
Normalização
1- O QUE É NORMALIZAR UM BD?
2- PORQUÊ NORMALIZAR UM BD?
3- FORMAS NORMAIS 1NF, 2NF, 3NF, BCNF3- FORMAS NORMAIS 1NF, 2NF, 3NF, BCNF
OUTRAS FORMAS NORMAIS 4NF, 5NF ...
4- DECOMPOSIÇÃO E JUNÇÃO SEM PERDA
5- PRESERVAÇÃO DE DEPENDÊNCIAS
6- NORMALIZAR BD X PROJETO DE BD 7-EXERCÍCIO
Normalização
1- O QUE É NORMALIZAR UM BD?
NORMALIZAR UMA TABELA T
é o processo reversível de decompô-la - por 
projeção - em tabelasé o processo reversível de decompô-la - por projeção - em tabelas
menores T1, T2, ..., Tn de modo a reduzir 
redundâncias que 
prejudicam a manutenção.
T pode ser recomposta por junção a partir de 
T1,T2,...Tn
Normalização
Exemplo: 
se Fornecedores fornecem certas QtYdades de Peças
NÃO devemos montar uma única tabela como 
FP (FN, FNOME, PN, PDESC, QTY) 
essa tabela com CHAVE Primária formada (FN,PN) essa tabela com CHAVE Primária formada (FN,PN) 
Teria REDUNDÂNCIAS como:
Todo Suprimento/Fornecimento de mesmo Fornecedor FN, 
repete os dados (FNOME). A Manutenção da tabela FP 
é PREJUDICADA. Excluir o fornecimento do par de 
valores (F3,P5) pode implicar em perda de informação 
sobre a peça P5! 
Normalização
Para atualizar os dados de fornecedor FN devemos,
Redundantemente, atualizar todos seus fornecimentos.
PORTANTO - há redundâncias indesejáveis na tabela FP.
SOLUÇÃO:SOLUÇÃO:
Projetar FP em FN, FNOME dando F
Projetar FP em PN, PDESC dando P
Projetar FP em FN, PN, QTY dando FPQ
resultando em P ( PN, DESC) F ( FN, FNOME)
FPQ( FN, PN, QTY ) sem redundâncias –
NORMALIZADAS
Normalização
Cada Tabela expressa um único FATO
- uma ENTIDADE ou
- um RELACIONAMENTO SIMPLES 
A tabela inicial FP pode ser obtida por
FP = JOIN natural de F, P e FPQ
R1 – P * FPQ
Resp – F * R1
Normalização
• Processo que visa eliminar redundância 
de dados em arquivos ou tabelas.
• Teoria da Normalização: conjunto de • Teoria da Normalização: conjunto de 
regras (formas normais) que determinam 
formas adequadas, sem redundâncias, de 
representação dos dados.
Normalização
2- PORQUÊ NORMALIZAR UM BD?
No processamento de Dados há dois mundos
DADOS e PROCESSOS ( Yin e yang )
Nos Processos existe o conceito de Modularização
Nos Dados existe similarmente o conceito
Normalização de DADOSNormalização de DADOS
Ambos visam melhorar a estrutura e, portanto a MANUTENÇÃO.
Modularizar: Programa Monolítico => módulos manuteníveis
Normalizar: Tabelão Redundante => tabelas normalizadas
Objetivo: Melhorar a estrutura dos sistemas
Reduzir redundâncias e diminuir a manutenção
CUIDADO === Há conflito com DESEMPENHO - eficiência 
Normalização
• Em geral MELHORA a manutenção com AUMENTO de 
flexibilidade mas desempenho pode CAIR.
• Há que se decidir se certas normalizações valem a pena
• No exemplo anterior poderíamos ter uma tabela de 
SUBSTANCIA ( ouro, prata, etc) ao invés de PEÇA
• Isto é, a tabela P seria P ( PN, PDESC) com os valores • Isto é, a tabela P seria P ( PN, PDESC) com os valores 
mais ou menos fixos, ou seja {(AU, ouro); (AG, prata); (AL, alumínio); ... }
• e não valeria a pena normalizar pois P não vai ser 
atualizada ( embora o problema da Exclusão continue...) 
Esta ‘desnormalização’ AUMENTA a eficiência pois evita 
um JOIN
Normalização
3 - FORMAS NORMAIS - 1NF, 2NF, 3NF, BCNF
• OUTRAS FORMAS NORMAIS 4NF, 5NF ...
• FORMAS NORMAIS são medidas, graus, de quanto uma tabela está normalizada
Ex: 1NF, 2NF, 3 ... etc.
• As formas normais foram formalizadas no Modelo Relacional
• 1NF(First Normal Form): o modelo relacional já começou com 1NF, i.é, os Domínios 
são atributos atômicos, cada coluna em uma tabela 
não pode ter valores não atômicos (vetor, registro, conjunto, etc.)
Ex: F ( FN, FNOME, TEL) não está em 1NF f1 zé 274 295
Tabelas que não estão na 1NF, com colunas que são tabelas, são chamadas
NF2 (NFNF) lê-se Non First Normal Form
1NF é ESTRUTURAL! 
2NF em diante é um problema de semântica
Primeira Forma Normal (1FN)
Uma tabela encontra-se na primeira forma normal
quando não possui tabelas aninhadas 
(grupos de repetição, atributos multivalorados).(grupos de repetição, atributos multivalorados).
Normalização-Dependência Funcional
...CONCEITO DE DEPENDÊNCIA FUNCIONAL
FP ( FN, FNOME, QTY, PN, PDESC)
Uma coluna B, em uma relação R, é dependente funcional de uma coluna A 
em R sss existe uma função f tal que vale sempre f: A ---> B.
Notação, A � B (lê-se A determina B). 
Ex. PN � PDESCEx. PN � PDESC
FN � FNOME
Dependências funcionais são afirmações sobre os dados do BD retiradas da 
Análise do sistema (por isso é semântica do Banco de dados!) 
No exemplo FP temos FN � FNOME PN � PDESC
(FN,PN) � QTY 
Obs: Chave primária � determina cada um – todos os atributos! 
(FN,PN) � (QTY, FNOME, PDESC)
Obs2: Chama-se atributo não-chave, atributo que não faz parte da chave. 
Normalização-Dependência Funcional
DEPENDÊNCIA PARCIAL
Se A,B e C são atributos de R e
(A,B) � C e
A � C 
então (A,B) � C é dita uma dependência parcial existente em Rentão (A,B) � C é dita uma dependência parcial existente em R
pois “parte” do determinante (A,B) também determina C.
Exemplo
FP (FN,PN) � PDESC 
(FN,PN) é chave!
e (FN) � PDESC (pela semântica do problema)
portanto (FN,PN) � PDESC é uma dependência Parcial em FP
Normalização-Dependência Funcional
DEPENDÊNCIA TRANSITIVA
Se A e C são atributos de R, diz-se que 
A � C 
é dependência transitiva em R 
se existir outro atributo B de R tal que 
A � B e B � CA � B e B � C
Exemplo 
Aluno (Mat,Nome, Media, Situação) 
Mat � Situacao é transitiva pois existe Media tal que 
Mat � Media e
Media � Situação.
Normalização-Dependência Funcional
2NF 
uma relação R esta em 2NF sss está em 1NF e 
“Não existe atributo não-chave que dependa parcialmente da chave”
Portanto, se houver alguma dependência parcial da chave primária a tabela 
(relação) não está nem na 2NF
Ex. FP não está nem na 2NF. (porque?).
Normalização-Dependência Funcional
3NF ..............................
R está em 3NF sss está em 2NF e 
“não existe atributo não-chave que depende transitivamente da chave”
Exemplo F ( FN, FNOME, CIDADE, TIPO )
Rio A
Sampa BSampa B
Salvador A
... .... 
onde o Tipo do Fornecedor depende da Cidade
Neste caso FN ---> Cidade Mas FN ---> Tipo ( pois FN é chave)
portanto FN ---> Tipo é transitiva via Cidade
Logo, não está na 3NF
Normalização-Dependência Funcional
BCNF
Usa o conceito de chave candidata
chave candidata
“R está na BCNF se todo determinante for chave candidata”
Exemplo se incluirmos Meio de Transporte em 
FPQ (FN, PN, QTY, TRANSP )FPQ (FN, PN, QTY, TRANSP )
p1 100 avião
p1 50 navio
p2 50 avião
onde (FN,PN) é a chave da tabela e 
PN,QTY � TRANSP
FPQ está na 3FN pois não existe dependência transitiva de chave primária
� existe um determinante (PN,QTY) que não é chave
Normalização-Dependência Funcional
OUTRAS FORMAS NORMAIS 
���� 4NF, 5NF, etc. são só teóricas não práticas
4 - DECOMPOSIÇÃO E JUNÇÃO SEM PERDA
Após a decomposição pode-se obter o esquema original através das
operações de junção e/ou produto cartesianooperações de junção e/ou produto cartesiano
NORMALIZAÇÃO DEVE SER REVERSÍVEL
5 - PRESERVAÇÃO DE DEPENDÊNCIA
Seja T(nome do cliente, nome da agência, nome do gerente) onde há:dep. 
func.1: (nome do cliente, nome da agência) � nome do gerente dep. 
func.2: nome do gerente � nome da agência
Nesse caso não é possível uma decomposição sem perda de informação
Normalização-DependênciaFuncional
Exemplo 
Uma normalização
T1(nome do gerente, nome da agência) e
T2(nome do cliente, nome do gerente)
só preserva a dependência só preserva a dependência 
nome do gerente� nome da agência
mas perde a outra dependência 
(nome do cliente, nome da agência) � nome do gerente
Normalização-Dependência Funcional
6 - NORMALIZAR BD X PROJETO DE BD
Existe Projeto ‘top-down’ via modelagem ER que já obtém esquema 
normalizado
Existe Projeto ‘bottom-up’ via explicitação de dependências 
depois juntando em tabelasdepois juntando em tabelas
Casos pequenos!
automatizado em softwares
7 – EXERCÍCIO
veja livros
Banco de Dados em Aplicações Cliente – Servidor, cap 6.2
Navathe ou Date ou Silberchatz

Outros materiais