6-engReversa.pdf

32
Processo de Projeto Bottom-Up esquema relacional 1 esquema do arquivo/documento 1 normalização esquema relacional 2 esquema do arquivo/documento 2 normalização ... esquema relacional integrado do BD (esquema global) integração engenharia reversa do esquema relacional esquema conceitual do BD conversão para tabela ÑN conversão para tabela ÑN tabela ÑN 2 tabela ÑN 1 Passo1 Passo2 Passo3 Passo4

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