Este documento apresenta uma ferramenta para engenharia reversa de bancos de dados relacionais e geográficos a partir de scripts SQL/SFS. A ferramenta gera modelos conceituais automatizados utilizando um meta-modelo genérico e mapeamentos entre a árvore sintática abstrata do SQL e o meta-modelo. Um exemplo demonstra a geração de um modelo conceitual a partir de um script SQL.
Uma DSL de Engenharia Reversa para Modelagem de Banco de Dados Relacionais e Geográficos Baseado em SQL-SFS
1. Uma DSL de Engenharia
Reversa para Modelagem de
Banco de Dados Relacionais e
Geográficos Baseado em
SQL/SFS
João Victor Guinelli
Carlos Eduardo Pantoja
TURING
PROJETO
<<
>>
3. Introdução
www.facebook.com/projetoTuring
A modelagem de banco de dados consiste em criar um modelo abstrato de
determinado domínio apoiada por uma metodologia ou uma linguagem de
modelagem.
Em seguida este modelo conceitual é evoluído para um projeto lógico que
resultará no projeto físico de banco de dados, que irá gerar efetivamente o
banco de dados a ser implementado [Navathe; Elmasri, 2005].
1
4. Problema
www.facebook.com/projetoTuring
Contudo, ao se deparar com bancos de dados em funcionamento em uma
organização, muitas vezes este pode sofrer alterações e por descuido o modelo
conceitual acaba não sendo atualizado.
Nesses casos é possível utilizar a engenharia reversa, para, a partir do script
em SQL/Simple Feature Specification (SFS), gerar o modelo conceitual
correspondente.
2
5. Trabalhos Relacionados
• MySQL Workbench [MySQL Workbench, 2015]
• gera modelos em Crow's Foot [Halpin, 1999];
• é embutido no SGBD.
• Visio Professional [Visio Professional, 2015]
• é uma ferramenta proprietária;
• também gera modelos baseados em Crow's Foot.
www.facebook.com/projetoTuring
Porém tais ferramentas não flexibilizam na escolha da linguagem de
modelagem, obrigando o projetista a se adequar à ferramenta e em ambos
os casos não geram modelos geográficos.
3
6. GenDBMTool
• uma ferramenta que utiliza a Model-Driven Architecture (MDA) para
modelagem ER [Rosa; Pantoja, 2013];
• utiliza um meta-modelo genérico para diversas linguagens de modelagens
(relacionais e geográficas);
• Permite a integração de soluções a partir de transformações de modelos;
• Gera artefatos de textos em ANSI SQL e SQL/SFS.
www.facebook.com/projetoTuring 4
7. Objetivo
www.facebook.com/projetoTuring
O objetivo deste trabalho é desenvolver uma ferramenta para
realizar a engenharia reversa de uma codificação em SQL/SFS para
geração automatizada de um modelo conceitual para banco de
dados relacionais ou geográficos
5
9. Tecnologias Utilizadas
• Generic Database Metamodel (GEDBM) [Guinelli et al., 2014]
• integra em um único meta-modelo conceitos geográficos e relacionais.
• Xtext
• gera uma Abstract Syntax Tree (AST), que é um modelo que representa o que está
sendo descrito pela linguagem SQL.
• Query-View-Transformation (QVT) [OMG, 2011]
• é realizado um mapeamento entre o AST e o GEDBM.
www.facebook.com/projetoTuring 7
13. • Este artigo apresentou uma DSL baseada em SQL/SFS para engenharia reversa de
bancos de dados geográficos e relacionais para o Eclipse;
• Utiliza o OMT-G Design para representação de modelos geográficos;
• A DSL gerada permite que o GEDBM seja instanciado automaticamente a partir de
script SFS /SQL;
• A utilização do GEDBM como domínio específico de aplicação permite que a
engenharia reversa possa ser realizada para diversas linguagens de modelagens
relacionais e para modelagens de banco de dados geográficos;
• Permite a adição de novas tecnologias e linguagens devido ao uso da MDA.
Conclusão
www.facebook.com/projetoTuring 11
14. • expandir a abrangência da DSL para todas as construções relacionais e
geográficas;
• desenvolver uma ferramenta gráfica para o Crow's Foot que instancie diretamente
o GEDBM;
• adicionar à metodologia o UML GeoFrame.
Trabalhos Futuros
www.facebook.com/projetoTuring 12
15. Referências
www.facebook.com/projetoTuring
Borges, K. A. V., Davis Jr., C. A., Laender, A. H. F. (2001) “OMT-G: An Object-Oriented Data Model for Geographic
Applications”. Geoinformatica, v. 5, n. 3, p. 221-260, 2001.
Elmasri, R., Navathe, S. B. (2005). "Sistemas de banco de dados". Editora Pearson.
Guinelli, J. V., Rosa, A., Pantoja, C. E., Choren, R. (2014). "Uma Metodologia Para Apoio ao Projeto de Banco de
Dados Geográficos Utilizando a MDA". Em: X Simpósio Brasileiro de Sistemas de Informação, 2014, Londrina: SBC,
2014.
Halpin, T. (1999) "Entity Relationship Modeling from an ORM perspective: Part 1".
Martínez, A. O. T. ; Frozza, A. A. (2014) "OMT-G Design: Uma Ferramenta para Modelagem de Dados Espaciais". In:
X Escola Regional de Banco de Dados, 2014, São Francisco do Sul: 2014.
MySQL Workbench. Disponível em: http://www.mysql.com/products/workbench/. Acesso em: 14/03/2015.
OMG. (2011) "Meta object facility (MOF) Query/View/Transformation specification.". URL: <
http://www.omg.org/spec/QVT/1.1/PDF/ >.
Rosa, A., Pantoja, C. E. (2013). "Uma Ferramenta MDA para Modelagem de Banco de Dados Relacionais". Em: IX
Escola Regional de Banco de Dados, Camboriú: 2013.
Visio Professional. Disponível em: < https://products.office.com/pt-br/visio/visio-professional-2013-business-and-
diagram-software >. Acessado em: 13/03/2015.
13