BANCO DE DADOS I
IRAN RODRIGUES
FACULDADE DE TECNOLOGIA DE ALAGOAS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
AULA 10
‣
Normalização de dados
NORMALIZAÇÃO DE DADOS
NORMALIZAÇÃO DE DADOS
▸
Série de passos aplicados em um projeto de banco dedados, visando o armazenamento consistente e o acesso eficiente;
▸
Objetivos principais:▸
Reduzir redundância;▸
Evitar inconsistência;NORMALIZAÇÃO DE DADOS
NORMALIZAÇÃO DE DADOS
▸
Uma relação está numa determinadaforma normal se satisfaz certas condições;
▸
Edgar Codd (o pai do modelorelacional) definiu três formas normais, mas muitas outras foram criadas
posteriormente. MATEMÁTICO BRITÂNICO EDGAR CODD 1923 - 2003
NORMALIZAÇÃO DE DADOS
NORMALIZAÇÃO DE DADOS
▸ Formas normais comumente aceitas: ▸ Primeira Forma Normal (1FN)
▸ Segunda Forma Normal (2FN) ▸ Terceira Forma Normal (3FN)
▸ Forma Normal de Boyce-Codd (BCNF) ▸ Quarta Forma Normal (4FN)
▸ Quinta Forma Normal (5FN)
▸ Forma Normal Domínio/Chave (DK/NF)
NORMALIZAÇÃO DE DADOS
PRIMEIRA FORMA NORMAL
▸
Uma relação está na 1FN, se e somente se, todos osvalores de atributos em uma tabela forem atômicos.
▸
Ou seja, uma relação na 1FN não possui:▸
Atributos compostos;▸
Atributos multivalorados.NORMALIZAÇÃO DE DADOS
PRIMEIRA FORMA NORMAL
▸
A própria definição formal do modelo relacional já assumea 1FN como obrigatória;
▸
Da mesma forma, a maior parte dos SGBDs relacionais nãosuportam campos compostos ou multivalorados.
NORMALIZAÇÃO DE DADOS
PRIMEIRA FORMA NORMAL
Exemplo (relação não normalizada):
Relação Alunos
8
Matricula Nome Endereco Telefones
123456 Ana Rua das Árvores 12 Centro 3322-2233
9999-8888
234567 Bruno Rua do Sol 50 Centro 9988-9988
345678 Cíntia Av. da Paz 86 Jaraguá NULL
NORMALIZAÇÃO DE DADOS
PRIMEIRA FORMA NORMAL
Passos para a normalização:
▸
Atributos multivalorados devem ir para uma relaçãoprópria, contendo o atributo (agora simples) e a chave
primária da relação a que pertencia (como chave estrangeira). A chave primária da nova relação é o
conjunto dos dois campos;
▸
Atributos compostos devem se subdividir em múltiplosatributos simples.
NORMALIZAÇÃO DE DADOS
PRIMEIRA FORMA NORMAL
Exemplo (relações na 1FN*): Relação Alunos
Relação
Telefones
*Tecnicamente, ambas estão na 3FN.
10
Matricula Nome Logradouro Numero Bairro
123456 Ana Rua das Árvores 12 Centro
234567 Bruno Rua do Sol 50 Centro
345678 Cíntia Av. da Paz 86 Jaraguá
456789 Daniel Av. Jatiúca 32 Jatiúca
Matricula Telefone
123456 3322-2233 123456 9999-8888 234567 9988-9988 456789 3325-5233
NORMALIZAÇÃO DE DADOS
EXERCÍCIOS
▸
Passe as relações abaixo para a 1FN:11 CodCarro Descricao 12988 VW Gol 2010 14100 VW Golf 2015 13988 Ford Focus 2014 13655 Fiat Bravo 2013
Relação Carros
CodCurso NomeCurso NumSalas
10 ADS 25 26 12 Direito 17 13 Enfermagem 15 16 18 14 Eng. Civil 08 09
Relação CursoSalas
NORMALIZAÇÃO DE DADOS
SEGUNDA FORMA NORMAL
▸
Uma relação está na 2FN, se e somente se, estiver na 1FNe cada atributo não-chave for dependente da chave
primária inteira, isto é, cada atributo não-chave não pode
ser dependente de apenas parte da chave;
▸
Cada atributo deve possuir dependência funcional totalem relação à chave primária.
▸
Ou seja, uma relação que esteja na 1FN e tenha chaveprimária simples (não composta) já está automaticamente na 2FN.
NORMALIZAÇÃO DE DADOS
SEGUNDA FORMA NORMAL
Exemplo (relação na 1FN):
13
CodNota CodProduto Nome Quantidade PrecoUnit
22885 101115 Queijo 0.3 19.99 23958 101126 Coca 2l 1 5.25 23958 101132 Pão 1.5 7.99 23958 101115 Queijo 2 19.99 Relação ItensNota
Anomalia de atualização!
NORMALIZAÇÃO DE DADOS
SEGUNDA FORMA NORMAL
Passos para a normalização:
▸
Quaisquer atributos cuja dependência funcional não sejatotal devem ser realocados para outras relações.
NORMALIZAÇÃO DE DADOS
SEGUNDA FORMA NORMAL
Exemplo (relações na 2FN*):
15
CodNota CodProduto Quantidade
22885 101115 0.3
23958 101126 1
23958 101132 1.5
23958 101115 2
Relação ItensNota
CodProduto Nome PrecoUnit
101115 Queijo 19.99
101126 Coca 2l 5.25
101132 Pão 7.99
NORMALIZAÇÃO DE DADOS
EXERCÍCIOS
▸
Passe a relação abaixo para a 2FN:16
Relação FuncionariosProjetos
CodFunc CodProj NomeFunc NomeProj Horas
1234 125 Ana AcadWeb 10
1234 126 Ana SisAdm 10
1235 125 Beatriz AcadWeb 20
NORMALIZAÇÃO DE DADOS
TERCEIRA FORMA NORMAL
▸
Uma relação está na 3FN se ela estiver na 2FN e cadaatributo não-chave não possuir dependência transitiva em relação a outros atributos não-chave.
NORMALIZAÇÃO DE DADOS
TERCEIRA FORMA NORMAL
Exemplo (relação na 2FN):
18
CodFunc NomeFunc CodDepto NomeDepto CodSup NomeSup
1234 Ana 12 RH 5678 Emanuel
2345 Bruna 13 DTI 6789 Fernanda
3456 Carlos 12 RH 1234 Ana
4567 Diogo 14 Financeiro 7890 Gabriel
Relação Funcionarios
NORMALIZAÇÃO DE DADOS
TERCEIRA FORMA NORMAL
Passos para a normalização:
▸
Quaisquer atributos com dependências transitivas devemser realocados para outras relações ou removidos, a depender da necessidade.
NORMALIZAÇÃO DE DADOS
TERCEIRA FORMA NORMAL
Exemplo (relações na 3FN):
20
CodFunc NomeFunc CodDepto CodSup
1234 Ana 12 5678 2345 Bruna 13 6789 3456 Carlos 12 1234 4567 Diogo 14 7890 Relação Funcionarios CodDepto NomeDepto 12 RH 13 DTI 14 Financeiro Relação Departamentos
NORMALIZAÇÃO DE DADOS
EXERCÍCIOS
▸
Passe a relação abaixo para a 3FN:21
Relação Salas
CodSala Descricao CodDepto NomeDepto CodResp NomeResp
25 Sala 25 56 Ensino 125 Keila
26 Biblioteca 38 Acadêmico 138 Leandro
27 Lab 1 45 Química 146 Maria
NORMALIZAÇÃO DE DADOS
MAIS EXERCÍCIOS
▸ Indique a forma normal (máxima) de cada relação:
22
CodTurma MatrAluno Nome
3381 151001 Ana
3381 151002 Beatriz
3382 151003 Carlos
3382 151004 Daniel
CodLivro NomeLivro CodEditora NomeEditora
3339 SGBDs 25 Pearson 3340 BD I 32 Campus 3341 SQL 41 Érica CPF Nome TelFixo 043.678.345-32 Eva 3333-4444 839.491.094-00 Gabriel 3325-5343 399.401.340-39 Hilda 3327-9097
Matr Disc Historico
151001 119 BD 1 9,5
151001 120 Intr. Prog. 8,0
151003 119 BD 1 9,2
NORMALIZAÇÃO DE DADOS
MAIS EXERCÍCIOS
▸
Normalize a relação abaixo até a 3FN:23
CodTurma MatrAluno Nome Telefones CodDisc NomeDisc
3381 151001 Ana 3333-4444 98842-8888 151 BD 1
3381 151002 Beatriz 3344-6677 99456-3434 151 BD 1
3382 151003 Carlos 3033-3033 99998-4445 152 Intr. Prog.
BANCO DE DADOS I
IRAN RODRIGUES
FACULDADE DE TECNOLOGIA DE ALAGOAS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS