Você está na página 1de 18

Banco de Dados

Módulo 5a - Modelo Relacional


Exemplos de Normalização
Tópicos
• Exemplo Prático:
– Normalizar um banco de dados relacional já existente

• Exemplo Teórico:
– Exercitar as definições relacionadas a normalização
Exemplo - Normalização de BDR

• Normalização de banco de dados relacional


– Objetivo:
• Eliminar redundâncias e inconsistências de um banco de dados,
com reorganização mínima dos dados
– Sub-Fases:
• Identificação das redundâncias e outros problemas
• Reorganização do banco de dados
• Reprojeto das aplicações
Exemplo - Normalização de BDR

• Redundâncias e inconsistências em atributos:


– atributo com domínio enumerável
• representado sem controle
– atributo multivalorado
• representado sem normalização
– atributo pertencente a chave
• ocorre com valor nulo
– atributo redundante
• inferido ou materializado sem controle
Exemplo - Normalização de BDR

• Tratamento de atributo com domínio enumerável:


– criar tabela definindo o domínio:
• valor
• descrição, se for o caso
– uniformizar os valores
– controlar atualizações
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo com domínio enumerável:


– TIPO_AREA em AREAESPECIAL
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo com domínio enumerável:


– DATUM em PLAT_FIXA, DGPS (e outras tabelas)
Exemplo - Normalização de BDR

• Tratamento de atributo multivalorado:


– normalizar e controlar atualizações
– exemplo:
Exemplo - Normalização de BDR

• Tratamento de atributo pertencente a chave:


– eliminar nulos
– exemplo:
Exemplo - Normalização de BDR

• Tratamento de atributo redundante:


– eliminar, ou
– manter e controlar consistência
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo redundante:


– TIPO_AREA em AREASHD parece ter sempre o
mesmo valor
– candidato a ser eliminado
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo redundante:


– BLOCO_ANP possui vários atributos que não se aplicam
(e portanto são sempre nulos)
– eliminar todos estes atributos
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo redundante:


– BLOCO_ANP, BLOC_PARC, BLOCO_PETRO e PARC
podem ser representados em uma única tabela
• novo atributo para indicar o tipo de bloco
• atributos que não se aplicam ao tipo de bloco terão valores nulos

BLOCO
Exemplo - Normalização de BDR

• Exemplo de tratamento de atributo redundante:


– o atributo BACIA em DGPS pode ser computado
já que a área de cobertura do DGPS e a área da bacia são conhecidos
(a mesma situação ocorre em várias outras tabelas)
– manter para melhorar desempenho de consultas
(ver tratamento de relacionamentos n-m adiante)
– controlar consistência
Exemplo - Normalização de BDR

• Redundâncias e inconsistências
na representação de relacionamentos:
– binários n-1
• representados por atributos que não são chaves estrangeiras
– binários n-m:
• representados por atributos multivalorados sem controle
Exemplo - Normalização de BDR

• Tratamento de relacionamentos binários n-1:


– substituir nomes das entidades pelas suas chaves
– transformar o atributo em chave estrangeira
para a tabela que representa o conjunto de entidades
– exemplo:
Exemplo - Normalização de BDR

• Tratamento de relacionamentos binários n-m:


– normalizar
• criar uma nova tabela com as chaves estrangeiras apropriadas
– exemplo:
Exemplo Teórico
• (Trabalho 2 a ser resolvido em sala)