Modelagem de Dados Aula 5.

Slides:



Advertisements
Apresentações semelhantes
Um pouco mais de cardinalidade e Relacionamentos
Advertisements

Laboratório WEB Professora: Viviane de Oliveira Souza Gerardi.
Normalização.
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Prof.: Bruno Rafael de Oliveira Rodrigues
Projeto de Banco de Dados
Introdução a Bancos de Dados
Universidade Federal de Santa Catarina
Banco de Dados Aplicado ao Desenvolvimento de Software
Prof. Alfredo Parteli Gomes
SQL Server 2012 Introdução a Modelagem de Dados
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Projeto de Banco de Dados
Normalização Normalização é o conjunto de regras que visa minimizar as anomalias de modificação dos dados e dar maior flexibilidade em sua utilização.
Banco de Dados Aplicado ao Desenvolvimento de Software
ANÁLISE DE SISTEMAS 1Trabalho elaborado por Alexandra.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Professor: reno nooblath
Programação para Internet Aula 10 Introdução (Características do BD Relacional e Implementação)
Aula 5 Bioestatística. Estatísticas para uma variável.
Modelagem de Dados Aula 2 2 Generalização / Especialização Uma entidade representa um conjunto de objetos, este conjunto (entidade genérica) pode ser.
Tecnologias e Linguagens para Banco de Dados I - WEB Prof. João Ricardo Andrêo 29/5/ :40 1 Atividades: 1 - Criar uma base de dados para uma empresa.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
SECRETARIA DE ESTADO DA EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DIRETORIA DE DESENVOLVIMENTO HUMANO GERÊNCIA DE TECNOLOGIA DE INFORMAÇÕES EDUCACIONAIS E ADMINISTRATIVAS.
Modelagem de Dados Aula 1.
Modelagem de Dados Aula 4. 2 Implementação de Entidades Não é aconselhável simplesmente transcrever os nomes dos atributos para nomes de colunas. Nomes.
INDICADORES SECRETARIA MUNICIPAL DE GESTÃO DE PESSOAS E POLÍTICAS DE RECURSOS HUMANOS Departamento de Desenvolvimento Pessoal e Capacitação Funcional 05/08/2010.
Tecnologias para Wireles LAN (IEEE ) Aula Computação Úbiqua Prof. Me. Diovani MIlhorim.
Cálculo Numérico Computacional Prof. Linder Cândido da Silva.
Normalização.
PRÁTICA CIENTIFICA ANÁLISE DE ARTIGO CIENTÍFICO: “PROPOSTA DE SOLUÇÃO PARA O PROBLEMA DAS P-MEDIANAS NA LOCALIZAÇÃO DE UNIDADES DE SAÚDE 24 HORAS” Brasília,
ESTRUTURA DO TRABALHO CIENTÍFICO
Guia de Referência para Fornecedores Visão Fornecedor.
Universidade Federal do Espírito Santo - UFES Laboratório de Computação de Alto Desempenho - LCAD Introdução ao Logisim Prof. Alberto F. De Souza LCAD/DI/UFES.
Glossário Autor: Skyup Informática. Atividade - Glossário A atividade glossário permite que o administrador crie páginas de definições, um dicionário.
Application Server & EJB3 Wesley Gonçalves da Silva
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :17 1 Atividades: 1 – Descreva os tipos de dados existentes no Microsoft.
Tecnologias e Linguagens para Banco de Dados I Prof. João Ricardo Andrêo 1/6/ :19 1 Respostas: 1. O que é um Sistema Gerenciador de Banco de Dados.
RESUMOS UNIRIO Profª.: Maria Lucia Costa de Vasconcelos Chaves Disciplina: Metodologia da Pesquisa I NUTRIÇÃO/ INTEGRAL 1º semestre/2015.
INE5408 Estruturas de Dados Introdução a Árvores - Conceitos - Árvores Binárias - Métodos e algoritmos de percurso - Métodos e algoritmos de balanceamento.
Método dos Elos – adequação de layout de processos
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
SISTEMAS OPERACIONAIS MEMÓRIA VIRTUAL. INTRODUÇÃO Memória Virtual é um técnica sofisticada e poderosa de gerenciamento de memória, onde a MP e a MS são.
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Fundamentos de ENGENHARIA GENÉTICA.
COMO CALCULAR ALUNO- EQUIVALENTE? Secretaria de Educação Profissional e Tecnológica Diretoria de Desenvolvimento da Rede Federal Coordenação-Geral de Planejamento.
Programação p/ INTERNET - HTML Prof. João Ricardo Andrêo 2/6/ :46 1 TABELAS A TAG é utilizada para apresentação de dados no formato de tabelas (apresentação.
Dependência Funcional  Para entender as duas formas normais que serão apresentadas a seguir é necessário compreender o conceito de dependência funcional.
Projeto de Pesquisa em Psicologia Social – PPPS MÉTODOS DE COLETA DE DADOS na Pesquisa Qualitativa 06/06/2011 2o Bimestre.
Disciplina: Análise e Projeto de Sistemas
ANÁLISE ERGONÔMICA DOS POSTOS DE TRABALHO (Material Adaptado do Programa de Pós-Graduação da Engenharia de Produção e Sistemas da Universidade Federal.
Modelagem de Dados Aula 3.
Normalização (4FN) Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na.
Sistemas de Informação Prof. Me. Everton C. Tetila Dependências funcionais e normalização para bancos de dados relacionais Banco de Dados I.
Banco de Dados para Redes– Aula 03 Prof. Me. Ronnison Reges Vidal.
ESCOLHA DE LIVROS (PNLD – 2014) DISTRIBUIÇÃO DE LIVROS ANA CAROLINA SOUZA LUTTNER Coordenação de Apoio às Redes de Ensino.
Revisão BD Thiago Medeiros Barros. O que é? Um banco de dados “é uma coleção de dados inter- relacionados, representando informações sobre um domínio.
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
Lógica de programação Estruturas de seleção Estruturas de repetição Sub-Rotinas 1.
Base de Dados Departamento de Informática – Celio Sengo Base de Dados Normalização do DEA e do Modelo Relacional Dr. Célio B. sengo Novembro, 2013.
FORMULÁRIOS FORMULARIOS. Introdução O formulário é um importante meio de comunicação, transmissão e registro de informações, principalmente as baseadas.
Diretrizes para a Elaboração de Trabalhos Científicos A CONSTRUÇÃO LÓGICA DO TRABALHO:
Diagramas de Sequência e Comunicação
Curso de Jornalismo Investigativo: uma capacitação para organizações e ativistas locais Análise e filtro de dados: oficina prática Apresentação baseada.
1 1 Slide Programação Dinâmica Prof. Dr. Alexandre Pereira Salgado Junior.
EDITOR DE PLANILHAS MICROSOFT EXCEL 2010
Elaboração de Projeto de Pesquisa
Instruções SIMADE – Maio / 2012
OFICINA DE MÉTODO CIENTÍFICO
Administração de Banco de Dados José Antônio da Cunha.
Transcrição da apresentação:

Modelagem de Dados Aula 5

Capítulo 6 – Engenharia Reversa de Arquivos e Normalização Neste capítulo, será vista a engenharia reversa de arquivos. Este processo permite obter um modelo lógico relacional a partir do modelo lógico de um banco de dados não relacional. Ele permite que se execute a engenharia reversa de qualquer conjunto de dados para os quais se disponha de uma descrição, como documentos, arquivos manuais, arquivos convencionais em computador ou banco de dados gerenciados por SGBD não relacional. Como base teórica para este processo será usado o conceito de normalização, uma técnica que objetiva eliminar redundâncias de dados de arquivos.

Capítulo 6 – Engenharia Reversa de Arquivos e Normalização Roteiro: 1. Introdução (página 126) 2. Visão Geral do Processo (páginas 126 a 128) 3. Documento Exemplo (página 128) 4. Representação na forma de tabela não normalizada (páginas 129 a 131) 5. Normalização (página 131) Passagem a primeira forma normal -1FN (páginas 131 a 135) Dependência funcional (páginas 135 a 137) Passagem a segunda forma normal - 2FN (páginas 137 a 140) Passagem a terceira forma normal - 3FN (páginas 140 a 143) Passagem a quarta forma normal - 4FN (páginas 143 a 147) Problemas da normalização (páginas 147 a 149) 6. Integração de modelos (páginas 148 a 149) Integração de tabelas com mesma chave (páginas 149 a 150) Integração de tabelas com chaves contidas (páginas 150 a 152) Volta a 2FN (página 152) 7. Construção do modelo ER e Eliminação de Redundâncias (página 152) 8. Verificação do modelo ER - Limitações da Normalização (página 152)

Introdução Um percentual significativo dos sistemas de informação hoje usados foram desenvolvidos ao longo dos últimos vinte anos e não utilizam bancos de dados relacionais. São os chamados sistemas legados (“legacy systems”). Os dados destes sistemas estão armazenados em arquivos de linguagem de terceira geração, como Basic, COBOL, MUMPS e outras, ou então em banco de dados da era pré-relacional, como IMS, ADABAS, DMS-II e os SGBD do tipo CODASYL (IDMS, IDS/2,...). Raramente, os arquivos destes sistemas estão documentados através de modelos conceituais. Além disso, muitos dos bancos de dados relacionais existentes, principalmente em micro computadores, não possuem documentação na forma de modelo conceitual. No entanto, há situações no ciclo de vida de um sistema nas quais um modelo conceitual pode ser de grande valia.

Introdução Um exemplo é a manutenção rotineira de software de um sistema de informações. Neste caso, o modelo conceitual pode ser usado como documentação abstrata dos dados durante discussões entre usuários, analistas e programadores. A existência de um modelo conceitual permite que pessoas que não conheçam o sistema possam aprender mais rapidamente o seu funcionamento. Outro exemplo no qual é importante possuir o modelo conceitual de um banco de dados já implementada é o da migração do banco de dados para uma nova plataforma de implementação, por exemplo usando um SGBD relacional. A disponibilidade de uma documentação abstrata, na forma de um modelo conceitual dos dados do sistema existente, pode acelerar em muito o processo de migração, pois permite encurtar a etapa de modelagem de dados do novo banco de dados.

Visão Geral da Engenharia Reversa O processo de engenharia reversa de arquivos convencionais parte das descrições dos arquivos que compõem o sistema existente. O primeiro passo é a representação da descrição de cada arquivo existente na forma de um esquema de uma tabela relacional não-normalizada. Este primeiro passo objetiva obter uma descrição independente do tipo de arquivo que está sendo utilizado. A partir daí, o processo trabalha apenas com tabelas relacionais, o que o torna independente do tipo de arquivo que está sendo usado como entrada ao processo de normalização. A seguir, este esquema de tabela não normalizada passa por um processo conhecido por normalização, através do qual é obtido um modelo relacional, contendo a descrição das tabelas correspondentes ao arquivo em questão.

Visão Geral da Engenharia Reversa O objetivo do processo de normalização é: reagrupar informações de forma a eliminar redundâncias de dados que possam existir nos arquivos. reagrupar informações de uma forma que permita a obtenção de um modelo ER. Uma vez normalizados todos os arquivos do sistema, os diferentes esquemas relacionais obtidos pela normalização são integrados, gerando o esquema relacional do banco de dados do sistema. Nesta etapa, as informações comuns a diferentes arquivos são identificadas e representadas uma única vez. Finalmente, a partir do esquema relacional assim obtido, usando as regras para engenharia reversa de um modelo relacional mostradas no capítulo anterior, é possível obter o modelo ER do sistema existente.

Representação na forma de tabela Não Normalizada - ÑN Documento exemplo O processo de normalização pode ser executado sobre qualquer tipo de representação de dados. Pode partir da descrição de um arquivo em computador, do layout de um relatório ou uma tela, etc. Para exemplificar o processo de normalização usaremos uma secretaria de um colégio. Representação na forma de tabela Não Normalizada - ÑN O primeiro passo do processo de engenharia reversa consta em transformar a descrição do documento ou arquivo a ser normalizado em um esquema de uma tabela relacional.

Tabela Não Normalizada - ÑN Matrícula do Aluno Nome do Aluno Endereço do Aluno Telefone do Aluno Data Nascimento do Aluno Filiação do Aluno Observação do Aluno Matérias do Aluno Sigla da Matéria Nome da Matéria Conteúdo da Matéria Carga Horária da Matéria Coordenador da Matéria Nota 1º Bimestre da Matéria Nota 2º Bimestre da Matéria Média da Matéria Professor da Matéria Matrícula do Professor Nome do Professor Endereço do Professor Telefone do Professor Data Nascimento do Professor Formação Acadêmica do Professor Cursos Extras do Aluno Código do Curso Nome do Curso Conteúdo do Curso Carga Horária do Curso Conceito do Curso do aluno Professor do Curso

Normalização Obtido o esquema relacional correspondente ao documento, passa-se ao processo de normalização. Este processo baseia-se no conceito de forma normal. Uma forma normal é uma regra que deve ser obedecida por uma tabela para que esta seja considerada “bem projetada”. Há diversas formas normais, isto é, diversas regras, cada vez mais rígidas, para verificar tabelas relacionais. No caso deste trabalho, vamos considerar quatro formas normais. As formas normais são denominadas simplesmente primeira, segunda, terceira e quarta forma normal, abreviadamente 1FN, 2FN, 3FN e 4FN. Relações normalizadas e não normalizadas Relações 1FN (relações normalizadas) Relações 2FN Relações 3FN Relações BCFN Relações 4FN Relações 5FN e outras

Passagem à primeira forma normal O próximo passo da normalização consta da transformação do esquema de tabela não normalizada em um esquema relacional na primeira forma normal (1FN). Uma tabela está em 1FN se e somente se todos os seus atributos contêm apenas valores univalorados (simples, indivisíveis). Desta forma se elimina os grupos repetitivos (multivalorados), separando eles para outra tabela. Nesta nova tabela a chave primária dos grupos repetitivos é formada pela chave primária da tabela não normalizada, acrescida do atributo escolhido para chave primária entre o grupo repetitivo tornando assim a chave primária, numa chave concatenada (com mais de um atributo).

Passagem à primeira forma normal (atributos univalorados) Tabela 1 Matrícula do Aluno Nome do Aluno Endereço do Aluno Telefone do Aluno Data Nasc. do Aluno Filiação do Aluno Observação do Aluno (atributos multivalorados) Tabela 2 Sigla da Matéria Nome da Matéria Conteúdo da Matéria Carga Horária da Matéria Coordenador da Matéria Nota 1º Bimestre da Matéria Nota 2º Bimestre da Matéria Média da Matéria Professor da Matéria Matrícula do Professor Nome do Professor Endereço do Professor Telefone do Professor Data Nasc. do Professor Formação Acad. do Professor Tabela 3 Código do Curso Nome do Curso Conteúdo do Curso Carga Horária do Curso Conceito do Curso Professor do Curso

Dependência Funcional Para entender as duas formas normais que serão apresentadas a seguir é necessário compreender o conceito de dependência funcional. A dependência funcional identifica o relacionamento dos atributos que não fazem parte da chave com as mesmas. Dependência Funcional Parcial – ocorre quando os atributos dependem apenas de parte de uma chave primária composta. Dependência Funcional Transitiva – ocorre quando os atributos, além de depender da chave primária da tabela, depende de outros atributos ou conjunto de atributos. Dependência Funcional Multivalorada – ocorre quando os atributos que compõem a chave primária dependem multivaloradamente deles mesmos.

Passagem à segunda forma normal A passagem à segunda forma normal (2FN) objetiva eliminar um certo tipo de redundância de dados. Uma tabela está em 2FN se e somente se estiver em 1FN e todo atributo não primo (isto é, que não seja membro de uma chave) for totalmente dependente da chave primária. Desta forma se elimina os grupos com dependência funcional parcial, separando eles para outra tabela. Nesta nova tabela, além dos atributos que possuem dependência parcial, levamos a chave de que eles dependem.

Passagem à segunda forma normal Tabela 1 Matrícula do Aluno Nome do Aluno Endereço do Aluno Telefone do Aluno Data Nasc. do Aluno Filiação do Aluno Observação do Aluno Tabela 2 Sigla da Matéria Nota 1º Bimestre da Matéria Nota 2º Bimestre da Matéria Média da Matéria Professor da Matéria Matrícula do Professor Nome do Professor Endereço do Professor Telefone do Professor Data Nasc. do Professor Formação Acad. do Professor Tabela 3 Código do Curso Conceito do Curso Professor do Curso Tabela 4 Nome da Matéria Conteúdo da Matéria Carga Horária da Matéria Coordenador da Matéria Tabela 5 Nome do Curso Conteúdo do Curso Carga Horária do Curso

Passagem à terceira forma normal Na passagem à terceira forma normal, elimina-se um outro tipo de redundância. Uma tabela está em 3FN se e somente se estiver em 2FN e nenhum atributo não primo (isto é, que não seja membro de uma chave) for somente dependente da chave primária. Desta forma se elimina os grupos com dependência funcional transitiva, separando eles para outra tabela ou eliminando quando for resultado de cálculo. Ao separar para uma nova tabela se cria na tabela original uma chave para a ligação (chave externa).

Passagem à terceira forma normal Tabela 1 - Aluno Matrícula do Aluno Nome do Aluno Endereço do Aluno Telefone do Aluno Data Nasc. do Aluno Filiação do Aluno Observação do Aluno Tabela 2 - Notas Sigla da Matéria Nota 1º Bimestre da Matéria Nota 2º Bimestre da Matéria Média da Matéria Matrícula do Professor Tabela 3 - Conceito Código do Curso Conceito do Curso Tabela 4 - Matéria Nome da Matéria Conteúdo da Matéria Carga Horária da Matéria Coordenador da Matéria Tabela 5 - Curso Nome do Curso Conteúdo do Curso Carga Horária do Curso Tabela 6 - Professor Nome do Professor Endereço do Professor Telefone do Professor Data Nasc. do Professor Formação Acad. do Professor

Passagem à quarta forma normal Para a maioria dos documentos e arquivos, a decomposição até a 3FN é suficiente para obter o esquema de um banco de dados correspondente ao documento. Na literatura aparecem outras formas normais, como a forma normal de Boyce/Codd, a 4FN e a 5FN. Destas a única que tem importância na prática da engenharia reversa é a quarta forma normal (4FN). Uma tabela está em 4FN se e somente se estiver em 3FN e não contém dependências funcionais multivaloradas. No exemplo acima não ocorre o tipo de redundância que levaria a 4FN.

Problemas da normalização Em arquivos convencionais, o conceito de chave primária não é obrigatório, como ocorre na abordagem relacional. Assim, é possível encontrar arquivos que não possuem chave primária. Quando um arquivo convencional não possuem chave primária ou quando a chave primária nele usada difere da usual na organização, deve-se proceder como se a chave primária aparecesse no arquivo, isto é, deve-se inseri-la na forma ÑN. Se a normalização for executada diretamente sobre o arquivo convencional, apareceriam tabelas espúrias, com chaves primárias diferentes das usadas para as entidades representadas. Assim tão logo esta situação seja detectada, deve-se introduzir, já na forma ÑN, a chave primária usual da tabela, como se ela aparecesse no arquivo normalizado.

Problemas da normalização Atributos podem aparecer em arquivos convencionais de forma implícita, na forma de ordenação de registros ou de listas, na forma de ponteiros físicos, etc. Quando esta situação ocorrer, deve-se proceder como se o atributo aparecesse explicitamente no documento. Um exemplo é o da ordenação de registros ou elementos de listas, onde a própria ordem é uma informação relevante. Arquivos convencionais podem conter atributos que não são relevantes do ponto de vista conceitual e que existem no arquivo por questões técnicas ou de performance da implementação em questão. Exemplos deste tipo de atributos são campos com o número de ocorrências de listas, com o tamanho de outros campos, com estampas de tempo, etc. Este campos devem ser eliminados já quando da passagem a forma não normalizada.

Integração de Modelos A normalização de cada um dos arquivos ou documentos de um sistema conduz à definição de um conjunto de tabelas. O passo seguinte da engenharia reversa é o de integrar os modelos obtidos para cada arquivo no modelo global do banco de dados. Esse processo é conhecido na literatura de banco de dados por integração de visões ou integração de esquemas. Esse processo tem dois objetivos: Os atributos de uma mesma entidade (ou de um mesmo relacionamento) podem estar armazenados em diferentes arquivos. Após o processo de normalização, estes atributos aparecem como colunas em diferentes tabelas. O processo de integração de visões objetiva juntar estas tabelas em uma única tabela que representa a entidade ou relacionamento em questão.

Integração de Modelos O processo de normalização garante que cada tabela, se considerada isoladamente, esteja livre de redundâncias de dados. Entretanto, certos casos de redundâncias de dados entre tabelas podem ainda permanecer e devem ser eliminados durante o processo de integração de visões. O processo de integração dá–se em três passos: (1) integração de tabelas com a mesma chave; (2) integração de tabelas com chave contida; (3) verificação de 3FN.

Integração de tabelas com a mesma chave O processo de integração de modelos inicia pela junção de tabelas que possuem a mesma chave primária. Aqui quando falamos de mesma chave primária estamos exigindo que os domínios e os conteúdos das colunas que compõem a chave primária sejam iguais. Quando isso ocorrer, as diferentes tabelas devem ser juntadas em uma única tabela no modelo global. Integração de tabelas com chaves contidas Uma outra situação na qual tabelas são fundidas é aquela na qual uma tabela contém somente a chave primária e a chave primária é subconjunto da chave primária de outra tabela. Note que, novamente, quando falamos de uma chave primária estar contida dentro da outra, estamos exigindo que a chave primária tenha o mesmo domínio e os mesmos valores.

Volta à 2FN Construção do modelo ER e Eliminação de Redundâncias A integração de dois modelos, que caso considerados isoladamente estão na 4FN, pode conduzir a um modelo que está na 2FN mas não na 3FN. Deve-se após a integração de modelos, verificar as tabelas, afim de garantir que todas estejam efetivamente na 3FN. Construção do modelo ER e Eliminação de Redundâncias Após a integração dos modelos obtidos a partir dos diversos arquivos e documentos normalizados, segue a construção do modelo ER. Nesta construção usam-se as regras apresentadas no capítulo anterior para transformações de modelos relacionais em modelos ER.

Construção do modelo ER - Limitações da Normalização O processo de normalização não conduz necessariamente a um modelo ER perfeito. A normalização apenas elimina campos multivalorados e elimina redundâncias de dados detectadas pelas formas normais descritas. Além das formas normais aqui descritas, outras foram propostas na literatura, como a forma normal de Boyce/Codd e a quinta forma normal. Como estas formas normais tratam de casos que aparecem pouco freqüentemente na prática, não apresentamos neste texto. Assim, o último passo da engenharia reversa é a verificação do modelo ER obtido, procurando corrigir imperfeições ainda existentes.