Вы находитесь на странице: 1из 32

1

Normalização
Prof. Me. Fábio dos Santos
2 Dependências
Relembrando Em uma PK composta
atributos não-chave
Total dependem da PK
inteiramente e não apenas
Dependência de parte dela.
Funcional

Parcial

E
X→Y
Num_ped → prazo_entrega
Transitiva
3 Dependências

Dependência funcional total;

Item_pedido
PK num_pedido
PK Produto_id
Quantidade_prod
4 Dependências
Relembrando Em uma PK composta
atributos não-chave
Total dependem da PK
inteiramente e não apenas
Dependência de parte dela.
Funcional

Em uma PK composta
Parcial atributos não-chave não
dependem funcionalmente
de toda PK.

E
X→Y
Num_ped → prazo_entrega
Transitiva
5 Dependências

Dependência funcional parcial;

Matricula
PK ID_aluno
PK Disciplina_id
Nome_disciplina
Data_inicio
6 Dependências
Relembrando
Em uma PK composta
atributos não-chave depende
Total
da PK inteiramente e não
apenas de parte dela.
Dependência
Funcional
Em uma PK composta
Parcial atributos não-chave não
dependem funcionalmente
de toda PK.

E
X→Y
Num_ped → prazo_entrega Atributo não depende da PK
Transitiva (nem parcialmente), mas de
outro campo não PK.
7 Dependências

Dependência funcional transitiva;

Pedido
PK Num_pedido
FK Cod_vendedor
Nome_vendedor
Prazo_entrega
8 Anomalias de atualização

 Problemas que ocorrem em bancos de dados mal planejados;

 Excesso de dados e atributos em uma tabela;

 Ocorrem devido as dependências parciais e transitivas;

3 tipos

Inclusão Exclusão Modificação


9 Anomalias de inclusão

Quando se insere um dado gera uma inconsistência


no banco;

Cadastrar um funcionário de um
Não ser possível adicionar um
banco na agência 1550 com
livro sem o autor já cadastrado.
endereço diferente do real.
10 Anomalias de inclusão

Quando se insere um dado gera uma inconsistência


no banco;
11 Anomalias de exclusão

Excluir um registro, dados referenciados em outras


tabelas também serão excluídos;

Excluir autor gera a exclusão dos Removendo o funcionário 05


livros desse autor; remove a agência 2051.
12 Anomalias de exclusão

Remoção pode apagar informações da agência;


13 Anomalias de modificação

Alterando os dados em uma tabelas isso implica em


alterações em outras tabelas;

Alterar o código do autor, todos


Atualizar o endereço da
os livros que tem aquele autor
agência 1524, terá de atualizar
devem ter seu número de
todos funcionários da agência.
identificação alterado.
14 Anomalias de atualização

Atualização do endereço requer atualização geral;


15 Eliminar anomalias

Projetando as tabelas no banco de dados de modo


que nenhuma anomalia ocorra;

Normalização
16 Normalização

 Decompor relações com anomalias em relações menores


e bem estruturadas;
 Conjunto de regras para gerar conjunto de tabelas sem
redundância, permitindo recuperar informações
facilmente;
 Na normalização pode-se incluir, alterar e excluir sem criar
anomalias;
17 Objetivos Normalização

Minimizar
redundâncias;
Analisar tabelas com base
nas dependências
funcionais e PK.

Minimizar
anomalias;
18 Normalização

 Proposto por Codd em 1972 realizando vários testes para


garantir que as tabelas satisfaçam uma Forma Normal (FN);

 Propôs originalmente 3 Formas Normais;

1ª FN 2ª FN 3ª FN
19 Primeira Forma Normal

Reprova atributos multivalorados, compostos e suas


combinações;

Atributos devem ser atômicos (indivisíveis);

Valor dos atributos devem único valor do domínio


desse atributo;
20 Primeira Forma Normal

Somente possuí valores atômicos

Um dado por coluna nas linhas

Quando uma tabela está


na 1ª FN
Existe uma PK

