Buscar

Normalização de Dados em banco de dados

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Normalização de Dados
José Reis
2016
Roteiro
Conceitos
Atributos
Compostos
Multivalorados
Atômicos
Dependência funcional
Parcial
Transitiva
Formas Normais
1FN (1ª Forma Normal)
2FN (2ª Forma Normal)
3FN (3ª Forma Normal)
FNBC (Forma Normal de Boyce e Codd)
4FN (4ª Forma Normal)
5FN (5ª Forma Normal) 
Normalização - Objetivos
Manter integridade e consistência dos dados
Evitar redundância dos dados
Permitir evolução do BD (tabelas flexíveis e de fácil manutenção)
Conceito 1. Atributos Multivalorados
Codigo
Nome
Telefone
1
Ary
(34) 3821-0000
(34) 9979-0000
(34) 9964-0000
2
Tatiana
(34) 3822-0000
(34) 9976-0000
3
Ana
(11) 3184-0000
4
João
(31) 3257-0000
Conceito 2. Atributos Compostos
Codigo
Nome
Endereco
1
Ary
Av. Getúlio Vargas, 1000, apto 201 – Centro – Patos de Minas-MG
2
Tatiana
Av. Brasil, 966 – Centro – Belo Horizonte-MG
3
Ana
Rua Minas Gerais, 100 – Bairro Brasil – Recife-PE
4
João
Praça da Liberdade, 27 – Bairro Esperança – São Paulo-SP
Conceito 3. Atributos Atômicos
não podem ser subdivididos e também não são multivalorados
Conceito 4. Dependência funcional
Relacionamento entre dois ou mais atributos de forma que o valor de um atributo identifique o valor para cada um dos outros atributos
A → B (B é dependente funcionalmente de A, ou seja, para ‘descobrirmos o valor de B, precisamos saber o valor de A’)
Ex.: Código do cliente → Nome do cliente
Conceito 5. Dependência Funcional Parcial
Os atributos não chave não dependem funcionalmente de toda a chave primária quando esta for composta.
Matricula_Aluno
Periodo
CodDisciplina
NomeDisciplina
Nota
123
1
8
Engenharia de Requisitos
4,0
123
1
9
Qualidade de Software
10,0
123
1
5
Engenharia de Software
7,0
123
2
8
Engenharia de Requisitos
9,0
Chave primária
Conceito 6. Dependência Funcional Transitiva
Ocorre quando um campo não é dependente diretamente da chave primária ou de parte dela, mas sim de outro campo da tabela. 
Matricula
NomeFuncionario
CodCargo
NomeCargo
SalarioCargo
1
Ary
1
Professor
R$ 7.500,00
2
Tatiana
2
Advogado
R$ 6.900,00
3
Ana
3
Secretária
R$ 1.550,00
4
Luis
4
Analista de Sistemas
R$ 8.000,00
5
Rodrigo
1
Professor
R$ 7.500,00
Chave primária
Matricula NomeFuncionario, CodCargo
CodCargo NomeCargo, SalarioCargo
7. Dependência Funcional Multivalorada
Ocorre quando, para cada valor de um atributo A, há um conjunto de valores para outros atributos B e C que estão associados a ele. 
B e C estão vinculados a A, porém são independentes entre si
Filme →→ Ator
Filme →→ Produtor
8. Dependência Funcional Cíclica
Ocorre quando temos dependências como: A → B, B → C, C → A.
Outros Conceitos
Superchave: 
qualquer conjunto de atributos contendo uma chave primária ou candidata.
Chave Candidata: 
atributo ou grupo de atributos que têm a propriedade de identificar unicamente um registro. Pode vir a ser a chave primária. A chave candidata que não é chave primária também se chama chave alternativa. 
Chave Primária (PK): 
chave candidata escolhida pelo projetista do banco de dados como significado principal para a identificação de registros dentro de uma tabela.
Chave estrangeira (FK):
atributo ou conjunto de atributos que faz a ligação com a chave primária de outra tabela. 
Primeira Forma Normal (1FN)
Uma tabela se encontra na 1FN se todos os atributos possuírem apenas valores atômicos (simples e indivisíveis), ou seja, não possui atributos compostos ou multivalorados.
Codigo
Nome
Telefone
Endereco
1
Ary
(34) 3821-0000
(34) 9979-0000
(34) 9964-0000
Av. Getúlio Vargas, 1000, apto 201 – Centro – Patos de Minas-MG
2
Tatiana
(34) 3822-0000
(34) 9976-0000
Av. Brasil, 966 – Centro – BeloHorizonte-MG
3
Ana
(11) 3184-0000
Rua Minas Gerais, 100 – Bairro Brasil – Recife-PE
4
Luis
(31) 3257-0000
Praça da Liberdade, 27 – Bairro Esperança – São Paulo-SP
Quais modificações são necessárias para esta tabela atender a 1FN.
Segunda Forma Normal (2FN)
Uma tabela se encontra na 2FN se estiver na 1FN e não possuir dependência funcional parcial (Conceito 5), ou seja, todo atributo não-chave é determinado por todos os campos da chave primária.
Nro
Codp
Nomep
Vunit
Qdade
Vtot
1
1
Sabão em pó
R$ 5,50
2
R$ 11,00
2
2
Sabonete
R$ 1,10
5
R$ 5,50
3
3
1
2
Sabão em pó
Sabonete
R$ 5,50
R$ 1,10
3
2
R$ 16,50
R$ 2,20
Chave primária
Quais modificações são necessárias para esta tabela atender a 2FN.
Tabela de Vendas
Terceira Forma Normal (3FN)
Uma tabela está na 3FN se estiver na 2FN e não possuir nenhuma dependência funcional transitiva (Conceito 6)
Matricula
NomeFuncionario
CodCargo
NomeCargo
SalarioCargo
1
Ary
1
Professor
R$ 7.500,00
2
Tatiana
2
Advogado
R$ 6.900,00
3
Ana
3
Secretária
R$ 1.550,00
4
Luis
4
Analista de Sistemas
R$ 8.000,00
5
Rodrigo
1
Professor
R$ 7.500,00
Chave primária
Quais modificações são necessárias para esta tabela atender a 3FN.
Formas Normais Superiores
FNBC
4FN
5FN
Forma Normal de Boyce-Codd (BCNF)
Uma relação está na FNBC se para toda dependência funcional X → Y, X é uma super-chave.
Não exige que a tabela já esteja na forma normal anterior (3FN) para que seja aplicada
Chave primária {Cliente, Agência} → {Gerente} 
Chave candidata {Cliente, Gerente} → {Agência}
{Agência} → {Gerente}
Mas, temos:
Forma Normal de Boyce-Codd (BCNF)
Exemplo: aplicar as três formas normais à tabela abaixo. Posteriormente, aplicar apenas a FNBC.
DFs: 
{CPF, Produto} → {Qtde}
{CPF, Produto} → {FormaPagto}
{CPF, Produto} → {TipoPagto}
{ FormaPagto } → {TipoPagto}
Chave candidata
Quarta Forma Normal (4FN)
Uma tabela está na 4FN, se e somente se, estiver na BCNF e não existirem dependências funcionais multivaloradas.
CodLivro
Autor
Título
Assunto
Ano
1
Ary
Introdução a Bancos de Dados
Bancos de Dados
2007
2
Korth
Introdução a Sistemas de Bancos de Dados
Bancos de Dados
2003
2
Silberschatz
Introdução a Sistemas de Bancos de Dados
Bancos de Dados
2003
3
Mario Jino
Introdução ao Teste de Software
Teste Funcional
2007
3
Mario Jino
Introdução ao Teste de Software
Teste de carga
2007
3
Mario Jino
Introdução ao Teste de Software
Teste de aceitação
2007
3
Mario Jino
Introdução ao Teste de Software
Teste de regressão
2007
3
Márcio Eduardo Delamaro
Introdução ao Teste de Software
Teste Funcional
2007
3
Márcio Eduardo Delamaro
Introdução ao Teste de Software
Teste de carga
2007
3
Márcio EduardoDelamaro
Introdução ao Teste de Software
Teste de aceitação
2007
3
Márcio Eduardo Delamaro
Introdução ao Teste de Software
Teste de regressão
2007
- um livro pode ter vários autores e apresentar diferentes assuntos 
- autores e assuntos não possuem vínculo entre si
Quarta Forma Normal (4FN)
Aplicar o processo de normalização, até a BCNF e verificar o problema: {Apartamento}→ → {Nome} | {Placa}
Quinta Forma Normal (5FN) ou Forma Normal de Projeção-Junção (FNPJ)
Uma tabela está na quinta forma normal se não existir dependência funcional cíclica
Professor → Disciplina
Disciplina → Apostila
Apostila → Professor

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais