6-engReversa.pdf
-
Upload
danilo-farias -
Category
Documents
-
view
216 -
download
3
Transcript of 6-engReversa.pdf
-
Processo de Projeto Bottom-Up
esquema relacional 1
esquema do arquivo/documento 1
normalizao
esquema relacional 2
esquema do arquivo/documento 2
normalizao ...
esquema relacional integrado do BD (esquema global)
integrao
engenharia reversa do esquema relacional
esquema conceitual do BD
converso para tabela N
converso para tabela N
tabela N 2 tabela N 1
Passo1
Passo2
Passo3
Passo4
-
Engenharia Reversa de Esquemas Relacionais
Mapeamento relacional para ER aumento no nvel de abstrao
modelo lgico -> modelo conceitual + detalhes implementao (estrutural) -> - detalhes
implementao (associaes entre dados do domnio)
mapeamento impreciso nem todos os detalhes da modelagem conceitual
podem ser determinados intenes semnticas no esto claras
exemplos: hierarquias de especializao e seus atributos, cardinalidades, ...
exige validao junto aos usurios
-
Passos
1. Identificao do construtor conceitual correspondente a cada tabela
2. Definio de relacionamentos 1:N e 1:1 3. Definio de atributos 4. Definio de identificadores de entidades
e relacionamentos
-
Passos
1. Identificao do construtor conceitual correspondente a cada tabela
2. Definio de relacionamentos 1:N e 1:1 3. Definio de atributos 4. Definio de identificadores de entidades
e relacionamentos
-
Construtor Conceitual para uma Tabela
Fator determinante na escolha do construtor formao da Chave Primria (CP) da tabela
Trs alternativas CP composta por mais de uma Chave
Estrangeira (CE) CP completa uma CE demais casos
-
CP composta por vrias CEs Uso (Sigla, Nmero) Sigla referencia Cursos Nmero referencia Prdios
Prdios Uso Cursos (?,N) (?,N)
? : 0 ou 1 analisar possveis RIs e transaes do domnio (Como? a partir da aplicao ou sistema que manipula estes dados; atravs de uma validao com usurios) na dvida: default: 0 (menos restritiva)
relacionamento M:N
-
CP completa uma CE
Duas alternativas tabela corresponde a uma entidade
especializada tabela corresponde a um relacionamento
opcional 1:1 ou 1:N considerada somente se existe(m) outra(s) CE(s)
A escolha por uma alternativa deve levar em conta a semntica do domnio
-
CP completa uma CE Laboratrios (Nmero, Nome) Nmero referencia Salas
especializao
Salas
Laboratrios
Qual o tipo de especializao? - total ou parcial? - exclusiva ou no-exclusiva?
anlise de RIs e transaes default: parcial e no-exclusiva (menos restritiva)
-
CP completa uma CE Casamentos (Marido, Esposa, Data) Marido referencia Homens Esposa referencia Mulheres
relacionamento opcional 1:1
Mulheres casamento Homens (0,1) (?,1)
existe(m) outra(s) CE(s)
-
CP completa uma CE Posse (Chassi, RG, DataAquisio) Chassi referencia Automveis RG referencia Pessoas
relacionamento opcional 1:N
Automveis posse Pessoas (?,N) (0,1)
1 ou N? anlise de dados pode ajudar...
Chassi RG 1 123
. . . . . . 1000 123
se anlise no for conclusiva: validao usurio default: N
-
Demais Casos
Casos onde CP no formada por vrias CEs ou por uma nica CE
Quatro alternativas (escolha depende da anlise da semntica do domnio) tabela mantm um atributo multivalorado tabela uma entidade fraca tabela mantm uma hierarquia de
especializao tabela uma entidade forte
-
Tabela Atributo Multivalorado
Clientes
Telefones (Nmero, CPF) CPF referencia Clientes
atributo multivalorado
Existe apenas a CP e uma (1) CE na tabela CE referencia a entidade que mantm o atributo CE pode ou no fazer parte da CP
Telefone (?, N)
-
Tabela Entidade Fraca Existe a CP e pelo menos uma CE na tabela
CE referencia a entidade forte CE faz parte da CP outros atributos podem existir
Dependentes (CPF, codDep, Nome) CPF referencia Empregados
Dependentes Sustento Empregados
CodDep CPF
(?,N) (1,1)
entidade fraca
-
Tabela Hierarquia de Especializao
Salas
Salas (Nmero, Andar, Vagas, Tipo, Prdio) Prdio referencia Prdios
Hierarquia de Especializao: um atributo de qualificao com restrio de valores permitidos!
Laboratrios SalasAulas
RI: Tipo {Sala de Aula, Laboratrio}
Deve existir um atributo de qualificao tipo, categoria, funo, ...
-
Tabela uma Entidade (Forte)
Prdios
Prdios (Nmero, Andares, Centro) Centro referencia Centros
entidade
-
Passos
1. Identificao do construtor conceitual correspondente a cada tabela
2. Definio de relacionamentos 1:N e 1:1 3. Definio de atributos 4. Definio de identificadores de entidades
e relacionamentos
-
Definio de Relacionamentos 1:N e 1:1
Anlise de CEs que no se enquadraram nos casos anteriores casos anteriores: CE CP, CE = CP, CEs associadas a
casos de atributo multivalorado ou entidade fraca
A cardinalidade mxima do relacionamento inverso no pode ser diretamente determinada exige investigao dos dados do BD
Duas alternativas relacionamento binrio entidade associativa (se tabela mantm um relacionamento)
-
Relacionamentos 1:N ou 1:1 Relacionamento Binrio
Cursos (Sigla, Nome, Centro) Centro referencia Centros
relacionamento 1:N ou 1:1
Centros Vnculo Cursos
(?,1) (?,[1|N])
[1|N] anlise de dados Sigla Nome Centro
SI Sistemas Informao CTC
. . . . . . . . . CIC Cincias da
Computao CTC
se anlise no for conclusiva: validao usurio default: N
-
Relacionamentos 1:N ou 1:1 Entidade Associativa
Reservas (Cliente, Livro, Data, Responsvel) Cliente referencia Clientes Livro referencia Livros Responsvel referencia Bibliotecrias
relacionamento 1:N ou 1:1
Livros reserva Clientes (0,N) (0,N)
[1|N] anlise de dados
responsvel Bibliotecrias (?,[1|N]) (?,1)
-
Observao Se a CE faz referncia a uma tabela que
encapsula uma hierarquia de especializao possvel que o relacionamento ocorra com
alguma entidade especializada analisar RIs para chegar a uma concluso
Recursos (Cdigo, Nome, Sala) Sala referencia Salas com Tipo = Sala de Aula
Salas de Aula propriedade Recursos
(?,1) (?,[1|N])
Salas p
-
Passos
1. Identificao do construtor conceitual correspondente a cada tabela
2. Definio de relacionamentos 1:N e 1:1 3. Definio de atributos 4. Definio de identificadores de entidades
e relacionamentos
-
Definio de Atributos
Anlise de atributos no-chave Trs alternativas
atributo pertence a um relacionamento da entidade
atributo pertence a uma entidade especializada
atributo pertence entidade
-
Atributo pertence a um Relacionamento
Atributos de tabelas com CP composta por vrias CEs
Alocaes (RG, CodProj, DataAloc, Perodo) RG referencia Empregados CodProj referencia Projetos
Empregados alocao Projetos (0,N) (0,N)
atributos
DataAloc Perodo
-
Atributo pertence a um Relacionamento
Atributos de tabelas cuja CP completa uma CE com semntica de relacionamento 1:1 ou 1:N
Posse (Chassi, RG, DataAquisio) RG referencia Pessoas Chassi referencia Automveis
Automveis posse Pessoas (0,N) (0,1)
atributos
DataAquisio
-
Atributo pertence a um Relacionamento
Pessoas
Automveis (Chassi, Modelo, Ano, CPF, DataCompra) CPF referencia Pessoas
atributos
Quando uma tabela encapsula um relacionamento, alm de uma entidade, um atributo pode tambm pertencer a um relacionamento deve existir uma CE na tabela que indique um
relacionamento com outra tabela analisar os dados da tabela (e nulos) para concluir se o
atributo da entidade ou deste relacionamento
Automveis posse (0,1) (0,N)
DataCompra
-
Atributo pertence a uma Especializao
Salas
Salas (Nmero, Andar, Vagas, Tipo, Nome, Prdio) Prdio referencia Prdios
atributos
Tabela encapsula uma hierarquia de especializao atributos podem pertencer a entidades especializadas
analisar os dados na tabela (e nulos) para concluir a qual entidade pertencem os atributos
Laboratrios Nome p
-
Atributo pertence Entidade
Centros
Centros (Sigla, Nome, Localizao) Prdio referencia Prdios
atributos
Localizao Nome
Se nenhuma das alternativas anteriores se aplica
-
Passos
1. Identificao do construtor conceitual correspondente a cada tabela
2. Definio de relacionamentos 1:N e 1:1 3. Definio de atributos 4. Definio de identificadores de
entidades e relacionamentos
-
Definio de Identificadores de Entidades e Relacionamentos
Anlise de atributos que fazem parte da CP e no so CEs estas atributos tornam-se identificadores
da entidade ou relacionamento
-
Salas
Salas (Nmero, Andar, Vagas, Prdio) Prdio referencia Prdios
atributo identificador
Nmero
Exemplo1: identificadores de entidades
Estantes
Estantes (Corredor, Nmero, NroPrateleiras)
atributos identificadores
Nmero Corredor
Identificadores de Entidades e Relacionamentos
-
Exemplo 2: identificadores de relacionamentos
Consultas (CRM, RG, Data, Hora) CRM referencia Mdicos RG referencia Pacientes
Pacientes consulta Mdicos
RG CRM
(0,N) (0,N)
atributo identificador
Identificadores de Entidades e Relacionamentos
Data Hora
-
Validao do Esquema Conceitual Relacionamentos redundantes
Exemplo: Sesso-Artigo; Sesso-Conferncia; Artigo-Conferncia
Relacionamentos no detectados Exemplo: Artigo(..., AssuntoPrincipal)
Tema(cdigo, nome)
Relacionamentos errados Exemplo: Telefones (nroPed, nroTel) Clientes (codCli, nome)
AssuntoPrincipal pode se referir a um Tema e isto no ter sido percebido
telefones esto relacionados a clientes e no a pedidos