normalização de dados - utfpr

28
Normalização de Dados Disciplina: Fundamentos de Banco de dados Docente: Kelyn Schenatto

Upload: others

Post on 23-Oct-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Normalização de Dados

Disciplina: Fundamentos de Banco de dados

Docente: Kelyn Schenatto

História...

• Muitos dos sistemas de informação ainda utilizados atualmente foram desenvolvidos ao longo dos últimos 20 anos e não utilizam banco de dados relacionais, sendo chamados de sistemas legados (HEUSER, 2009).

História...

• Os dados desses sistemas estão armazenados em arquivos de linguagens de terceira geração, como COBOL ou Basic, ou então em banco de dados da era pré-relacional. Raramente, os arquivos destes sistemas estão documentados através de modelos conceituais (HEUSER, 2009).

História...

• Também existem bancos de dados relacionais que não possuem documentação na forma de um modelo conceitual.

Normalização de dados

• Montagem do Modelo Entidade Relacionamento considerando outro ponto de vista;

• A partir de documentos, aplicando regras previstas no processo de normalização é gerado o Modelo de Dados.

Utilização

• Geração de um BD relacional a partir de formulários, fichas, planilhas, etc;

• Substituição de um BD não relacional pelo modelo relacional;

• Validação de um BD relacional construído;

• Atualização da documentação de um BD que passou por alterações;

• Geração de documentação de um BD que foi desenvolvido de forma empírica.

Teoria da normalização

• A teoria da normalização é expressa através de um conjunto de Formas Normais, que otimizam a estrutura e o conteúdo das relações entre as entidades.

• O conceito de normalização foi introduzido por Edgar F. Codd em 1970.

Normalização de dados

• Normalização de dados é o processo formal e passo a passo que examina os atributos de uma entidade, com o objetivo de evitar anomalias observadas na inclusão, exclusão e alteração de registros.

• Critérios de adequação de tabelas.

Anomalias de inclusão

• Ao ser incluído um novo cliente ele precisa estar relacionado a uma venda;

• Não se pode inserir uma nova peça no BD sem que se tenha um pedido.

10,00 20 0,50 Lápis A Null KZZ 444 Pedro

2,00 2 1,00 Régua C 789 XPT 333 João

3,00 3 1,00 Caneta B 456 XYZ 222 Ana

1,00 2 0,50 Lápis A 123 ABC 111 Zé

total qtd Vunit nomeP codP fone endereco CPF nomeC

Anomalias de exclusão

• A exclusão de uma informação causa a perda de outra informação;

• Ao ser excluído um cliente os dados referentes às suas compras serão perdidos;

• Ao ser excluída uma venda os dados do produto também são perdidos;

10,00 20 0,50 Lápis A Null KZZ 444 Pedro

2,00 2 1,00 Régua C 789 XPT 333 João

3,00 3 1,00 Caneta B 456 XYZ 222 Ana

1,00 2 0,50 Lápis A 123 ABC 111 Zé

total qtd Vunit nomeP codP fone endereco CPF nomeC

Anomalias de alteração

• Uma mudança na descrição da peça A requer várias mudanças;

• Se for alterado o preço do produto eu perco o histórico dele.

10,00 20 0,50 Lápis A Null KZZ 444 Pedro

2,00 2 1,00 Régua C 789 XPT 333 João

3,00 3 1,00 Caneta B 456 XYZ 222 Ana

1,00 2 0,50 Lápis A 123 ABC 111 Zé

total qtd Vunit nomeP codP fone endereco CPF nomeC

Objetivos

• A normalização tem a função de analisar problemas e organizar as tabelas de forma que a sua estrutura seja simples, relacional e estável;

• Evitar a perda e a repetição de informações;

• Atingir uma forma de representação adequada para o que se deseja armazenar.

Objetivos

• Reagrupar informações de forma a eliminar a redundância de dados;

• Garantir a integridade, evitando que informações desnecessárias sejam inseridas;

• Permitir a obtenção de um Modelo Entidade Relacionamento confiável e integro.

Benefícios

• Permite um processo de engenharia reversa de arquivos, como documentos, arquivos manuais, arquivos convencionais em um computador ou banco de dados gerenciados por SGBD não-relacional.

Benefícios

• Armazenamento consistente;

• Eficiente acesso aos dados em bancos de dados relacionais;

• Esses passos reduzem a redundância de dados e as chances dos dados se tornarem inconsistentes.

Normalizando dados...

• A normalização é normalmente utilizada para projetar um BD, partindo de um documento existente, considerando-o como sendo uma tabela única, e aplicando-se as regras.

• Também pode ser utilizada para validar um modelo criado.

Formas normais

• Formas normais são regras de simplificação e adequação de tabelas.

• Embora existam cinco formas normais, a maioria dos autores afirma que as três primeiras são suficientes para elaboração do modelo de dados.

Formas normais - Regras

• Para aplicar a normalização de dados é necessário considerar a sequência das formas normais;

• Inicialmente, realiza-se a definição de todos os atributos que o documento possui, registrando que eles são tidos como atributos da entidade principal;

• Atribui-se um a chave primária para entidade principal.

Nota Fiscal

1ª Forma Normal (1FN)

• Situações que nos deparamos com algumas informações que se repetem dentro de uma única linha.

• A 1FN diz que cada ocorrência da chave primária deve corresponder a uma e somente uma informação de cada atributo, ou seja, a entidade não deve conter atributos repetidos, ou ainda, os atributos não-chave deverão ser atômicos(únicos).

1ª Forma Normal (1FN)

• Ao observar que certos atributos não-chave não são atômicos, esses atributos deverão ser decompostos em uma nova entidade.

• Nas novas entidades criadas, deve-se manter a chave primária da entidade original ( o que mantém o relacionamento entre elas), como também o conjunto de atributos que se repetem.

1ª Forma Normal (1FN)

• Importante: As tabelas que saem na 1FN são tabelas associativas.

2ª Forma Normal (2FN)

• Elimina redundância de dados;

• Para estar na segunda forma normal uma entidade deve obrigatoriamente estar na 1FN;

• Na 2FN devemos observar se alguma entidade possui chave primária concatenada (composta), e para aquelas que satisfazerem essa condição, analisar se existe algum atributo ou conjunto de atributos com dependência parcial em relação a chave primária concatenada.

2ª Forma Normal (2FN)

• Na 2FN as entidades em observação geram outras entidades, que herdarão a chave parcial e todos os atributos que dependem da chave parcial.

• Com base na necessidade de armazenamento de históricos, na aplicação da 2FN também devemos observar, para cada entidade definida, quais de seus atributos vão se transformar com o tempo e duplica-los nas duas entidades.

3ª Forma Normal (3FN)

• A 3FN diz que todo atributo precisa estar na segunda forma normal, e todos os atributos que não são chave, não podem depender de outros atributos que também não são chave.

3ª Forma Normal (3FN)

• Deve-se ainda verificar se o valor de um atributo pode se repetir em muitos registros, sendo que neste caso, é necessário a inclusão de uma nova entidade. Nesse caso deve-se adicionar o código da nova entidade nas entidades em que ele for dependente, para realizar o relacionamento.

• Entidades na 3FN também não podem conter atributos que sejam o resultado de algum cálculo de outro atributo, visando manter a consistência dos dados.

Referências

• MACHADO, F. N. R.; ABREU, M. P. Projeto de Banco de Dados: uma visão prática. Editora Érica,1995, Cap.12, Normalização.

• HEUSER, C. A. Projeto de banco de dados. Editora Bookman, 2009.