mapeamento entre esquema conceitual uml e esquema lógico – erico augusto 1/30
TRANSCRIPT
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30
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]
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
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
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
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
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
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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 9/30
Conceitos Básicos
• Modelo• Exemplo:Desenho em Perspectiva
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]
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 11/30
Principais Conceitos Envolvidos
• Esquema Conceitual UML
[BOOCH, 1999]
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]
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.
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]
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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 16/30
Mapeamento Objeto-Relacional
• Uma entidade para toda hierarquia de classe
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 17/30
Mapeamento Objeto-Relacional
• Uma entidade de dados por classe concreta
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 18/30
Mapeamento Objeto-Relacional
• Usar uma entidade de dados por classe
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
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
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.
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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 23/30
Mapeamento Objeto-Relacional
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
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
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
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
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)
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
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 30/30