Sistema Eletrónico de Administração de Conferências, Vol II (2017)

Tamanho da fonte: 
GERAÇÃO AUTOMÁTICA DE CÓDIGO FONTE A PARTIR DE CONSTRUTORES E RESTRIÇÕES OCL ESPECIFICADAS NO PERFIL GEOPROFILE PARA SISTEMAS GERENCIADORES DE BANCO DE DADOS GEOGRÁFICOS
Lucas Fouraux DORIGUETO, Sergio Murilo STEMPLIUC, Vinícius Garcia SPERANDIO

Última alteração: 2017-09-21

Resumo


O objetivo geral consiste na geração automática de gatilhos (triggers) a partir do perfil UML GeoProfile na ferramenta Enterprise Architect, utilizando a arquitetura MDA e OCL, tendo como alvo os SGBDs MySQL, SQL Server, IBM DB2 e o PostgreSQL juntamente com sua extensão espacial PostGIS.

A metodologia classifica-se como de pesquisa bibliográfica e de análise do funcionamento dos SGBDs, e suas extensões da linguagem da SQL, para geração de código fonte. E por ser a continuação de outro trabalho, as arquiteturas utilizadas foram mantidas e outros SGBDs foram adicionados.

Foram selecionados os 5 primeiros SGBDs relacionais de acordo com o ranking de popularidade apresentado pelo site DB-Engines (https://db-engines.com) em Novembro de 2016. O objetivo é trabalhar com produtos que já foram amplamente testados e aceitos por um grupo significativo de usuários. Os SGBDs selecionados foram: PostgreSQL 9.6 com a extensão espacial PostGIS 2.3, MySQL 5.7, SQL Server 2016, Oracle 12c release 2 e IBM DB2 11.1 Porém, visto que o plugin responsável pela geração automática de triggers foi anteriormente desenvolvido para o SGBD Oracle, neste trabalho os esforços foram concentrados em estender esse mesmo plugin para que possa também efetuar a geração automática de triggers para os outros SGBDs mencionados.

Após definir para quais SGBDs o plugin seria estendido, foi feito um estudo sobre a linguagem estrutural estendida da SQL de cada SGBD, pois, apesar de serem parecidas, cada uma possui particularidades em relação as outras. Além disso, foi necessária a verificação de como funcionam os tipos de dados espaciais de cada SGBD, quais feições espaciais cada um consegue representar e seus relacionamentos topológicos.

Foi feita uma adaptação no plugin para que o mesmo suporte os quatro SGBDs mencionados anteriormente com suas respectivas particularidades, porém, mantendo sua proposta original, como no caso do Microsoft SQL Server 2016, que não possui suporte as triggers do tipo ‘BEFORE’ e trabalha com duas tabelas auxiliares ao invés das cláusulas OLD e NEW. O plugin também efetua o tratamento do tipo de dado escolhido pelo projetista, garantindo tanto que as restrições topológicas sejam respeitadas quanto que os dados inseridos sejam válidos dentro do tipo de dado escolhido pelo projetista. Além disso, a interface do plugin foi modificada, adicionando no menu mais quatro opções, cada uma referente a um SGBD, isto permite que o projetista possa escolher facilmente para qual SGBD o mesmo deseja gerar as devidas triggers.

Como resultados o plugin OCLtoSQL foi novamente estendido para que a geração automática dos triggers seja realizada dependendo do SGBD que o usuário especificar. Na extensão anterior, foi adicionado o script somente para o SGBD Oracle, e com essa nova extensão foram incluídos mais quatro scripts para permitir a geração de códigos SQL para os demais SGBD envolvidos no estudo. Além disso, o antigo instalador do plugin foi atualizado para que suas extensões sejam suportadas na ferramenta Enterprise Architect.

Tal trabalho trouxe benefício tanto em relação a produtividade quanto a qualidade de dados, uma vez que graças aos artefatos gerados neste trabalho, é permitido que o projetista consiga gerar automaticamente os códigos SQL e os triggers. Assim é possível se estabelecer restrições topológicas desde a modelagem conceitual na ferramenta Enterprise Architect através do perfil UML GeoProfile com a arquitetura MDA.


Palavras-chave


banco de dados Geográficos; GeoProfile; MDA; triggers; Enterprise Architect.