Normalização básica
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Normalização básica

  • 685 views
Uploaded on

 

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

Views

Total Views
685
On Slideshare
685
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
13
Comments
0
Likes
0

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. Normalização básica
  • 2. Objetivos Definir o que são anomalias de inserção, remoção eatualização; Normalizar suas tabelas segundo a Primeira FormaNormal (1FN); Normalizar suas tabelas segundo a Segunda FormaNormal (2FN).
  • 3. Anomalia de inserção, remoção eatualização Anomalias são mudanças em dados que podemgerar uma inconsistência no banco de dadosrelacional. Tal inconsistência geralmente aparece quando obanco de dados é projetado de forma inadequada.
  • 4. Anomalia de inserção Uma anomalia de inserção acontece quando, ao inserirum dado, este dado pode gerar uma inconsistência nobanco de dados. No exemplo da Figura 1, para inserir os detalhes(NumAg, Endereço, Tel.) de um novo funcionário, vocêdeve tomar cuidado para usar exatamente os dados jácadastrados por outros funcionários. Por exemplo, um novo funcionário para a agência 1550deve usar exatamente o mesmo endereço dos outrosdois funcionários que também trabalham nesta agência.Se isto não for feito, teremos um problema deinconsistência de dados, onde dois funcionários quetrabalham na mesma agência possuem endereçosdiferentes.
  • 5. ExemploFigura 1 temos uma tabela chamadaAgenciaFuncionario que armazena osdados dos funcionários de um banco etambém os dados sobre as agências.Entretanto, tal solução pode gerarvárias anomalias.
  • 6. Anomalia de remoção Uma anomalia de remoção acontece quando, aoremover um registro, você pode gerar inconsistênciano banco de dados. No exemplo da Figura 1, uma anomalia de remoçãoacontece quando removemos o funcionário denúmero 05. Neste caso, o objetivo é apenasremover os dados do funcionário e preservar osdados da agência 2051. Entretanto, da forma comoa tabela está estruturada, os dados da agênciatambém são removidos.
  • 7. Anomalia de atualização Uma anomalia de atualização acontece quando, aoatualizar um registro, você pode gerar inconsistência nobanco de dados. No exemplo da Figura 1, uma anomaliade atualização acontece quando modificamos oendereço da agência 1524. Neste caso, teremos queatualizar o endereço de todos os funcionários da agência1524. Caso contrário, teremos uma inconsistência nobanco de dados onde funcionários da mesma agênciapossuem endereços diferentes. Note que todas as anomalias acontecem devido àexistência de redundância de informação na tabelaAgenciaFuncionario. Por exemplo, o mesmo endereçode uma agência é armazenado várias vezes quando elepoderia ser armazenado apenas uma vez. Assim, paraevitar as anomalias é preciso evitar a redundância. Aredundância é evitada através da normalização dastabelas que você verá logo a seguir.
  • 8. Normalização O processo de normalização foi proposto por Dr. E.F. Codd como uma forma de evitar as anomaliasmostradas anteriormente. Assim, o objetivo danormalização é remover a duplicação de dados e,consequentemente, minimizar a redundância.Segundo [Powell], a remoção da duplicação dedados permite: reduzir o espaço físico necessário para armazenar obanco de dados; melhorar a organização dos dados; reduzir o impacto de mudanças, inserções e remoçõesnos dados do banco de dados.
  • 9. Normalização O processo de normalização é constituído por umconjunto de formas normais. As formas normais especificam critérios que definemquando uma tabela está bem estruturada ou não.Assim, para saber se uma tabela está bemestrutura, você deve verificar se a estrutura databela satisfaz todas as formas normais. Nesta aula você verá duas formas normais que sãobem definidas na literatura de banco de dados. Paracada forma normal, iremos ver também quais açõesdevem ser tomadas para adequar uma tabela a umaforma normal. Ou seja, o que fazer para concertar aestrutura de uma tabela de modo que a mesmasatisfaça a forma normal.
  • 10. Primeira Forma Normal (1FN) Uma tabela está na Primeira Forma Normal (1FN)se e somente se todos os atributos contiveremapenas dados atômicos. Ou seja, cada atributopode ter apenas um valor por registro (tupla).
  • 11. Primeira Forma Normal (1FN) Para adequar uma tabela que não está na 1FN énecessário realizar os seguintes passos:1 – criar uma tabela para conter os dados do atributonão atômico;2 – criar na nova tabela um atributo para conter oatributo não atômico da tabela original;3 – criar na nova tabela um atributo para conter achave primária da tabela original;4 – definir uma chave estrangeira para garantir arelação entre a nova tabela e a tabela original;5 – definir a chave primária da nova tabela;6 – remover o atributo não atômico da tabela original.
  • 12. Primeira Forma Normal (1FN)
  • 13. Primeira Forma Normal (1FN)Para perceber a diferença, veja na Figura 4 a novaestrutura das duas tabelas. Note que o processo denormalização de uma tabela para a 1FN é equivalenteao mapeamento de um atributo multivalorado domodelo ER para o modelo relacional, mostrado naAula 4. Ou seja, se você definir bem seu modelo ER efizer o mapeamento correto, suas tabelas já estarãona 1FN.
  • 14. Segunda Forma Normal (2FN) A segunda forma normal trata da dependência entreatributo-chave e atributos-normais(não chave). Essadependência é aplicada para situações em quetemos construção com atributo-chave composto. Uma tabela está na Segunda Forma Normal (2FN)se e somente se ela estiver na 1FN e que quandoao possuir atributo –se incluem nestacomposição são definidos com dependentesfuncionais da composição com um todos doatributo-chave.
  • 15. Segunda Forma Normal (2FN)
  • 16. Segunda Forma Normal (2FN) Para adequar uma tabela que não está na 2FN énecessário fazer os seguintes passos:1 – criar duas novas tabelas para armazenar os dadosdos campos redundantes, onde seus valoresapresentam repetição de valores;2 – remover os campos com valores redundantes databela original;3 – criar chaves primárias nas novas tabelas criadascom base na chave primária da tabela original;4 – criar relações um-para-muitos entre as novastabelas criadas e a tabela original.
  • 17. Segunda Forma Normal (2FN)
  • 18. Segunda Forma Normal (2FN)
  • 19. Exercícios1. Descreva como a Normalização pode serutilizada no projeto de banco de dados.2. Descreva as características das tabelasque violam a 1FN e como tais tabelaspodem ser modificadas para satisfazer a1FN.3. Descreva as características das tabelasque violam a 2FN e como tais tabelaspodem ser modificadas para satisfazer a2FN.
  • 20. Exercícios4. Verifique se a Tabela Agenda está na 2FN. Casoela não esteja, faça o processo de adequação comomostrado anteriormente.
  • 21. Exercícios6. Explique o que é redundância de dados.7. Cite as principais características das anomalias deinserção, remoção e atualização.