Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
1/30
IN1008 – Projeto Conceitual de BD
Mapeamento entre Esquema
Conceitual UML e Esquema Lógico
por:
Erico Augusto C. Guedes
[email protected]
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
2/30
Roteiro
• Motivação
• Conceitos Básicos
• Estado da Arte
• Mapeamento Objeto -> Relacional
• Abordagem Prática(Descrição)
• Conclusões
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
3/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
4/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
5/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
6/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
7/30
Conceitos Básicos
• Modelo
 Representação simplificada daquilo que se deseja construir
• Exemplo:Planta Baixa
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
8/30
Conceitos Básicos
• Modelo
• Exemplo:Desenho em Perspectiva
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
9/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]
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
10/30
Principais Conceitos Envolvidos
• Esquema Conceitual UML
[BOOCH, 1999]
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
11/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]
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
12/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.
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
13/30
Mapeamento Objeto-Relacional
• Mapeando Classes para Tabelas
 O Mapeamento é direto
[IBM, 2000]
• Contudo, depende da complexidade do sistema
• Somente modelos muito simples terão um mapeamento 1:1
 Como implementar herança?
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
14/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
15/30
Mapeamento Objeto-Relacional
• Uma entidade para toda hierarquia de classe
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
16/30
Mapeamento Objeto-Relacional
• Uma entidade de dados por classe concreta
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
17/30
Mapeamento Objeto-Relacional
• Usar uma entidade de dados por classe
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
18/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos
 Há quatro tipos de relacionamentos com os quais um
objeto pode estar envolvido
• Herança
• Associação
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
19/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
20/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.
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
21/30
Mapeamento Objeto-Relacional
• Mapeando relacionamentos
 Associação
• Mantidos através de chaves estrangeiras
 Permitem relacionar linhas de tabelas diferentes
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
22/30
Mapeamento Objeto-Relacional
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
23/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
24/30
Metodologia
• Fontes de busca
 IEEExplore
 Portal CAPES - ACM
 Google
• Organização
 Arquivo de Metodologia
• Anotações Gerais
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
25/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
26/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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
27/30
Conclusões
• Trabalhos Futuros
 Explorar as transformações e mapeamentos com a
utilização de XML
• (Projeto Final da Disciplina)
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
28/30
Referências
•
[BOOCH, 1999] G., RUMBOUGH J., JACOBSON, I. The Unified Modeling Language User Guide. AddisonWesley. 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://www128.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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
29/30
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto
30/30
Download

Mapeamento entre Esquema Conceitual UML e Esquema Lógico