masterThesis
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais
Autor
LIMA, Gênesis Jeferson Ferreira Pereira de
Institución
Resumen
Refatoração é uma técnica utilizada para melhorar o código de um software ou de um banco de dados. No contexto de banco de dados relacionais, a literatura aponta 64 padrões de refatoração categorizados em: Estrutural (17), Qualidade de Dados (13), Integridade Referencial (7), Arquitetural (12) e de Métodos (15). Por cobrirem as operações Mde refatoração mais frequentes, os padrões estruturais são os mais utilizados. Contudo, considerando que o esquema relacional é normalmente modelado como um diagrama, o levantamento do estado da arte mostra que os trabalhos relacionados não oferecem um suporte diagramático adequado para cobrir a maioria desses padrões. Por exemplo, nenhum trabalho permite remover visão, adicionar campo derivado ou chave substituta ou dividir coluna. O objetivo desse trabalho é propor uma Linguagem de Modelagem Específica de Domínio (do inglês, Domain Specific Modeling Language - DSML) que ofereça um suporte diagramático para especificar refatorações estruturais em banco de dados relacionais. O desenvolvimento desta proposta inicia com o levantamento do estado da arte (i.e., fundamentação teórica e trabalhos relacionados), o que permite entender os principais conceitos relacionados, bem como as necessidades existentes no contexto de refatoração de banco de dados. Na sequencia, apresenta-se o método utilizado para especificar a DSML proposta e a sua Ferramenta CASE (Computer Aided Software Engineering). Por fim, de modo a avaliar o trabalho proposto, a ferramenta CASE desenvolvida é utilizada para realizar uma avaliação sistematizada da expressividade das refatorações estruturais em um banco de dados relacional. Como resultados tem-se a definição da sintaxe concreta (notação), sintaxe abstrata (metamodelo) e semântica estática (regras de boa formação) da DSML proposta, bem como a implementação da sua ferramenta CASE. Além disso, mostra-se que o trabalho proposto oferece uma melhor cobertura diagramática em relação aos trabalhos relacionados. Refactoring is a technique applied to improve both software code and the objects of a database. In the relational database context, the literature points out 64 refactoring patterns categorized in: Structural (17), Data Quality (13), Referential Integrity (7), Architectural (12) and Methods (15). Since the structural patterns covers the most frequent refactoring operations, they are the most used. However, the state of the art survey shows that the related works does not provide adequate support to cover most of these patterns. Since the relational schema is usually modeled by diagram, this work aims to provide a Domain Specific Modeling Language (DSML) that delivers better support for specifying structural refactorings in relational databases. The development of this proposal starts with a survey of the state of the art (i.e., theoretical foundation and related works), which bring to light the key concepts as well as the existing needs in the field of database refactoring. Next, the method used to specify the proposed DSML and its Computer Aided Software Engineering (CASE) tool are shown. Finally, in order to evaluate the proposed work, the developed CASE tool is used to perform a systematic expressiveness evaluation of the structural refactorings in a relational database. The results of the proposed DSML concrete syntax (notation), abstract syntax (metamodel) and static semantics (well-formedness rules) are introduced, as well as the implementation of its CASE tool. In addition, it is shown that the proposed work offers a better coverage than findings.