Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFPE |
Texto Completo: | https://repositorio.ufpe.br/handle/123456789/32360 |
Resumo: | 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. |
id |
UFPE_c63d68cbb109d12f1b028670e4e3d631 |
---|---|
oai_identifier_str |
oai:repositorio.ufpe.br:123456789/32360 |
network_acronym_str |
UFPE |
network_name_str |
Repositório Institucional da UFPE |
repository_id_str |
2221 |
spelling |
LIMA, Gênesis Jeferson Ferreira Pereira dehttp://lattes.cnpq.br/2709192175900457http://lattes.cnpq.br/6390018491925933FIDALGO, Robson do Nascimento2019-09-06T19:45:23Z2019-09-06T19:45:23Z2018-03-09https://repositorio.ufpe.br/handle/123456789/32360Refatoraçã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.porUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessBanco de dadosBanco de dados relacionalUma linguagem de modelagem para refatoração estrutural de banco de dados relacionaisinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdf.jpgDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdf.jpgGenerated Thumbnailimage/jpeg1254https://repositorio.ufpe.br/bitstream/123456789/32360/6/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdf.jpgec266b49d85c05dd4018640bd2f61951MD56ORIGINALDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdfDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdfapplication/pdf3348323https://repositorio.ufpe.br/bitstream/123456789/32360/1/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdfb0cdfc9339e7849e3a9609b4fe9d6a68MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-82311https://repositorio.ufpe.br/bitstream/123456789/32360/3/license.txt4b8a02c7f2818eaf00dcf2260dd5eb08MD53CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/32360/4/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD54TEXTDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdf.txtDISSERTAÇÃO Gênesis Jeferson Ferreira Pereira de Lima.pdf.txtExtracted texttext/plain290146https://repositorio.ufpe.br/bitstream/123456789/32360/5/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdf.txt3fe135522b4a4688e24547cab6c890b1MD55123456789/323602019-10-25 10:52:02.635oai:repositorio.ufpe.br:123456789/32360TGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKClRvZG8gZGVwb3NpdGFudGUgZGUgbWF0ZXJpYWwgbm8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgKFJJKSBkZXZlIGNvbmNlZGVyLCDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBQZXJuYW1idWNvIChVRlBFKSwgdW1hIExpY2Vuw6dhIGRlIERpc3RyaWJ1acOnw6NvIE7Do28gRXhjbHVzaXZhIHBhcmEgbWFudGVyIGUgdG9ybmFyIGFjZXNzw612ZWlzIG9zIHNldXMgZG9jdW1lbnRvcywgZW0gZm9ybWF0byBkaWdpdGFsLCBuZXN0ZSByZXBvc2l0w7NyaW8uCgpDb20gYSBjb25jZXNzw6NvIGRlc3RhIGxpY2Vuw6dhIG7Do28gZXhjbHVzaXZhLCBvIGRlcG9zaXRhbnRlIG1hbnTDqW0gdG9kb3Mgb3MgZGlyZWl0b3MgZGUgYXV0b3IuCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoKTGljZW7Dp2EgZGUgRGlzdHJpYnVpw6fDo28gTsOjbyBFeGNsdXNpdmEKCkFvIGNvbmNvcmRhciBjb20gZXN0YSBsaWNlbsOnYSBlIGFjZWl0w6EtbGEsIHZvY8OqIChhdXRvciBvdSBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMpOgoKYSkgRGVjbGFyYSBxdWUgY29uaGVjZSBhIHBvbMOtdGljYSBkZSBjb3B5cmlnaHQgZGEgZWRpdG9yYSBkbyBzZXUgZG9jdW1lbnRvOwpiKSBEZWNsYXJhIHF1ZSBjb25oZWNlIGUgYWNlaXRhIGFzIERpcmV0cml6ZXMgcGFyYSBvIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGUEU7CmMpIENvbmNlZGUgw6AgVUZQRSBvIGRpcmVpdG8gbsOjbyBleGNsdXNpdm8gZGUgYXJxdWl2YXIsIHJlcHJvZHV6aXIsIGNvbnZlcnRlciAoY29tbyBkZWZpbmlkbyBhIHNlZ3VpciksIGNvbXVuaWNhciBlL291IGRpc3RyaWJ1aXIsIG5vIFJJLCBvIGRvY3VtZW50byBlbnRyZWd1ZSAoaW5jbHVpbmRvIG8gcmVzdW1vL2Fic3RyYWN0KSBlbSBmb3JtYXRvIGRpZ2l0YWwgb3UgcG9yIG91dHJvIG1laW87CmQpIERlY2xhcmEgcXVlIGF1dG9yaXphIGEgVUZQRSBhIGFycXVpdmFyIG1haXMgZGUgdW1hIGPDs3BpYSBkZXN0ZSBkb2N1bWVudG8gZSBjb252ZXJ0w6otbG8sIHNlbSBhbHRlcmFyIG8gc2V1IGNvbnRlw7pkbywgcGFyYSBxdWFscXVlciBmb3JtYXRvIGRlIGZpY2hlaXJvLCBtZWlvIG91IHN1cG9ydGUsIHBhcmEgZWZlaXRvcyBkZSBzZWd1cmFuw6dhLCBwcmVzZXJ2YcOnw6NvIChiYWNrdXApIGUgYWNlc3NvOwplKSBEZWNsYXJhIHF1ZSBvIGRvY3VtZW50byBzdWJtZXRpZG8gw6kgbyBzZXUgdHJhYmFsaG8gb3JpZ2luYWwgZSBxdWUgZGV0w6ltIG8gZGlyZWl0byBkZSBjb25jZWRlciBhIHRlcmNlaXJvcyBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBhIGVudHJlZ2EgZG8gZG9jdW1lbnRvIG7Do28gaW5mcmluZ2Ugb3MgZGlyZWl0b3MgZGUgb3V0cmEgcGVzc29hIG91IGVudGlkYWRlOwpmKSBEZWNsYXJhIHF1ZSwgbm8gY2FzbyBkbyBkb2N1bWVudG8gc3VibWV0aWRvIGNvbnRlciBtYXRlcmlhbCBkbyBxdWFsIG7Do28gZGV0w6ltIG9zIGRpcmVpdG9zIGRlCmF1dG9yLCBvYnRldmUgYSBhdXRvcml6YcOnw6NvIGlycmVzdHJpdGEgZG8gcmVzcGVjdGl2byBkZXRlbnRvciBkZXNzZXMgZGlyZWl0b3MgcGFyYSBjZWRlciDDoApVRlBFIG9zIGRpcmVpdG9zIHJlcXVlcmlkb3MgcG9yIGVzdGEgTGljZW7Dp2EgZSBhdXRvcml6YXIgYSB1bml2ZXJzaWRhZGUgYSB1dGlsaXrDoS1sb3MgbGVnYWxtZW50ZS4gRGVjbGFyYSB0YW1iw6ltIHF1ZSBlc3NlIG1hdGVyaWFsIGN1am9zIGRpcmVpdG9zIHPDo28gZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3UgY29udGXDumRvIGRvIGRvY3VtZW50byBlbnRyZWd1ZTsKZykgU2UgbyBkb2N1bWVudG8gZW50cmVndWUgw6kgYmFzZWFkbyBlbSB0cmFiYWxobyBmaW5hbmNpYWRvIG91IGFwb2lhZG8gcG9yIG91dHJhIGluc3RpdHVpw6fDo28gcXVlIG7Do28gYSBVRlBFLMKgZGVjbGFyYSBxdWUgY3VtcHJpdSBxdWFpc3F1ZXIgb2JyaWdhw6fDtWVzIGV4aWdpZGFzIHBlbG8gcmVzcGVjdGl2byBjb250cmF0byBvdSBhY29yZG8uCgpBIFVGUEUgaWRlbnRpZmljYXLDoSBjbGFyYW1lbnRlIG8ocykgbm9tZShzKSBkbyhzKSBhdXRvciAoZXMpIGRvcyBkaXJlaXRvcyBkbyBkb2N1bWVudG8gZW50cmVndWUgZSBuw6NvIGZhcsOhIHF1YWxxdWVyIGFsdGVyYcOnw6NvLCBwYXJhIGFsw6ltIGRvIHByZXZpc3RvIG5hIGFsw61uZWEgYykuCg==Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T13:52:02Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false |
dc.title.pt_BR.fl_str_mv |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
title |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
spellingShingle |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais LIMA, Gênesis Jeferson Ferreira Pereira de Banco de dados Banco de dados relacional |
title_short |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
title_full |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
title_fullStr |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
title_full_unstemmed |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
title_sort |
Uma linguagem de modelagem para refatoração estrutural de banco de dados relacionais |
author |
LIMA, Gênesis Jeferson Ferreira Pereira de |
author_facet |
LIMA, Gênesis Jeferson Ferreira Pereira de |
author_role |
author |
dc.contributor.authorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/2709192175900457 |
dc.contributor.advisorLattes.pt_BR.fl_str_mv |
http://lattes.cnpq.br/6390018491925933 |
dc.contributor.author.fl_str_mv |
LIMA, Gênesis Jeferson Ferreira Pereira de |
dc.contributor.advisor1.fl_str_mv |
FIDALGO, Robson do Nascimento |
contributor_str_mv |
FIDALGO, Robson do Nascimento |
dc.subject.por.fl_str_mv |
Banco de dados Banco de dados relacional |
topic |
Banco de dados Banco de dados relacional |
description |
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. |
publishDate |
2018 |
dc.date.issued.fl_str_mv |
2018-03-09 |
dc.date.accessioned.fl_str_mv |
2019-09-06T19:45:23Z |
dc.date.available.fl_str_mv |
2019-09-06T19:45:23Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://repositorio.ufpe.br/handle/123456789/32360 |
url |
https://repositorio.ufpe.br/handle/123456789/32360 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Attribution-NonCommercial-NoDerivs 3.0 Brazil http://creativecommons.org/licenses/by-nc-nd/3.0/br/ |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.publisher.program.fl_str_mv |
Programa de Pos Graduacao em Ciencia da Computacao |
dc.publisher.initials.fl_str_mv |
UFPE |
dc.publisher.country.fl_str_mv |
Brasil |
publisher.none.fl_str_mv |
Universidade Federal de Pernambuco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPE instname:Universidade Federal de Pernambuco (UFPE) instacron:UFPE |
instname_str |
Universidade Federal de Pernambuco (UFPE) |
instacron_str |
UFPE |
institution |
UFPE |
reponame_str |
Repositório Institucional da UFPE |
collection |
Repositório Institucional da UFPE |
bitstream.url.fl_str_mv |
https://repositorio.ufpe.br/bitstream/123456789/32360/6/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdf.jpg https://repositorio.ufpe.br/bitstream/123456789/32360/1/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdf https://repositorio.ufpe.br/bitstream/123456789/32360/3/license.txt https://repositorio.ufpe.br/bitstream/123456789/32360/4/license_rdf https://repositorio.ufpe.br/bitstream/123456789/32360/5/DISSERTA%c3%87%c3%83O%20G%c3%aanesis%20Jeferson%20Ferreira%20Pereira%20de%20Lima.pdf.txt |
bitstream.checksum.fl_str_mv |
ec266b49d85c05dd4018640bd2f61951 b0cdfc9339e7849e3a9609b4fe9d6a68 4b8a02c7f2818eaf00dcf2260dd5eb08 e39d27027a6cc9cb039ad269a5db8e34 3fe135522b4a4688e24547cab6c890b1 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE) |
repository.mail.fl_str_mv |
attena@ufpe.br |
_version_ |
1802310835732742144 |