mapeamento entre esquema conceitual uml e esquema lógico – erico augusto 1/30

30
Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30

Upload: internet

Post on 19-Apr-2015

112 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 25/30

Metodologia

• Fontes de busca

IEEExplore

Portal CAPES - ACM

Google

• Organização

Arquivo de Metodologia

• Anotações Gerais

Page 26: Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 1/30

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

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

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

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

Mapeamento entre Esquema Conceitual UML e Esquema Lógico – Erico Augusto 30/30