1 / 25

SCC0141 - Bancos de Dados e Suas Aplicações

SCC0141 - Bancos de Dados e Suas Aplicações. Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas Parte 2. Disciplina. Nome. N o. Créditos. Sigla. Abstrações. Como mapear Conjuntos de Entidades?. Aluno. Nome. NUSP. CPF. RG.

joy
Download Presentation

SCC0141 - Bancos de Dados e Suas Aplicações

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SCC0141 - Bancos de Dados e Suas Aplicações Prof. Jose Fernando Rodrigues Junior Material original: Elaine Parros Machado de Sousa Mapeamento entre Esquemas Parte 2

  2. Disciplina Nome No. Créditos Sigla Abstrações • Como mapear Conjuntos de Entidades? Aluno Nome NUSP CPF RG USP – ICMC – GBDI

  3. Mapeamento de Abstrações de Dados • O MER-X suporta duas abstrações de dados: • Agregação • Generalização • Extensão do Mapeamento MER-MREL para suporte às abstrações

  4. Consulta M N Paciente Médico Atende CRM RG Data Nome Nome Sala Mapeamento de Agregação • Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador • uma mesma instância do CR gerador resulta em mais de uma entidade agregada

  5. Consulta M N Paciente Médico Atende CRM RG Data Nome Nome Sala Mapeamento de Agregação • Caso 1: CE Agregação é identificado por atributo próprio + chaves dos CEs que participam do CR gerador • uma mesma instância do CR gerador resulta em mais de uma entidade agregada No mapeamento tradicional, M-N, um mesmo paciente não poderá consultar o mesmo médico novamente – nem mesmo para o retorno.

  6. Consulta = {Paciente, Medico, Data, Sala} Mapeamento de Agregação Consulta Médico = {CRM, Nome} Paciente = {RG, Nome} M N Paciente Médico Atende CRM RG Data Nome Nome Sala

  7. Mapeamento de Agregação • Caso 2: CE Agregação é identificado por um de seus atributos • as chaves dos CE que participam do CR gerador não são necessárias para identificar a agregação Projeto N M Aluno- Pós Orienta Professor NFunc NUSP Título Nome Nome

  8. Projeto = {Título, Orientador, Aluno} Mapeamento de Agregação • Caso 2a: cada instância do CR gera apenas uma entidade agregada... Projeto N M Aluno- Pós Orienta Professor NFunc NUSP Título Nome Nome Aluno = {NUSP, Nome} Professor = {Nfunc, Nome}

  9. Projeto = {Título, Orientador, Aluno} Mapeamento de Agregação • Caso 2b: cada instância do CR gera mais de uma entidade agregada... Projeto N M Aluno- Pós Orienta Professor NFunc NUSP Título Nome Nome Aluno = {NUSP, Nome} Professor = {Nfunc, Nome}

  10. Projeto = {Título, Orientador, Aluno} Mapeamento de Agregação • Caso 2b: cada instância do CR gera mais de uma entidade agregada... Esse mapeamento apresenta um ganho semântico, com o título do projeto como chave. Projeto N M Aluno- Pós Orienta Professor NFunc NUSP Título Nome Nome Aluno = {NUSP, Nome} Professor = {Nfunc, Nome}

  11. Consulta M N Paciente Médico Atende CRM RG Data Nome Nome Sala Mapeamento de Agregação • Caso 3: mistura dos casos 1 e 2b. Duas formas de identificar CE Agregação: 1. chaves dos CE que participam do CR gerador + atributo da agregação 2. atributo próprio da agregação NroRegistroConsulta também identifica univocamente cada consulta

  12. Consulta M N Paciente Médico Atende CRM RG Data Nome Nome Sala NroRegistroConsulta Médico = {CRM, Nome} Paciente = {RG, Nome} Consulta = {Paciente, Medico, Data, NroRegistroConsulta, Sala}

  13. Aula Livro Texto N N Professor Disciplina Ministra Data/Horário • Exemplo (caso 1): um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas.... NFunc Sigla Nome Nome Professor = {Nfunc, Nome} Disciplina = {Sigla, Nome} Aula = {Nfunc, Sigla, Data/Horário, LivroTexto}

  14. Aula Livro Texto N N Professor Disciplina Ministra Data/Horário • Exemplo: um relacionamento R1 entre o Professor P1 e a Disciplina D1 pode gerar várias entidades Aula, mas o Livro Texto não muda para cada uma destas aulas.... NFunc Sigla Nome Nome Professor = {Nfunc, Nome} Disciplina = {Sigla, Nome} Ministra = {Nfunc, Sigla, LivroTexto} A semântica permite normalizar, gerando uma nova relação. Aula = {Nfunc, Sigla, Data/Horário}

  15. Mapeamento da Generalização • Três alternativas principais: • Mapear o CEG e os CEE em relações diferentes • Mapear o CEG e todos os CEE em uma única relação • Mapear cada CEE (e apenas) em sua própria relação, junto com seus respectivos atributos genéricos

  16. Mapeamento da Generalização - Alternativa 1 (relações diferentes)Procedimento Padrão 1 Ch CEG disjunção AG AtC D CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1} ... CEEk = { Ch, Aek} ... CEEk CEE1 Aek Ae1 Uma relação geral com um atributo de tipo (AtC)  disjunção.

  17. Mapeamento da Generalização - Alternativa 1Procedimento Padrão 2 sobreposição Ch CEG AG AtC CEG = { Ch, AtC, AG } CEE1 = { Ch, Ae1} ... CEEk = { Ch, Aek} O ... CEEk CEE1 Aek Ae1 A relação geral não possui atributo de tipo  sobreposição.

  18. Mapeamento da Generalização - Alternativa 1Procedimento Padrão 3 sobreposição Ch CEG AG AtC CEG = { Ch, AG } CEE1 = { Ch, Ae1} ... CEEk = { Ch, Aek} CEC={ Ch, AtC} O ... CEEk CEE1 Aek Ae1 Uma terceira relação – CEC – que indica a qual tipo de entidade uma dada entidade se refere (neste caso, sobreposição).

  19. Mapeamento da Generalização - Alternativa 2 (única relação)Procedimento Padrão 4 CEG = { Ch, AtC, AG, Ae1, ... Aek } Ch CEG disjunção AG AtC D ... CEEk CEE1 Aek Ae1 Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, com atributo de tipo  disjunção.

  20. Mapeamento da Generalização - Alternativa 2Procedimento Padrão 5 CEG = { Ch, AtC, AG, Ae1, ... Aek } sobreposição Ch CEG AtC AG O ... CEEk CEE1 Aek Ae1 Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo  sobreposição.

  21. Mapeamento da Generalização - Alternativa 2Procedimento Padrão 6 CEG = { Ch, AG, Ae1,... Aek, BCEE1, ....BCEEk} sobreposição Ch CEG AG AtC O ... CEEk CEE1 Aek Ae1 Uma única tabela com todos os possíveis atributos de todas as possíveis entidades, sem atributo de tipo, e com atributos booleanos para determinar quais atributos correspondem a quais entidades.

  22. Mapeamento da Generalização - Alternativa 3 (não há relação genérica)Procedimento Padrão 7 CEE1 = { Ch, AG, AE1 } ... CEEk = { Ch, AG, AEk } participação total Ch CEG AG AtC Cada relação com seus atributos gerais e específicos. Sobreposição – uma dada entidade pode ser várias ao mesmo tempo. ... CEEk CEE1 Aek Ae1

  23. Mapeamento da Generalização - Alternativa 3Procedimento Padrão 8 CEEk = { Ch, AG, AEk } CEC={ Ch, AtC} participação total Ch CEG AG AtC D Cada relação com seus atributos gerais e específicos. E outra que indica de qual tipo é cada instância  disjunção. ... CEEk CEE1 Aek Ae1

  24. Mapeamento da Generalização - Alternativa 3Procedimento Padrão 9 CEEk = { Ch, AG, AEk } CEC={ Ch, AtC} participação total Ch CEG AG AtC O Cada relação com seus atributos gerais e específicos. E outra que indica de qual tipo é cada instância  sobreposição. ... CEEk CEE1 Aek Ae1

  25. Os 9 Procedimentos Padrão 1 CEG = {Ch, AtC, AG} CEEi = {Ch, Aei} 2 CEG = {Ch, AG} CEEi = {Ch, Aei} 3 CEG = {Ch, AG} CEEi = {Ch, Aei} CEC = {Ch, AtC} 4 CEG = {Ch, AG, AtC, Ae1, Ae2, .... Aem} 5 CEG = {Ch, AG, Ae1, Ae2, .... Aem} 6 CEG = {Ch, AG, Ae1, Ae2, .... Aem, BCEE1, BCEE2, ...BCEEm}} 7 CEEi = {Ch, AG, Aei} 8 CEEi = {Ch, AG, Aei} CEC = {Ch, AtC} 9 CEEi = {Ch, AG, Aei} CEC = {Ch, AtC}

More Related