Post on 12-Jul-2015
Aula VII Engenharia Reversa de Arquivos e Normalizao
Engenharia Reversa de Arquivos e Documentos
Engenharia Reversa de BD Relacional
Engenharia reversa de arquivos e normalizao Entrada do processo: qualquer conjunto de dados para os quais se disponha de uma descrio: documentos, arquivos manuais, arquivos convencionais em computador, bancos de dados gerenciados por SGBD no relacional
Engenharia reversa de arquivos e normalizao-motivao Sistemas legados: Raramente documentados; Necessidade de modelo ER: Manuteno, Migrao para outro tipo de BD, Integrao com outros BDs.
Engenharia reversa passo #1 Normalizao: Processo que transforma um esquema de dados qualquer em um modelo relacional.
Engenharia reversa - processo Normalizao executada para todos esquemas de documentos disponveis.
Engenharia reversa - integrao Normalizao executada para todos esquemas de documentos disponveis.
Normalizao Objetivo Reagrupar informaes para: eliminar redundncias de dados. Reagrupar informaes para: eliminar estruturas inexistentes no modelo ER (atributos multivalorados).
Normalizao passos
Documento exemplo para normalizao
Normalizao passo #1
Tabela no normalizada Tabela no-normalizada ou tabela noprimeira-forma-normal: possui uma ou mais tabelas aninhadas
Tabela no normalizada Abreviatura: N
Tabela aninhada
Tabela N Esquema
Representao em esquema no normalizado Nenhuma transformao feita no modelo do documento. Apenas usada outra notao. Notao independe do tipo de documento/arquivo usado como entrada do processo de normalizao
Forma normal Regra que uma tabela deve obedecer para ser considerada bem projetada. H diversas formas normais, cada vez mais rgidas, para verificar tabelas relacionais. Aqui tratadas: primeira forma normal (1FN), segunda forma normal (2FN), terceira forma normal (3FN), quarta forma normal (4FN).
Passagem a 1FN
Primeira forma normal (1FN)
Passagem 1FN - alternativas Para chegar a 1FN h duas alternativas: 1. Construir uma nica tabela com redundncia de dados. 2. Construir uma tabela para cada tabela aninhada.
Passagem 1FN alternativa #1 Uma tabela na qual os dados das linhas externas tabela aninhada so repetidos para cada linha da tabela aninhada.
Dados do projeto aparecem repetidos para cadaempregado do projeto.
Passagem 1FN -alternativa #2 Cria-se: 1. uma tabela referente a prpria tabela que est sendo normalizada e 2. uma tabela para cada tabela aninhada
Passagem 1FN - alternativas Primeira alternativa (tabela nica) pode ser a primeira opo de escolha. Quando houver diversas tabelas aninhadas, eventualmente com diversos nveis de aninhamento, fica difcil visualizar a tabela na 1FN na alternativa de tabela nica. Assim, a preferncia pode ser a segunda alternativa (decomposio de tabelas)
Passagem 1FN passo #11. Criar uma tabela na 1FN referente a tabela no normalizada. A chave primria da tabela na 1FN idntica a chave da tabela N .
Passagem 1FN criar tabela referente a tabela externa
Passagem 1FN passo #22. Para cada tabela aninhada: criar uma tabela composta pelas seguintes colunas: a) a chave primria de cada uma das tabelas na qual a tabela em questo est aninhada; b) as colunas da prpria tabela aninhada.
Passagem 1FN criar tabelas referentes a tabela aninhada
Passagem 1FN - passo #33. Definir, na 1FN, as chaves primrias das tabelas que correspondem a tabelas aninhadas.
Passagem 1FN tabelas aninhadas definio de chave primria
Passagem 1FN tabelas aninhadas definio de chave primria
Documento exemplo para normalizao
Passagem 1FN tabelas aninhadas definio de chave primria
Passagem 1FN tabelas aninhadas definio de chave primria
Passagem 1FN - exemplo
Passagem 1FN outro exemplo
Passagem 1FN decomposio em tabelas
Passagem 1FN decomposio em tabelas
Passagem 1FN definio da chave primria
Passagem 1FN definio da chave primria
Passagem s 2FN e 3FN
Dependncia funcionalPara entender 2FN e 3FN: necessrio compreender o conceito de dependncia funcional
Exemplo de dependncia funcional
Dependncias funcionais - exemplos
Dependncias funcionais - exemplos
Passagem s 2FN e 3FN
Segunda forma normal - 2FN Objetiva eliminar um certo tipo de redundncia de dados. Exemplo:
Dados referentes a empregados (Nome, Cat e Sal) so redundantes, para os empregados que trabalham em mais de um projeto.
Dados redundantes na 1FN
Segunda forma normal - 2FN
Dependncia funcional parcial
Dependncias parciais
Dependncias no parciais
Passagem 2FN Tabela 1FN e que possui apenas uma coluna como chave primria: No contm dependncias parciais. impossvel uma coluna depender de uma parte da chave primria, quando a chave primria no composta por partes. Concluso: Toda tabela 1FN que possui apenas uma coluna como chave primria j est na 2FN.
Passagem 2FN Tabela com uma nica coluna na chave
Passagem 2FN Idem para: Tabela que contenha apenas colunas chave primria: Impossvel atributo no chave depender de parte da chave (tabela no tem colunas no chave).
Tabela sem colunas no chave j est na 2FN.
Passagem 2FN
Passagem 2FN
Passagem 2FN
Passagem 2FN
Passagem 2FN
2FN resultante
Tabelas na 2FN - exemplo
Tabelas na 2FN - exemplo
Exerccio Considere o esquema relacional abaixo: ItemVenda (NumeroNF, NumProd, DescricaoProd, DataVenda, CodReg, CodEmp, QtdeItem, PrecoItem, NomeEmp) O significado das colunas acima a seguinte: NumeroNF Nmero da nota fiscal NumProd Cdigo do produto DescricaoProd Descrio do produto DataVenda Data da venda CodReg Registradora onde ocorreu a venda CodEmp Cdigo do empregado QtdeItem Quantidade do pedido do produto PrecoItem Preo do item NomeEmp Nome do empregado
Normalize a tabela acima at 2a Forma Normal.
Exerccio No contexto de um sistema de controle acadmico, considere a tabela abaixo: Matricula (CodAluno, CodTurma, CodDisciplina, NomeDisciplina, NomeAluno, CodLocalNascAluno, NomeLocalNascAluno) O significado das colunas acima a seguinte: CodAluno Cdigo do aluno matriculado CodTurma Cdigo da turma na qual o aluno est matriculado (Cdigo o identificador de turma) CodDisciplina Cdigo que identifica a disciplina da turma NomeDisciplina Nome de uma disciplina da turma NomeAluno Nome do aluno matriculado CodLocalNascAluno Cdigo da localidade em que nasceu o aluno NomeLocalNascAluno Nome da Localidade em que nasceu o aluno
Normalize a tabela acima at 2a Forma Normal.
Passagem 3FN