Professional Documents
Culture Documents
Engenharia Reversa
e
Normalizao
Banco de Dados I
Prof. Edson Thizon
Engenharia reversa de
modelos relacionais
Engenharia
reversa
Engenharia Reversa
Modelo ER
(conceitual)
Engenharia
Reversa de
BD Relacional
Ciclo de
Re-engenharia
De BD
Modelo Relacional
(lgico)
Projeto lgico de
BD relacional
Engenharia reversa de
modelo relacional
Passos:
Identificao da construo ER
correspondente a cada tabela
Definio de relacionamentos 1:M e 1:1
Definio de atributos
Definio de identificadores de entidades e
relacionamentos
Esquema relacional
para engenharia reversa
Disciplina (CodDisc, NomeDisc)
Curso(CodCur, NomeCur)
Curriculo(Codcur,CodDisc)
CodCur referencia Curso
CodDisc referencia Disciplina
Sala (CodPred, CodSal, Capacidade)
CodPred referencia Predio
Predio(CodPred, endereco)
Turma(AnoSeme, CodDisc, SiglaTur, Capacidade, CodPred, CodSal)
CodDisc referencia Disciplina
(CodPred,CodSal) referencia Sala
Laboratorio(CodPred, CodSal, Equipamento)
(CodPred,CodSal) referencia Sala
Identificao da construo ER
correspondente a cada tabela
Fator determinante:
composio da sua chave primria
Construo ER
correspondente
Relacionamento M:M
Construes identificadas
Disciplina (CodDisc, NomeDisc) entidade
Curso(CodCur, NomeCur) entidade
Curriculo(Codcur,CodDisc) relacionamento M:M
CodCur referencia Curso
CodDisc referencia Disciplina
Sala (CodPred, CodSal, Capacidade) entidade
CodPred referencia Predio
Predio(CodPred, endereco) entidade
Turma(AnoSeme, CodDisc, SiglaTur, Capacidade, CodPred, CodSal) entidade
CodDisc referencia Disciplina
(CodPred,CodSal) referencia Sala
Laboratorio(CodPred, CodSal, Equipamento) especializao
(CodPred,CodSal) referencia Sala
Construes identificadas
Identificao de
relacionamentos 1:M ou 1:1
Identificao de
relacionamentos 1:M ou 1:1
Disciplina (CodDisc, NomeDisc)
Chaves
Curso(CodCur, NomeCur)
estrangeiras
Curriculo(Codcur,CodDisc)
esto indicadas
CodCur referencia Curso
em vermelho
CodDisc referencia Disciplina
Sala (CodPred, CodSal, Capacidade)
CodPred referencia Predio
Predio(CodPred, endereco)
Turma(AnoSeme, CodDisc, SiglaTur, Capacidade, CodPred, CodSal)
CodDisc referencia Disciplina
(CodPred,CodSal) referencia Sala
Laboratorio(CodPred, CodSal, Equipamento)
(CodPred,CodSal) referencia Sala
Identificao de
relacionamentos 1:M ou 1:1
Definio de atributos
Definio de atributos
Definio de identificadores
de entidades
Definio de identificadores
de entidades
Exerccios
Engenharia reversa de
arquivos e documentos
Engenharia reversa de
arquivos e documentos
Modelo ER
(conceitual)
Engenharia
Reversa de
BD Relacional
Modelo Relacional
(lgico)
Esquema de arquivo
Convencional ou
documento
Engenharia
Reversa de
Arquivos
convencionais
Engenharia reversa de
arquivos e normalizao
Entrada:
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
Sistemas legados
Raramente documentados
Necessidade de modelo ER
Manuteno
Migrao para outro tipo de BD
Integrao com outro BD
Normalizao - Objetivo
Normalizao - passos
1.
2.
3.
4.
5.
6.
7.
Documento - Exemplo
Representao na forma de
tabela no normalizada
Tabela no normalizada ou
Tabela no-primeira-forma-normal
possui uma ou mais tabelas aninhadas
Tabela aninhada(ou grupo repetido ou coluna
multi-valorada ou coluna no atmica)
coluna que ao invs de conter valores atmicos,
contm tabelas aninhadas
Abreviatura: N
Tabela N Esquema
Proj(CodProj, Tipo, Descricao,
(CodEmp, Nome, Cat, Sal, Dataini, TempoAl))
Representao em esquema
no normalizada
Forma normal
Passagem 1FN
decomposio em tabelas
N
Arq-candidato(CodCurso,NomeCurso,NumeroVagasCurso,
(CodCand,NomeCand,EscoreCand))
1FN
cursos(CodCurso,NomeCurso,NumeroVagasCurso)
candidatos(CoCurso,CodCand, NomeCand, EscoreCand)
Qual a chave primria desta tabela?
Pergunta a fazer:
um valor de CodCand(chave da tabela origem) aparece
uma s vez no documento ou vrias?
Dependncia funcional
Dependncia funcional
inexistente na tabela:
A=>B
Dependncia funcional
existente na tabela:
A=>D
Dependncia parcial
dependncia parcial
=
uma dependncia (funcional) parcial ocorre
quando uma coluna depende apenas da
parte de uma chave primria composta
Dependncias parciais
1FN
Passagem 2FN
Passagem 2FN
Tambm
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
1FN
2FN
Tabelas na 2FN
Tabelas na 2FN
Considerar
Salrio (coluna sal) determinado pela
categoria funcional (coluna cat)
Dependncia transitiva
Normalizao 3FN
Tabelas na 3FN
Tabelas na 3FN
Passagem 4FN
Dependncia multivaloradas
Tabelas na 4FN
Problemas da normalizao
Arquivos convencionais
o conceito de chave primria no obrigatrio
possvel encontrar arquivos que no possuem
chave primria
Outra situao
uso de uma chave alternativa, ao invs da
chave primria usual do arquivo
Atributos relevantes
implicitamente representados
Exemplo
arquivo contm registros referentes a cursos
em um concurso vestibular
para cada curso, h um grupo repetido
aninhado, com as informaes dos
candidatos ao curso em questo
Informaes dos candidatos ordenadas por
classificao no concurso
4FN
cursos(CodCurso,NomeCurso,NumeroVagasCurso)
candidatos(CoCurso,CodCand, NomeCand)
N
Arq-candidato(CodCurso,NomeCurso,NumeroVagasCurso,
(CodCand,NomeCand, OrdemCand))
Atributos irrelevantes,
redundantes ou derivados
Integrao de modelos
Passo seguinte
integrar os modelos obtidos para cada arquivo
no modelo global do bando de dados
Construo do modelo ER e
eliminao de redundncias
Verificao do modelo ER
limitaes da normalizao
Verificao do modelo ER
limitaes de normalizao
Construo do modelo ER
Referncia Bibliogrfica