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. nomec CPF endereco fone codp nomep Vunit qtd total Zé 111 ABC 123 A Lápis 0,50 2 1,00 Ana 222 XYZ 456 B Caneta 1,00 3 3,00 João 333 XPT 789 C Régua 1,00 2 2,00 Pedro 444 KZZ Null A Lápis 0,50 20 10,00
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; nomec CPF endereco fone codp nomep Vunit qtd total Zé 111 ABC 123 A Lápis 0,50 2 1,00 Ana 222 XYZ 456 B Caneta 1,00 3 3,00 João 333 XPT 789 C Régua 1,00 2 2,00 Pedro 444 KZZ Null A Lápis 0,50 20 10,00
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. nomec CPF endereco fone codp nomep Vunit qtd total Zé 111 ABC 123 A Lápis 0,50 2 1,00 Ana 222 XYZ 456 B Caneta 1,00 3 3,00 João 333 XPT 789 C Régua 1,00 2 2,00 Pedro 444 KZZ Null A Lápis 0,50 20 10,00
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.