mapeamento entre esquema conceitual uml e esquema lógico – erico augusto 1/30
TRANSCRIPT
![Page 1: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/1.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30
![Page 2: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/2.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 2/30
IN1008 – Projeto Conceitual de BD
Mapeamento entre Esquema
Conceitual UML e Esquema Lógico
por:
Erico Augusto C. [email protected]
![Page 3: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/3.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 3/30
Roteiro
• Motivação
• Conceitos Básicos
• Estado da Arte
• Mapeamento Objeto -> Relacional
• Abordagem Prática(Descrição)
• Conclusões
![Page 4: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/4.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 4/30
Motivação
• Por que mapear objetos para um banco de dados
relacional ? Há uma discrepância entre:
• Modelo Orientado a Objetos
• Modelo Entidade-Relacionamento
![Page 5: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/5.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 5/30
Motivação
• Aplicações Existentes
Muitas delas lidam com camadas de aplicação complexas,
escritas em linguagens de programação OO
• Contudo, utilizam sistemas de banco de dados relacionais na
camada de armazenamento
![Page 6: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/6.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 6/30
Objetivo
• Demonstrar os procedimentos de mapeamento entre:
Estruturas do Esquema OO e Esquema ER
Esquema Conceitual OO para Esquema Lógico ER
Esquema Conceitual OO para Esquema Lógico OO
![Page 7: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/7.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 7/30
Conceitos Básicos
• O que é um Esquema de BD?
Descrição de um BD segundo um modelo de dados
• Ou seja: o esquema é especificado segundo um modelo
![Page 8: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/8.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 8/30
Conceitos Básicos
• Modelo Representação simplificada daquilo que se deseja construir
• Exemplo:Planta Baixa
![Page 9: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/9.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 9/30
Conceitos Básicos
• Modelo• Exemplo:Desenho em Perspectiva
![Page 10: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/10.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 10/30
Principais Conceitos Envolvidos
• UML – Unified Modeling Language Dentre os diversos tipos de diagramas
• Comporamentais Caso de Uso Estado Atividades
• Interação Seqüência Interação Comunicação
• Estrutural Pacote Componente Objeto Classe
Super-conjunto do Modelo ER
[BOOCH, 1999]
![Page 11: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/11.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 11/30
Principais Conceitos Envolvidos
• Esquema Conceitual UML
[BOOCH, 1999]
![Page 12: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/12.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 12/30
Principais Conceitos Envolvidos
• Esquema Lógico UML Apresentam detalhes em um nível suficiente para construir
um banco de dados físico[BOOCH, 1999]
![Page 13: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/13.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 13/30
Mapeamento Objeto-Relacional
• Atributo -> Coluna Será mapeado para
• Zero ou uma coluna do banco de dados relacionais É importante recordar que nem todos os atributos são
persistentes.
![Page 14: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/14.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 14/30
Mapeamento Objeto-Relacional
• Mapeando Classes para Tabelas O Mapeamento é direto
• Contudo, depende da complexidade do sistema
• Somente modelos muito simples terão um mapeamento
1:1
Como implementar herança?
[IBM, 2000]
![Page 15: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/15.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 15/30
Mapeamento Objeto-Relacional
• Implementando Herança em DB Relacional Semelhante ao mapeamento
especialização/generalização em MER• Usar uma entidade para toda hierarquia de classe• Usar uma entidade de dados por classe concreta• Usar uma entidade de dados por classe
![Page 16: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/16.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 16/30
Mapeamento Objeto-Relacional
• Uma entidade para toda hierarquia de classe
![Page 17: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/17.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 17/30
Mapeamento Objeto-Relacional
• Uma entidade de dados por classe concreta
![Page 18: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/18.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 18/30
Mapeamento Objeto-Relacional
• Usar uma entidade de dados por classe
![Page 19: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/19.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 19/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos Há quatro tipos de relacionamentos com os quais
um objeto pode estar envolvido
• Herança
• Associação
![Page 20: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/20.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 20/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos• Agregação
Representa uma relação estrutural entre o todo e suas partes
• Composição: Relacionamento forte e coincidência de tempo de vida
![Page 21: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/21.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 21/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos• Agregação/Composição
Do ponto de vista do banco de dados a diferença entre
associação e agregação/composição
» Quão firmes os objetos estão amarrados
» Com agregação/composição, qualquer atividade realizada
sobre o todo precisa ser feita sobre as partes.
![Page 22: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/22.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 22/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos Associação
• Mantidos através de chaves estrangeiras Permitem relacionar linhas de tabelas diferentes
![Page 23: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/23.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 23/30
Mapeamento Objeto-Relacional
![Page 24: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/24.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 24/30
Abordagem Prática
• ZOPE + Plone + Poseidon + ArchGenXML Plataforma para desenvolvimento de aplicações
WEB Baseada em Geração de Código a partir de modelo Geração de Código a partir do Modelo Lógico
• Armazenamento Persistente no ZODB Zope Object DataBase Banco de Dados OO
![Page 25: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/25.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 25/30
Metodologia
• Fontes de busca
IEEExplore
Portal CAPES - ACM
• Organização
Arquivo de Metodologia
• Anotações Gerais
![Page 26: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/26.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 26/30
Estado da Arte
• Estado da arte A maioria dos trabalhos recentes para mapeamento
Conceitual -> Lógico• Ocorre através da utilização de XML
• [VARA, 2007] - Model Transformation for Object-Relational
Database Development
![Page 27: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/27.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 27/30
Conclusões
• Contribuições Exposição das diversas formas de mapeamento entre
esquema conceitual e esquema lógico• Conceitual[OO] -> Lógico[ER]• Conceitual[OO] -> Lógico[OO]
• Considerações Finais O processo de mapeamento pode ser automático
• Geração via ferramenta
![Page 28: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/28.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 28/30
Conclusões
• Trabalhos Futuros Explorar as transformações e mapeamentos com a
utilização de XML• (Projeto Final da Disciplina)
![Page 29: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/29.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 29/30
Referências
• [BOOCH, 1999] G., RUMBOUGH J., JACOBSON, I. The Unified Modeling Language User Guide. Addison-
Wesley. 482p.
• [SILBERSCHATZ, 2002] A., KORTH H, SUDARSHAN S. Database System Concepts. McGraw-Hill. 1064p.
• [IBM,2000] Mapping objects to relational databases. Disponível em
<http://www-128.ibm.com/developerworks/library/ws-mapping-to-rdb/>. Acessado em: novembro de 2007.
• [PLONE, 2007] ArchGenXML 1.x- Getting started. Disponível em:
<http://plone.org/documentation/tutorial/archgenxml-getting-started>. Acessado em: dezembro de 2007.
• [ZOPE, 2007] Zope Project. Disponível em: <http://www.zope.org>. Acessado em: dezembro de 2007.
• [PLONE, 2007] Plone CMF. Disponível em: <http://www.plone.org>. Acessado em: dezembro de 2007.
• [VARA, 2007] J. M., et. al. Model Transformation for Object-Relational Database Development. SAC, 2007
Seul. Korea
![Page 30: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc142497959413d8df764/html5/thumbnails/30.jpg)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 30/30