normalização de dados - utfpr
TRANSCRIPT
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.
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.
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.