Não possuí tabela “dentro” de outra


tabela
21 Primeira Forma Normal
Logradouro: Rua, Avenida,
alameda...

Número

CEP

Endereço
Bairro

Complemento

Cidade
22 Primeira Forma Normal

Cliente

Cod_cliente nome Telefone* endereco


Cliente
2532 Jose 9 9956-9636 Rua João carlos
Cod_cliente 3226-6636 gomes, 256 – vila
nome romã
telefone* 2536 Fabio 9 9953-8729 Rua Carlos de
queiroz, 963 – ap
endereco
61 - Uvaranas
2639 Janaina 3269-9563 Rua primavera,
9 9963-7890 96 - Pinheiros
23 Primeira Forma Normal

Cliente Telefone
Cod_cliente nome Logradouro Num Bairro Complemento ID Cod_cliente telefone
1 2532 9 9956-9636
2 2532 3226-6636
2532 Jose Rua João 256 vila romã
carlos 3 2536 9 9953-8729
gomes
4 2639 3269-9563
2536 Fabio Rua Carlos 963 Uvaranas ap 61 5 2639 9 9963-7890
de Queiroz

2639 Janaina Rua 96 Pinheiros


primavera
24 Segunda Forma Normal

Baseada no conceito de dependência funcional total;

Uma tabela R está na 2FN se todos os atributos não


chave forem total e funcionalmente dependentes da PK
de R;

Testa as dependências funcionais;


25 Segunda Forma Normal

Estar na 1ª FN

Atributos não chave são funcionalmente


dependentes de toda PK

Quando uma tabela está


na 2ª FN
Não existe dependência parcial

Caso contrário, deve-se gerar uma nova


tabela com os dados
26 Segunda Forma Normal

Peca
Cod_peca Cod_forn Cidade_forn Qtd_estoque Tel_forncedor Qtd_caixa
Peca
Cod_peca 009 121 Guarapuava 512 3226-9636 52
Cod_forn
Cidade_forn 023 122 Londrina 263 5563-9863 27

Qtd_estoque 065 121 Guarapuava 196 7896-9863 20

Tel_fornecedor
071 123 Ponta Grossa 89 1232-9636 9
Qtd_caixa
27 Segunda Forma Normal

Peca Fornecedor

Cod_peca Cod_forn Qtd_estoque Qtd_caixa Cod_forn Cidade_forn Tel_forncedor

009 121 512 52 121 Guarapuava 3226-9636

023 122 263 27 122 Londrina 5563-9863


065 121 196 20 123 Ponta Grossa 1232-9636

071 123 89 9
PK

PK PK
FK
28 Terceira Forma Normal

Baseada no conceito de dependência transitiva;

A tabela não pode ter um atributo não chave


determinado funcionalmente por outro atributo não
chave;

Quando isso ocorre deve-se criar uma nova tabela onde


o atributo que tem a dependência é a PK;
29 Terceira Forma Normal

Estar na 2ª FN

Quando uma tabela está


na 3ª FN

Não existem dependências transitivas


30 Terceira Forma Normal

Venda
Nota_fiscal Cod_vended Nome_vende Cod_produto Qtd_vendida
or dor
venda
Nota_fiscal 15326 002 Vera 132 10
Cod_vendedor
Nome_vendedor 15327 006 Franco 196 25

Cod_produto 15328 002 Vera 156 5

Qtd_vendida
15329 009 Pedro 132 10
31 Terceira Forma Normal

Venda Vendedor

Nota_fiscal Cod_vendedor Cod_produto Qtd_vendida Cod_vendedor Nome_vendedor

15326 002 132 10 002 Vera

15327 006 196 25 006 Franco


15328 002 156 5 009 Pedro

15329 009 132 10


PK

PK FK
32 Passos para normalização

Aplica Remover atributos


multivalorados e
1FN compostos

Tabela não
Aplica Remover dependências
transitivas
normalizada 2FN

Remover dependências Aplica


parciais
3FN

Вам также может понравиться