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.