Escolar Documentos
Profissional Documentos
Cultura Documentos
Conceito
y A Engenharia Reversa o processo de descobrir os princpios tecnolgicos de um dispositivo/objeto ou de um sistema com a anlise de suas estrutura, funo e operao. y Diretamente falando a Engenharia Reversa geralmente a arte de desmontar para saber como funciona.
Aplicao
y A Engenharia reversa consiste em usar a criatividade para, a partir de uma soluo pronta, retirar todos os possveis conceitos novos ali empregados. y o processo de anlise de um artefato (um aparelho, um componente eltrico, um programa de computador, etc.) e dos detalhes de seu funcionamento, geralmente com a inteno de construir um novo aparelho ou programa que faa a mesma coisa, sem realmente copiar alguma coisa do original. y Objetivamente a engenharia reversa consiste em, por exemplo, desmontar uma mquina para descobrir como ela funciona.
Exemplo
JerryCan(Latas Jerry)
y Criado
na
e americanas
Exemplo
y Enquanto a Apple no divulga oficialmente as especificaes de
hardware do iPhone, entusiastas do novo telefone examinam o hardware atravs de tcnicas de engenharia reversa, para descobrir suas especificaes e caractersticas.
Fonte: http://www.pdaexpert.net/noticias/computacao-movel/especificacoes-de-hardware-do-iphone-descobertas/
Engenharia Reversa
y AEngenhariaReversautilizaoprocessode normalizaoparaosobjetivosseguintes: Reagruparinformaesdeformaaeliminar redundnciasdedadosquepossamexistirnos arquivos; Reagruparinformaesdeumaformaquepermitaa obtenodeummodeloER.
Normalizao
y Conjunto deregras que ajudam na definio debancos de dadosque no contenham redundncia desnecessria e que permitam ofcil acesso s informaes y H diferentes nveis denormalizao,deacordo comas condies atendidas y Ahierarquia entre asformas normais indica que uma tabela s pode estar numa formamais avanada se,alm deatender ascondies necessrias,j estiver na forma normalimediatamente anterior y (Ex:s pode estar em 2FNsej estiver em 1FN)
Normalizao
y Afinalidade dasregras denormalizao evitar anomalias deatualizao nobanco dedados y Anomalias deinsero
y
Evitar arepetio desnecessria dedados(redundncia) Evitar inconsistncias ereduzir oesforo para aatualizao dos dados Evitar aperda deinformaes associadas aumdadoregistro
Anomalias dealterao
y
Anomalias deexcluso
y
Exemplo deAnomalias
y Considere uma nica tabela Vendas para representar asinformaes sobre os negcios deuma loja deCDs:
COD_CD 215621
PRECO R$ 20,00
DATA_COMPRA 21/08/2008
...
Juliano Moreira
...
878650
...
Corcovado
...
Tom Jobim
...
R$ 25,00
...
10/06/2008
Exemplo deAnomalias
y Caso fosse preciso registrar a compra de 5 CDs iguais para um mesmo cliente, as seguintes anomalias seriam observadas: y Anomalia de insero
y
Redundncia em todas as colunas (5 linhas iguais na tabela) A mudana no preo do CD deveria ser feita em todas as linhas correspondentes da tabela S haveria registro dos CDs que fossem comprados; se a nica venda de um CD fosse apagada, no haveria mais informaes sobre aquele CD
y Anomalia de alterao
y
y Anomalia de excluso
y
Dependnciatransitiva
y Dependncia Funcional Transitiva
Um atributo A tem dependncia funcional transitiva da chave primria, se ele possui dependncia funcional em relao a um atributo B que possua dependncia funcional dessa chave.
Ex: Entidade PEDIDO endereo, telefone e nome do vendedor so dependentes transitivos de cdigo do pedido.
Primeira FormaNormal(1FN)
y Conceito: Uma varivel de relao (tabela) est em 1FN se, e somente se, em todo valor vlido dessa varivel de relao, cada tupla contm exatamente um valor para cada atributo; y Os atributos devem ser atmicos (indivisveis), no podem conter tabelas aninhadas; y Atributos compostos ou multivalorados devem ser representados por novas linhas ou novas tabelas.
Exemplo 1FN
y Exemplo:Tabela Controle deFaltas numa Escola y Atabela abaixo no est na 1FN
COD_TURMA BD1032 ALUNO Alice Luna Juliano Camargo Mrcio Andrade PROFESSOR Bruno Pereira SALA 101 CAPACIDADE 50 QTE_FALTAS 02 00 04
...
...
...
...
...
Soluo
y Construir uma nica tabela com redundncia de dados
Cria-se uma tabela na qual os dados das linhas externas tabela aninhada so repetidos para cada linha da tabela aninhada.
Exemplo 1FN
y Atabela abaixo est na 1FN(atributos atmicos)
COD_TURMA BD1032 BD1032 BD1032 ALUNO Alice Luna Juliano Camargo Mrcio Andrade PROFESSOR Bruno Pereira Bruno Pereira Bruno Pereira SALA 101 101 101 CAPACIDADE 50 50 50 QTE_FALTAS 02 00 04
...
...
...
...
...
...
Obteno da 1FN
y Os atributos no contm valores nulos
Do ponto de vista prtico, no h restries quanto existncia de valores nulos em coluna de uma tabela. Valores nulos desconhecidos so comuns, porm valores nulos inaplicveis podem indicar irregularidades no modelo conceitual e talvez meream tabelas distintas, gerando uma especializao.
Obteno da 1FN
y Passos para obteno da 1FN em uma tabela
1. Escolher a chave primria definir as chaves candidatas da tabela. 2. Transformar os atributos compostos em atmicos. 3. Eliminar os atributos multivalorados, gerando uma tabela para cada um dos conjuntos de itens repetitivos. A chave primria de cada tabela ser a concatenao da chave da tabela original com um atributo da nova tabela que identifique cada linha de forma nica. Cada item repetitivo dar origem a uma linha nesta nova tabela. y O prximo passo observar se ela est tambm na 2FN
Exemplo 2FN
y A tabela abaixo est na 1FN mas no est na 2FN y Considere a chave composta (Cod_Turma, Nome)
COD_TURMA BD1032 BD1032 BD1032 ALUNO Alice Luna Juliano Camargo Mrcio Andrade PROFESSOR Bruno Pereira Bruno Pereira Bruno Pereira SALA 101 101 101 CAPACIDADE 50 50 50 QTE_FALTAS 02 00 04
...
...
...
...
...
...
y Os atributos Professor, Sala e Capacidade dependem apenas de Cod_Turma (repetio para todos os alunos da turma)
Exemplo 2FN
y Astabelas abaixo esto em 2FN
COD_TURMA BD1032 BD1032 BD1032 ALUNO Alice Luna Juliano Camargo Mrcio Andrade QTE_FALTAS 02 00 04
...
COD_TURMA BD1032 LG1512 JV8796
...
PROFESSOR Bruno Pereira Marina Lucena Ana Barbosa SALA 101 101 101
...
CAPACIDADE 50 50 50
...
...
...
...
tabela. y 2) Para cada uma das colunas identificadas, analisar se existe dependncia parcial da chave primria. Para identificar a dependncia parcial de uma coluna em relao chave, deve-se indagar: Para que o valor da coluna seja determinado, quais as partes da chave que devem ser conhecidas? y 3) Para as colunas dependentes parcialmente da chave: Criar novas tabelas que herdaro a chave parcial e todos os atributos que dependem dessa chave parcial. Essa chave parcial ser a chave primria da tabela. Excluir da tabela original todas as colunas com dependncia parcial da chave.
Obteno da 2FN
y Passos para obteno da 2FNem uma tabela y Deixlaem 1FN y Identificar os atributos que no fazem parteda chave primria da tabela y Paracada umdesses atributos,analisar seseu valor determinado por parteou pela totalidade da chave y Criar novastabelas para os atributos parcialmente dependentes,incluindo aparteda chave correspondente,eretirlosda tabela original
Terceira FormaNormal(3FN)
y Conceito 1:uma varivel derelao est em 3FNse,e somente se,ela est em 2FNetodo atributo nochave dependente deformano transitiva da chave primria y Conceito 2:uma varivel derelao est em 3FNse,e somente se,ela est em 2FNetodo atributo nochave depende apenas da chave,eno deoutros atributos no chave y Dica:tabelas em 2FNecomnenhum ou umatributo alm da chave esto automaticamente em 3FN
Exemplo 3FN
y Atabela abaixo est em 2FN,mas no est em 3FN
COD_TURMA BD1032 LG1512 JV8796 PROFESSOR Bruno Pereira Marina Lucena Ana Barbosa SALA 101 101 101 CAPACIDADE 50 50 50
...
...
...
...
tabela. y 2) Para cada uma das colunas identificadas, analisar se existe dependncia transitiva da chave primria.
Para identificar a dependncia transitiva de uma coluna deve-se indagar: Qual outra coluna no pertencente chave poderia determinar o valor da coluna em anlise?
Obteno da 3FN
y Passos para obteno da 3FNem uma tabela y Deixlaem 2FN y Identificar os atributos que no participam da chave primria da tabela y Paracada umdesses atributos,analisar seseu valor determinado por algum outro atributo no pertencente chave primria y Criar novastabelas para os atributos que no dependem exclusivamente da chave,incluindo oatributo determinante correspondente,eretirlosda tabela original
Exemplo 3FN
y Astabelas abaixo esto em 3FN
COD_TURMA BD1032 BD1032 BD1032 ALUNO Alice Luna Juliano Camargo Mrcio Andrade QTE_FALTAS 02 00 04
...
COD_TURMA BD1032 LG1512 JV8796 PROFESSOR Bruno Pereira Marina Lucena Ana Barbosa SALA 101 101 101
...
...
SALA 101 201 301 CAPACIDADE 50 40 50
...
...
...
...
...
Observao
y Aumentar onvel denormalizao contribui para melhorar aqualidade doprojeto dobanco dedados y Geralmentenormalizamosat a3FN.
Exerccio
y Atabela abaixo representa asvendas numa loja deCDs. Considerando asformas normais vistas(1FN,2FNe3FN), indicar quais so atendidas pelo projeto.Caso alguma delas no seja atendida,identifique oproblema eproponha asmudanas necessrias.
Chave composta CLIENTE COD_CD 215621 Alice Nbrega 878650 Tom Jobim
TABELA VENDAS
CANTOR Marisa Monte MUSICA Beija Eu Chocolate Corcovado Sabi DURACAO 2:20 3:05 2:50 2:10 PRECO R$ 20,00 21/03/2003 R$ 25,00 DATA_COMPRA
...
...
...
...
...
...
...
Soluo 1FN
y Atabela Vendas no est na 1FN,pois h vrios atributos no atmicos y Paradeixlaem 1FN, preciso dividir esses atributos em linhas
TABELA VENDAS
CLIENTE Alice Nbrega Alice Nbrega Alice Nbrega Alice Nbrega COD_CD 215621 215621 878650 878650 CANTOR Marisa Monte Marisa Monte Tom Jobim Tom Jobim MUSICA Beija Eu Chocolate Corcovado Sabi DURACAO 2:20 3:05 2:50 2:10 PRECO R$ 20,00 R$ 20,00 R$ 25,00 R$ 25,00 DATA_COMPRA 21/03/2003 21/03/2003 21/03/2003 21/03/2003
...
...
...
...
...
...
...
Soluo 2FN
y Atabela Vendas no est na 2FN,pois h atributos que dependem apenas departeda chave primria composta y Paradeixlaem 2FN, preciso criar uma novatabela
CLIENTE COD_CD 215621 878650 DATA_COMPRA 21/03/2003 21/03/2003
TABELA VENDAS
...
COD_CD CANTOR Marisa Monte Marisa Monte Tom Jobim Tom Jobim 215621 215621 878650 878650
...
MUSICA Beija Eu Chocolate Corcovado Sabi
...
DURACAO 2:20 3:05 2:50 2:10 PRECO R$ 20,00 R$ 20,00 R$ 25,00 R$ 25,00
TABELA CDs
Soluo 3FN
y Atabela CDsno est na 3FN,pois h atributos que dependem deatributos nochave y Paradeixlaem 3FN, preciso criar uma novatabela
TABELA CDs
COD_CD 215621 215621 878650 878650 CANTOR Marisa Monte Marisa Monte Tom Jobim Tom Jobim MUSICA Beija Eu Chocolate Corcovado Sabi PRECO R$ 20,00 R$ 20,00 R$ 25,00 R$ 25,00
TABELA MUSICAS
MUSICA Beija Eu Chocolate Corcovado Sabi DURACAO 2:20 3:05 2:50 2:10
Observao
y Veja que astabelas Vendas,CDseMusicas j esto em 3FN,mas ainda apresentam algumas redundncias desnecessrias y Cliente eData_Compra na tabela Vendas y Cod_CD,CantorePreco na tabela CDs y Pararesolveresses problemas,seria necessrio aplicar outras formas normais
Exerccio
y Atabela abaixo representa os pedidos deprodutos desoftware para uma loja eno obedece nenhuma dasformas normais vistas(1FN,2FNe3FN).Indique os passos para deixlaem cada uma dessas formas normais.
TABELA PEDIDOS
NUM_PEDIDO DATA FORNECEDOR CNPJ ENDERECO COD_PRODUTO NOME QUANT PRECO
003 004
20/01/03 27/01/03
CasaSoftware BrasilSoftware
8888 5555
04 01 13 02 10 50
...
...
...
...
...
...
...
...
...
Soluo 1FN
y Paradeixar atabela em 1FN, preciso dividir os atributos no atmicos em linhas y Achave da tabela composta por Num_Pedido eCod_Produto
TABELA PEDIDOS
NUM_PEDIDO DATA FORNECEDOR CNPJ ENDERECO COD_PRODUTO NOME QUANT PRECO
04 01 13 02 10 50
...
...
...
...
...
...
...
...
...
Soluo 2FN
y Paradeixar atabela em 2FN, preciso criar novas tabelas para os atributos que dependem apenas de parteda chave primria composta y Data,Fornecedor,CNPJeEndereco dependem apenas deNum_Pedido y Nomedepende apenas deCod_Produto y Quantidade ePreco dependem da chave composta
TABELA PEDIDOS
NUM_PEDIDO COD_PRODUTO QUANT PRECO
TABELA PRODUTOS
COD_PRODUTO NOME
04 01 13 02 10 50
TABELA DADOS_PEDIDOS
NUM_PEDIDO DATA FORNECEDOR CNPJ ENDERECO
003 004
20/01/03 27/01/03
CasaSoftware BrasilSoftware
8888 5555
Soluo 3FN
y Paradeixar astabelas em 3FN, preciso criar novas tabelas para os atributos dependentes deatributos nochave y CNPJeEndereco dependem deFornecedor
TABELA PEDIDOS
NUM_PEDIDO COD_PRODUTO QUANT PRECO
TABELA PRODUTOS
COD_PRODUTO NOME
04 01 13 02 10 50
TABELA DADOS_PEDIDOS
NUM_PEDIDO DATA CNPJ
TABELA FORNECEDORES
CNPJ FORNECEDOR ENDERECO
003 004
20/01/03 27/01/03
8888 5555
8888 5555
CasaSoftware BrasilSoftware