09 LabMM4 - Bases de dados

877 visualizações

Publicada em

Publicada em: Educação
2 comentários
0 gostaram
Estatísticas
Notas
  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
877
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
93
Comentários
2
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

09 LabMM4 - Bases de dados

  1. 1. Bases de dados: NormalizaçãoCarlos SantosLabMM 4 - NTC - DeCA - UAAula 09, 15-03-2012
  2. 2. NormalizaçãoProcesso de organizar os campos e tabelas de uma base de dadosrelacional de modo a minimizar a redundância e dependência dos dados • é essencial para que se possa tirar partido do SQLObjetivos: • libertar a BD de anomalias de edição • minimizar necessidades de redesenho da BD quando é necessário extender a sua implementação • tornar o modelo de dados mais informativo para os utilizadores • evitar tendência do modelo relativamente a um determinado padrão de queries(http://en.wikipedia.org/wiki/Database_normalization)
  3. 3. Primeira regra de normalização (First normal form)Eliminação de grupos repetitivos: • A primeira regra de normalização envolve a eliminação de grupos repetitivos dentro de um qualquer campo. ENCOMENDAS NrEncom DataEncomenda DataPagamento Produto Quantidade Mesa de Sala 1 1 12-09-2000 12-09-2000 Sofá 2 Cadeira 12 Cadeira 2 2 30-08-2001 11-12-2001 Aparador 1 3 21-01-2000 24-01-2000 Sofá 3
  4. 4. Segunda regra de normalização(Second normal form)Eliminação de dados redundantes (na tabela): • a primeira regra de normalização tem que ser respeitada; • todos os campos que não fazem parte da chave primária são funcionalmente dependentes da totalidade da chave primária; isto é, não podem existir campos que são dependentes apenas de uma parte da chave primária. ENCOM_PROD NrEncom ID_Produto Produto Quantidade 1 1 Cadeira 12 1 2 Mesa de Sala 1 2 3 Aparador 2 • Neste caso, o campo “Produto” é dependente do campo “ID_Produto” que é apenas uma parte da chave primária, logo a tabela não se encontra de acordo com a segunda regra de normalização.
  5. 5. Terceira regra de normalização (Third normal form)Eliminação de campos que não são dependente das chaves: • a segunda regra de normalização tem que ser respeitada; • todos os campos que não são chaves têm que ser independentes entre si. Ou seja, para os campos que não são chaves, o valor de uma dado campo não pode depender do valor de outro campo. VENDEDOR NrVendedor Nome Apelido CodPostal Localidade 1 João Tomás 3810 Aveiro 1 Maria Costa 3830 Ílhavo 2 Manuel Ribeiro 1000 Lisboa • Neste caso, o campo “Localidade” é dependente do campo “CodPostal”, logo a tabela não se encontra de acordo com a terceira regra de normalização. • Por vezes, em situações práticas, pode ser conveniente não aplicar totalmente esta regra de normalização.... • Campos calculados também são “proibidos” por esta regra.
  6. 6. Regras de normalizaçãoMais regras de normalização: • Boyce/Codd Normal Form • Quarta regra de normalização (Fourth normal form) • Quinta regra de normalização (Fifth normal form) • Domain Key/Normal Form • ...Estas regras raramente têm que ser aplicadas porque só fazem sentidoem situações muito complexas que raramente são encontradas no mundoreal.
  7. 7. DesnormalizaçãoEm condições específicas deve ser realizada, por exemplo, para melhorara performance...
  8. 8. E a seguir?Na aula de dia 21 vamos ter pessoal do labs.sapo/ua a falar de: • SQL vs noSQLAté Maio :)

×