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

Post on 19-Apr-2015

112 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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. Guedeseacg@cin.ufpe.br

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

Google

• 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

top related