Anda di halaman 1dari 10

4 - 1 Copyright 2003 - Nilton Freire Santos Engenharia Reversa

Engenhari a
Reversa
Engenhari a
Engenhari a
Reversa
Reversa
Cap tul o 4 Cap tul o 4
A
R2
C
R1 B
R3
D
4 - 2 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
Engenharia Reversa Engenharia Reversa
! um processo que visa analisar as tabelas de um banco de
dados j implementado e obter, a partir desta anlise, o
diagrama Entidade-Relacionamento do sistema.
! Parte de um modelo relacional (esquema lgico - tabelas).
! Resulta em um modelo E-R (esquema conceitual).
! um processo inverso ao do projeto lgico.
! Pode ser bastante til quando:
o banco de dados foi criado de forma emprica;
o esquema do banco de dados sofreu modificaes que
no foram registradas no modelo conceitual.
! um processo que visa analisar as tabelas de um banco de
dados j implementado e obter, a partir desta anlise, o
diagrama Entidade-Relacionamento do sistema.
! Parte de um modelo relacional (esquema lgico - tabelas).
! Resulta em um modelo E-R (esquema conceitual).
! um processo inverso ao do projeto lgico.
! Pode ser bastante til quando:
o banco de dados foi criado de forma emprica;
o esquema do banco de dados sofreu modificaes que
no foram registradas no modelo conceitual.
! Caractersticas:
4 - 3 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
Modelo E-R
(conceitual)
Engenharia
reversa de
BD relacional
Modelo Relacional
(lgico)
Projeto lgico
de
BD relacional
R
E
G
R
A
S
Engenharia Reversa Engenharia Reversa
4 - 4 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R correspondente a cada
tabela.
! Definio da cardinalidade de cada relacionamento.
! Definio dos atributos de cada entidade e relacionamento.
! Definio de identificadores de cada entidade.
! Identificao da construo E-R correspondente a cada
tabela.
! Definio da cardinalidade de cada relacionamento.
! Definio dos atributos de cada entidade e relacionamento.
! Definio de identificadores de cada entidade.
! Passos a serem seguidos:
Engenharia Reversa Engenharia Reversa
4 - 5 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Uma tabela pode corresponder a uma entidade ou a um
relacionamento.
! Os fatores determinantes para a identificao so:
a composio de sua chave primria;
a posio da(s) chave(s) estrangeira(s) dentro da tabela.
! Uma tabela pode corresponder a uma entidade ou a um
relacionamento.
! Os fatores determinantes para a identificao so:
a composio de sua chave primria;
a posio da(s) chave(s) estrangeira(s) dentro da tabela.
! Identificao da construo E-R para cada tabela:
Engenharia Reversa Engenharia Reversa
4 - 6 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #1: A tabela possui a chave primria formada por
atributos prprios e no possui chave estrangeira.
! Corresponde a:
! Entidade que cede chave estrangeira em um
relacionamento 1:1 ou 1:N.
! Entidade participante de um relacionamento N:N.
! Tipo #1: A tabela possui a chave primria formada por
atributos prprios e no possui chave estrangeira.
! Corresponde a:
! Entidade que cede chave estrangeira em um
relacionamento 1:1 ou 1:N.
! Entidade participante de um relacionamento N:N.
A (a1, a2, a3)
1 1
A R B
1 N
N N
Engenharia Reversa Engenharia Reversa
4 - 7 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #2: A tabela possui a chave primria formada por
atributos prprios e possui chave estrangeira.
! Corresponde a:
! Entidade que recebe chave estrangeira em um
relacionamento 1:1 ou 1:N.
! Tipo #2: A tabela possui a chave primria formada por
atributos prprios e possui chave estrangeira.
! Corresponde a:
! Entidade que recebe chave estrangeira em um
relacionamento 1:1 ou 1:N.
B (b1, b2, b3, a1)
[a1] referencia A
1 1
A R B
1 N
Engenharia Reversa Engenharia Reversa
4 - 8 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #3: A tabela possui uma chave estrangeira que faz
parte da chave primria concatenada.
! Corresponde a:
! Entidade que recebe chave estrangeira em um
relacionamento identificador.
! Tipo #3: A tabela possui uma chave estrangeira que faz
parte da chave primria concatenada.
! Corresponde a:
! Entidade que recebe chave estrangeira em um
relacionamento identificador.
B (b1, a1, b2 b3)
[a1] referencia A
1 1
A B
1 N
R
Engenharia Reversa Engenharia Reversa
4 - 9 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #4: A tabela possui a chave primria concatenada,
formada por duas chaves estrangeiras.
! Corresponde a:
! Relacionamento N:N.
! Tipo #4: A tabela possui a chave primria concatenada,
formada por duas chaves estrangeiras.
! Corresponde a:
! Relacionamento N:N.
R (a1, b1)
[a1] referencia A
[b1] referencia B
N N
A R B
Engenharia Reversa Engenharia Reversa
4 - 10 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #5: A tabela possui duas chaves estrangeiras e uma
delas a chave primria.
! Corresponde a:
! Relacionamento de 1:1 ou de 1:N. Se for 1:N, a chave
primria proveniente do lado N.
! Tipo #5: A tabela possui duas chaves estrangeiras e uma
delas a chave primria.
! Corresponde a:
! Relacionamento de 1:1 ou de 1:N. Se for 1:N, a chave
primria proveniente do lado N.
R (a1, b1)
[a1] referencia A
[b1] referencia A
N 1
A R B
1 1
Engenharia Reversa Engenharia Reversa
4 - 11 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #6: A tabela possui a chave primria igual a uma
chave estrangeira.
! Corresponde a:
! Entidade especializada.
! Tipo #6: A tabela possui a chave primria igual a uma
chave estrangeira.
! Corresponde a:
! Entidade especializada.
B (a1, b1, b2 b3) - [a1] referencia A
A
B C
Engenharia Reversa Engenharia Reversa
4 - 12 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #7: A tabela possui uma chave estrangeira que faz
referncia chave primria da prpria tabela.
! Corresponde a:
! Auto-relacionamento de 1:1 ou de 1:N.
! Tipo #7: A tabela possui uma chave estrangeira que faz
referncia chave primria da prpria tabela.
! Corresponde a:
! Auto-relacionamento de 1:1 ou de 1:N.
B (b1, b2 b3, b4)
[b4] referencia B
1 1
B R
1 N
Engenharia Reversa Engenharia Reversa
4 - 13 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Identificao da construo E-R para cada tabela:
! Tipo #8: A tabela possui a chave primria concatenada,
formada por duas chaves estrangeiras que fazem
referncia mesma tabela.
! Corresponde a:
! Auto-relacionamento de N:N.
! Tipo #8: A tabela possui a chave primria concatenada,
formada por duas chaves estrangeiras que fazem
referncia mesma tabela.
! Corresponde a:
! Auto-relacionamento de N:N.
R (r1, r2)
[r1] referencia A
[r2] referencia A
A R
N N
Engenharia Reversa Engenharia Reversa
4 - 14 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Em muitos casos o esquema relacional no informa as
cardinalidades do relacionamento.
! Nesses casos, para definir a cardinalidade mxima do
relacionamento, necessrio verificar nas tabelas se as
chaves estrangeiras admitem repetio de dados e tambm
analisar a semntica do relacionamento.
! A cardinalidade mnima no pode ser definida apenas com a
anlise do esquema relacional disponvel.
! Para definir a cardinalidade mnima do relacionamento
necessrio verificar a possibilidade da existncia de valores
nulos nas chaves estrangeiras das tabelas relacionadas.
! Em muitos casos o esquema relacional no informa as
cardinalidades do relacionamento.
! Nesses casos, para definir a cardinalidade mxima do
relacionamento, necessrio verificar nas tabelas se as
chaves estrangeiras admitem repetio de dados e tambm
analisar a semntica do relacionamento.
! A cardinalidade mnima no pode ser definida apenas com a
anlise do esquema relacional disponvel.
! Para definir a cardinalidade mnima do relacionamento
necessrio verificar a possibilidade da existncia de valores
nulos nas chaves estrangeiras das tabelas relacionadas.
! Definio da cardinalidade de cada relacionamento:
Engenharia Reversa Engenharia Reversa
4 - 15 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Toda coluna que no seja chave estrangeira definida
como sendo um atributo da entidade ou do relacionamento
correspondente tabela.
! As chaves estrangeiras no correspondem a atributos no
diagrama E-R. Elas representam os relacionamentos entre
as tabelas, existentes apenas no modelo lgico.
! O diagrama E-R dever ser construdo, portanto, sem a
existncia de chaves estrangeiras nas entidades.
! Toda coluna que no seja chave estrangeira definida
como sendo um atributo da entidade ou do relacionamento
correspondente tabela.
! As chaves estrangeiras no correspondem a atributos no
diagrama E-R. Elas representam os relacionamentos entre
as tabelas, existentes apenas no modelo lgico.
! O diagrama E-R dever ser construdo, portanto, sem a
existncia de chaves estrangeiras nas entidades.
! Definio dos atributos:
Engenharia Reversa Engenharia Reversa
4 - 16 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Toda coluna que faz parte da chave primria e no chave
estrangeira, corresponde a um atributo identificador da
entidade ou relacionamento.
! Toda coluna que faz parte da chave primria e chave
estrangeira, corresponde a um identificador externo da
entidade, existente atravs de um relacionamento
identificador.
! O diagrama E-R dever ser construdo, portanto, sem a
existncia de identificadores externos nas entidades.
! Toda coluna que faz parte da chave primria e no chave
estrangeira, corresponde a um atributo identificador da
entidade ou relacionamento.
! Toda coluna que faz parte da chave primria e chave
estrangeira, corresponde a um identificador externo da
entidade, existente atravs de um relacionamento
identificador.
! O diagrama E-R dever ser construdo, portanto, sem a
existncia de identificadores externos nas entidades.
! Definio dos identificadores:
Engenharia Reversa Engenharia Reversa
4 - 17 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Exerccio:
! Construir o diagrama E-R do esquema relacional abaixo:
DISCIPLINA (CodDisc, NomeDisc)
CURSO (CodCr, NomeCr)
CURRCULO (CodCr, CodDisc, ObrOpc)
[CodCr] referencia CURSO
[CodDisc] referencia DISCIPLINA
PRDIO (CodPr, Endereo)
SALA (CodPr, CodSl, Capacidade)
[CodPr] referencia PRDIO
TURMA (Anosem, CodDisc, SiglaTur, Capacidade, CodPr, CodSl)
[CodDisc] referencia DISCIPLINA
[CodPr, CodSl] referencia SALA
LABORATRIO (CodPr, CodSl, Equipam)
[CodPr, CodSl] referencia SALA
! Construir o diagrama E-R do esquema relacional abaixo:
DISCIPLINA (CodDisc, NomeDisc)
CURSO (CodCr, NomeCr)
CURRCULO (CodCr, CodDisc, ObrOpc)
[CodCr] referencia CURSO
[CodDisc] referencia DISCIPLINA
PRDIO (CodPr, Endereo)
SALA (CodPr, CodSl, Capacidade)
[CodPr] referencia PRDIO
TURMA (Anosem, CodDisc, SiglaTur, Capacidade, CodPr, CodSl)
[CodDisc] referencia DISCIPLINA
[CodPr, CodSl] referencia SALA
LABORATRIO (CodPr, CodSl, Equipam)
[CodPr, CodSl] referencia SALA
Engenharia Reversa Engenharia Reversa
4 - 18 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! As tabelas correspondem s seguintes construes E-R:
DISCIPLINA entidade que cede chave estrangeira
CURSO entidade que cede chave estrangeira
CURRCULO Relacionamento N:N entre as entidades CURSO e
DISCIPLINA, com atributos
PRDIO entidade que cede chave estrangeira
SALA entidade que recebe chave estrangeira em um relacionamento
identificador com PRDIO
TURMA entidade que recebe chave estrangeira em um relacionamento
identificador com DISCIPLINA e tambm recebe uma chave
estrangeira em um relacionamento com SALA
LABORATRIO entidade especializada de SALA
! As tabelas correspondem s seguintes construes E-R:
DISCIPLINA entidade que cede chave estrangeira
CURSO entidade que cede chave estrangeira
CURRCULO Relacionamento N:N entre as entidades CURSO e
DISCIPLINA, com atributos
PRDIO entidade que cede chave estrangeira
SALA entidade que recebe chave estrangeira em um relacionamento
identificador com PRDIO
TURMA entidade que recebe chave estrangeira em um relacionamento
identificador com DISCIPLINA e tambm recebe uma chave
estrangeira em um relacionamento com SALA
LABORATRIO entidade especializada de SALA
! Construes E-R:
Engenharia Reversa Engenharia Reversa
4 - 19 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Diagrama E-R resultante:
Engenharia Reversa Engenharia Reversa
DISCIPLINA CURSO
PRDIO
LABORAT
R2
N N
N 1 N 1
R3 SALA
N
1
TURMA
R1
CURRIC
4 - 20 Copyright 2003 - Nilton Freire Santos Engenharia Reversa
! Descrio das entidades resultantes:
DISCIPLINA (CodDisc, NomeDisc)
CURSO (CodCr, NomeCr)
PRDIO (CodPr, Endereo)
SALA (CodSl, Capacidade)
TURMA (Anosem, SiglaTur, Capacidade)
LABORATRIO (Equipam)
! Descrio das entidades resultantes:
DISCIPLINA (CodDisc, NomeDisc)
CURSO (CodCr, NomeCr)
PRDIO (CodPr, Endereo)
SALA (CodSl, Capacidade)
TURMA (Anosem, SiglaTur, Capacidade)
LABORATRIO (Equipam)
! Entidades resultantes:
Engenharia Reversa Engenharia Reversa

Anda mungkin juga menyukai