Your SlideShare is downloading. ×
  • Like
Normalização de Banco de Dados
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Normalização de Banco de Dados

  • 36,855 views
Published

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
36,855
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
852
Comments
0
Likes
6

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 3.2 NORMALIZAÇÃO
    • Normalização é um processo sistemático através do qual uma tabela relacional não normalizada é transformada em um conjunto de tabelas normalizadas, que representem da melhor forma possível uma realidade a ser modelada.
    • Um conceito básico usado para a normalização é o conceito de dependência funcional.
  • 2. 3.2 NORMALIZAÇÃO
    • 3.2.1 Dependência Funcional
    • Dada uma relação, um atributo Y é dito funcionalmente dependente de um outro atributo X se e, somente se, cada ocorrência de X está associada sempre com a mesma ocorrência de Y.
    • X -> Y
    • Diz-se que: X determina Y
    • X designa Y
  • 3.
    • 3.2.2 Processo de Normalização
    • O processo de normalização passa pelas seguintes etapas:
    • O documento ou arquivo a ser normalizado é representado na forma de uma tabela não normalizada;
    • A tabela vai sendo decomposta em tabelas normalizadas ("bem projetadas"). A normalização dá-se em três passos principais, passando por três formas normais;
    • Uma forma normal é um conjunto de regras que uma tabela deve obedecer. Estas regras destinam-se a eliminar as redundâncias de dados.
    3.2 NORMALIZAÇÃO
  • 4. 3.2 NORMALIZAÇÃO
    • - Exemplo de documento a normalizar: Relatório de Alocação a Projeto
    • CÓDIGO DO PROJETO: LSC001 TIPO: Novo Desenv. DESCRIÇÃO: Sist. Estoque.
    • NOEMP NOME CATEG SALÁRIO INÍCIO TEMPO
    • PROJETO ALOCAÇÃO
    • 2146 João A1 40 01/11/91 24
    • 3145 Sílvio A2 40 02/10/91 24
    • 6126 José B1 90 03/10/92 18
    • 1181 Carlos A2 40 01/11/92 12
    • CÓDIGO DO PROJETO: PAG02 TIPO: Manutenção DESCRIÇÃO: Sistema de RH.
    • NOEMP NOME CATEG SALÁRIO INÍCIO TEMPO
    • PROJETO ALOCAÇÃO
    • 1181 Carlos A2 40 01/11/93 14
    • 5672 Luís A1 40 12/10/91 24
    • 6126 José B1 90 31/11/92 11
  • 5. 3.2 NORMALIZAÇÃO
    • 3.2.3 Forma Não Normalizada
    • Uma tabela não normalizada (NN) contém valores de atributos não atômicos, isto é, contém tabelas embutidas (grupos repetidos, arrays).
    • Representação não normalizada do documento exemplo:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR,
    • ( NOEMP , NOME, CAT, SAL, DATAINÍCIO,TEMPOALOC))
    • Deve-se observar a representação do embutimento de tabelas através de parênteses e a indicação das chaves primárias em cada nível de embutimento.
  • 6.
    • 3.2.4. Primeira Forma Normal
    • Uma tabela na primeira forma normal (PFN) não contém tabelas embutidas.
    • A passagem à primeira forma normal é feita nos seguintes passos:
    • 1. Para cada tabela embutida (cada uma abre parênteses), inclusive a mais externa, é criada uma tabela na PFN que contém:
    • - as chaves primárias de cada tabela externa à tabela embutida;
    • - os atributos da própria tabela embutida.
    • 2. São definidas as chaves primárias das tabelas na PFN.
    3.2 NORMALIZAÇÃO
  • 7. 3.2 NORMALIZAÇÃO
    • 3.2.4.1 Passagem à PFN - decomposição de tabelas
    • - Tabela1: corresponde ao nível externo
    • PROJ ( CODPROJ, TIPOPROJ, DESCR)
    • - Tabela2: corresponde à tabela embutida
    • PROJEMP (CODPROJ, NOEMP, NOME, CAT, SAL, DATAINÍCIO, TEMPOALOC )
  • 8. 3.2 NORMALIZAÇÃO
    • 3.2.4.2 Passagem à PFN - identificação de chaves
    • - Tabela1: corresponde ao nível externo
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
    • - Tabela2: corresponde à tabela embutida
    • PROJEMP ( CODPROJ, NOEMP , NOME, CAT, SAL, DATAINÍCIO, TEMPOALOC )
  • 9. 3.2 NORMALIZAÇÃO
    • 3.2.5 Segunda Forma Normal
    • Uma tabela está na segunda forma normal (SFN) quando, além de estar na PFN, cada atributo não chave primária depende funcionalmente de toda a chave primária e não de apenas parte dela.
    • Ao passar uma tabela para a SFN é necessário considerar apenas tabelas que tenham:
    • - chave primária composta;
    • - pelo menos um atributo não chave.
  • 10. 3.2 NORMALIZAÇÃO
    • Para o caso do exemplo:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
    • PROJEMP ( CODPROJ, NOEMP , DATAINÍCIO,TEMPOALOC)
    • EMP ( NOEMP , NOME, CAT, SAL )
  • 11. 3.2 NORMALIZAÇÃO
    • 3.2.6 Terceira Forma Normal
    • Uma tabela está na terceira forma normal (TFN) quando, além de estar na SFN, cada atributo não chave primária depende diretamente da chave primária, isto é, não há dependências entre atributos não chave;
    • Na passagem à TFN, basta considerar tabelas com mais de um atributo não chave.
  • 12. 3.2. NORMALIZAÇÃO
    • Para o caso do exemplo:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
  • 13. 3.2. NORMALIZAÇÃO
    • Para o caso do exemplo:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
    • PROJEMP ( CODPROJ, NOEMP , DATAINÍCIO,TEMPOALOC)
  • 14. 3.2. NORMALIZAÇÃO
    • Para o caso do exemplo:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
    • PROJEMP ( CODPROJ, NOEMP , DATAINÍCIO,TEMPOALOC)
  • 15. 3.2. NORMALIZAÇÃO
    • EMP é subdividida em duas:
    • EMP ( NOEMP , NOME, CAT )
    • CATEGORIA ( CAT , SAL )
  • 16. 3.2. NORMALIZAÇÃO
    • Documento normalizado:
    • PROJ ( CODPROJ , TIPOPROJ, DESCR)
    • PROJEMP ( CODPROJ, NOEMP , DATAINÍCIO,TEMPOALOC)
    • EMP ( NOEMP , NOME, CAT )
    • CATEGORIA ( CAT , SAL )
  • 17. 3.2. NORMALIZAÇÃO
    • Na Terceira Forma Normal:
    • Atributos Calculados podem ser desconsiderados;
    • Chaves candidatas não devem ser consideradas determinantes funcionais.
  • 18. 3.2. NORMALIZAÇÃO
    • Exemplo genérico de Passagem à PFN
    • Tabela NN:
    • ( A1,A2 , A3, A4, A5
    • ( B1 , B2, B3, B4
    • ( C1 ,C2, C3)
    • ( D1 , D2) )
    • ( E1 , E2, E3) )
  • 19. 3.2. NORMALIZAÇÃO
    • PFN - Subdivisão de Tabelas
    • 1. (A1, A2, A3, A4, A5)
    • 2. (A1, A2, B1, B2, B3, B4)
    • 3. (A1, A2, B1, C1, C2, C3)
    • 4. (A1, A2, B1, D1, D2)
    • 5. (A1, A2, E1, E2, E3)
  • 20. Exercício de Normalização 1
    • "Uma fábrica de móveis vai informatizar os pedidos de produtos especificados por funcionários para revendedores. Cada pedido contém um número, data, prazo de entrega, nome do cliente (revendedor), endereço, cidade, U.F., CGC e inscrição estadual do revendedor. Além disso, um pedido contém vários itens de pedido. Cada item de pedido registra o código do produto, descrição, setor, quantidade, valor unitário, desconto e subtotal."
    • Forma Não-Normalizada:
    • PEDIDO (NUM_PEDIDO, DATA, PRAZO, NOME_REV, ENDEREÇO, CIDADE, UF, CGC, INSCR_EST, NUM_F
    • (COD_PROD, DESCR, SETOR, QUANTIDADE, VALOR_UNIT,
    • DESCONTO, SUBTOTAL) )
  • 21. Exercício de Normalização 2
    • “ Uma empresa de ônibus possui um número, nome (empresa), endereço e nome do gerente. Cada empresa de ônibus possui vários ônibus e motoristas. Um ônibus pertence a somente uma empresa e um motorista pode trabalhar em mais de uma empresa de ônibus. Um ônibus possui um número, placa, ano de fabricação, tipo e capacidade (número de passageiros de acordo com o tipo do ônibus). Um motorista possui um número (especificado pela Secretaria Municipal de Transportes), nome e tempo de experiência. Uma linha de ônibus contém um número, itinerário, é executada por vários ônibus, pode ser percorrida várias vezes (cada uma delas com um horário de partida e de chegada) ao dia em sentidos opostos ou no mesmo sentido. Por exemplo, a linha 31 sai às 8 horas no sentido centro/bairro e também às 8 horas no sentido bairro/centro.”