Carregar apresentação
A apresentação está carregando. Por favor, espere
1
1
2
IN1008 – Projeto Conceitual de BD
Mapeamento entre Esquema Conceitual UML e Esquema Lógico por: Erico Augusto C. Guedes
3
Roteiro Motivação Conceitos Básicos Estado da Arte
Mapeamento Objeto -> Relacional Abordagem Prática(Descrição) Conclusões
4
Motivação Por que mapear objetos para um banco de dados relacional ?
Há uma discrepância entre: Modelo Orientado a Objetos Modelo Entidade-Relacionamento
5
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
6
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
7
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
8
Conceitos Básicos Modelo
Representação simplificada daquilo que se deseja construir Exemplo:Planta Baixa
9
Conceitos Básicos Modelo Exemplo:Desenho em Perspectiva
10
Principais Conceitos Envolvidos
UML – Unified Modeling Language Dentre os diversos tipos de diagramas Comporamentais Caso de Uso Estado Atividades Interação Seqüência Comunicação Estrutural Pacote Componente Objeto Classe Super-conjunto do Modelo ER [BOOCH, 1999]
11
Principais Conceitos Envolvidos
Esquema Conceitual UML [BOOCH, 1999]
12
Principais Conceitos Envolvidos
Esquema Lógico UML Apresentam detalhes em um nível suficiente para construir um banco de dados físico [BOOCH, 1999]
13
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.
14
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]
15
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
16
Mapeamento Objeto-Relacional
Uma entidade para toda hierarquia de classe
17
Mapeamento Objeto-Relacional
Uma entidade de dados por classe concreta
18
Mapeamento Objeto-Relacional
Usar uma entidade de dados por classe
19
Mapeamento Objeto-Relacional
Mapeando relacionamentos Há quatro tipos de relacionamentos com os quais um objeto pode estar envolvido Herança Associação
20
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
21
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.
22
Mapeamento Objeto-Relacional
Mapeando relacionamentos Associação Mantidos através de chaves estrangeiras Permitem relacionar linhas de tabelas diferentes
23
Mapeamento Objeto-Relacional
24
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
25
Metodologia Fontes de busca Organização IEEExplore Portal CAPES - ACM
Google Organização Arquivo de Metodologia Anotações Gerais
26
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
27
Conclusões Contribuições Considerações Finais
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 Muitos dos sistemas a serem modelados possuirão objetos persistentes, o que significa que eles poderão ser armazenados em um banco de dados para posterior recuperação. Mais frequentemente, será utilizado um banco de dados relacional, um banco de dados orientado a objetos ou um banco de dados híbrido objeto/relacional para armazenamento persistente. UML é adequada para modelar esquemas lógicos de banco de dados, assim como o próprio banco de dados físico. O diagrama de classe UML é um superconjunto dos diagramas E-R. Enquanto que diagramas E-R clássicos são focados apenas nos dados, diagramas de classe vão um passo adiante, permitindo também a modelagem de comportamento. Para modelar um esquema: i. Identifique as classes presentes no modelo cujo estado deve transceder o tempo de vida da aplicação
28
Conclusões Trabalhos Futuros
Explorar as transformações e mapeamentos com a utilização de XML (Projeto Final da Disciplina) Muitos dos sistemas a serem modelados possuirão objetos persistentes, o que significa que eles poderão ser armazenados em um banco de dados para posterior recuperação. Mais frequentemente, será utilizado um banco de dados relacional, um banco de dados orientado a objetos ou um banco de dados híbrido objeto/relacional para armazenamento persistente. UML é adequada para modelar esquemas lógicos de banco de dados, assim como o próprio banco de dados físico. O diagrama de classe UML é um superconjunto dos diagramas E-R. Enquanto que diagramas E-R clássicos são focados apenas nos dados, diagramas de classe vão um passo adiante, permitindo também a modelagem de comportamento. Para modelar um esquema: i. Identifique as classes presentes no modelo cujo estado deve transceder o tempo de vida da aplicação
29
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 < 128.ibm.com/developerworks/library/ws-mapping-to-rdb/>. Acessado em: novembro de 2007. [PLONE, 2007] ArchGenXML 1.x- Getting started. Disponível em: < Acessado em: dezembro de 2007. [ZOPE, 2007] Zope Project. Disponível em: < Acessado em: dezembro de 2007. [PLONE, 2007] Plone CMF. Disponível em: < Acessado em: dezembro de 2007. [VARA, 2007] J. M., et. al. Model Transformation for Object-Relational Database Development. SAC, Seul. Korea Muitos dos sistemas a serem modelados possuirão objetos persistentes, o que significa que eles poderão ser armazenados em um banco de dados para posterior recuperação. Mais frequentemente, será utilizado um banco de dados relacional, um banco de dados orientado a objetos ou um banco de dados híbrido objeto/relacional para armazenamento persistente. UML é adequada para modelar esquemas lógicos de banco de dados, assim como o próprio banco de dados físico. O diagrama de classe UML é um superconjunto dos diagramas E-R. Enquanto que diagramas E-R clássicos são focados apenas nos dados, diagramas de classe vão um passo adiante, permitindo também a modelagem de comportamento. Para modelar um esquema: i. Identifique as classes presentes no modelo cujo estado deve transceder o tempo de vida da aplicação
30
30
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.