• Nenhum resultado encontrado

ConceptER - Uma ferramenta para criação e manutenção do Modelo Entidade-Relacionamento e geração automática de instruções SQL para banco de dados / ConceptER - A tool for creating and maintaining the Entity-Relationship Model and automatic generation of S

N/A
N/A
Protected

Academic year: 2020

Share "ConceptER - Uma ferramenta para criação e manutenção do Modelo Entidade-Relacionamento e geração automática de instruções SQL para banco de dados / ConceptER - A tool for creating and maintaining the Entity-Relationship Model and automatic generation of S"

Copied!
10
0
0

Texto

(1)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

ConceptER - Uma ferramenta para criação e manutenção do Modelo

Entidade-Relacionamento e geração automática de instruções SQL para banco

de dados

ConceptER - A tool for creating and maintaining the Entity-Relationship

Model and automatic generation of SQL statements for the database

DOI:10.34117/ bjdv6n7-544

Recebimento dos originais: 21/06/2020 Aceitação para publicação: 21/07/2020

Pedro Vinícius de Oliveira Pequeno

Técnico de Informática em Nível Médio pelo Instituto Federal de Educação, Ciência e Tecnologia do Amazonas

Instituição: Instituto Federal de Educação, Ciência e Tecnologia do Amazonas (IFAM) - Campus Manaus Centro, Departamento Acadêmico de Informação e

Comunicação

Endereço: Av. Sete de Setembro, 1975 - Centro, Manaus – AM, Brasil E-mail: [email protected]

Emmerson Santa Rita da Silva

Mestre em Telemática pela Mestre em Telemática pela Universidade Tecnológica Federal do Paraná

Instituição: Instituto Federal de Educação, Ciência e Tecnologia do Amazonas (IFAM) - Campus Manaus Centro, Departamento Acadêmico de Informação e

Comunicação

Endereço: Av. Sete de Setembro, 1975 - Centro, Manaus – AM, Brasil E-mail: [email protected]

Jucimar Brito de Souza

Doutor em Informática pela Universidade Federal do Amazonas

Instituição: Instituto Federal de Educação, Ciência e Tecnologia do Amazonas (IFAM) - Campus Manaus Centro, Departamento Acadêmico de Informação e

Comunicação

Endereço: Av. Sete de Setembro, 1975 - Centro, Manaus – AM, Brasil E-mail: [email protected]

Marcelo Chamy Machado

Mestre em Informática pela Universidade Federal do Amazonas

Instituição: Instituto Federal de Educação, Ciência e Tecnologia do Amazonas (IFAM) - Campus Manaus Centro, Departamento Acadêmico de Informação e

Comunicação

Endereço: Av. Sete de Setembro, 1975 – CE E-mail: [email protected]

(2)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

RESUMO

O Modelo Entidade-Relacionamento (MER) é muito importante para a fase inicial de um projeto de bancos de dados. Sistemas construídos a partir do encadeamento lógico da etapa de modelagem até a criação do banco de da-dos tendem a responder as` requisições dos usuários de maneira mais eficiente, e principalmente sem problemas de integridade ou redundanciaˆ. A maioria dos dos Sistemas de Gerenciamento de Banco de Dados (SGBDs) possui alguma ferramenta específica para criação de diagramas somente a partir da etapa de modelagem lógica e, por isso, os projetistas muitas vezes já utilizam tabelas na fase inicial, o que muita vezes faz com que questões de semântica dos dados e seus relacionamentos não sejam observadas. Observando esta situação o desenvolvimento do aplicativo ConceptER visa auxiliar os projetistas na construção de modelos entidade-relacionamento, usando funcionalidades drag and drop, e a partir do modelo criado, gerar automaticamente scripts SQL para criação das estruturas básicas nos SGBDs MySQL e SQL Server.

Palavras-chaves: DataBase; MER; ConceptER; SQL scripts; SGBDs. ABSTRACT

The Entity-Relationship Model (MER) is very important for the initial phase of a database project. Systems built from the logical linking of the modeling step to the creation of the database tend to respond to users’ requests more efficiently, and especially without problems of integrity or redundancy. Most Database Management Systems (DBMSs) have a specific tool for creating diagrams only from the logical modeling stage, and for this reason, designers often already use tables in the initial phase, which causes that issues of data semantics and their relationships are not observed. Observing this situation, the development of the ConceptER application aims to assist designers in the construction of entity-relationship models, using drag and drop functionality, and from the generated model, automatically create and submit SQL scripts in MySQL and SQL Server DBMS.

Keywords: DataBase; MER; ConceptER; SQL scripts; SGBDs.

1 INTRODUÇÃO

Os dados tornaram-se importantes no dia a dia de empresas e das pessoas, uma vez que passaram a ser utilizados na caracterização de produtos, clientes, serviços, dentre outros, para gerar vantagens econômicas, indicando tendências e auxiliando na definição de estratégias de ação em praticamente todas as áreas. Atualmente, existem volumes muito grandes de dados, não sendo viáveis a manutenção em papéis como antigamente. A tecnologia de banco de dados foi desenvolvida para auxiliar na dificuldade de guardar tais volumes de de forma estruturada e otimizar a recuperação destas.

Um projeto de banco de dados é separado em três etapas, cada uma com seu significado e importância. No desenvolvimento inicial de um projeto desta modalidade é utilizado o Modelo Entidade-Relacionamento (MER), que é um diagrama baseado em figuras geométricas, em alguns casos rotuladas, todas com algum um sentido, para representar a estrutura conceitual do banco de dados e representar como seus componentes estão associados.

(3)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

A representação do MER através de figuras é chamada de Diagrama de Entidade-Relacionamento (DER). A partir dele pode ser realizada uma conversão ou mapeamento para o modelo relacional, que consiste de representações dos elementos gráficos em tabelas interligadas, a partir de regras de conversão ou mapeamento. Esta fase é também conhecida como projeto lógico, e a partir dessas representações são geradas as estruturas físicas no banco de dados, utilizando conjuntos de comandos na linguagem SQL, chamados de scripts.

Um Sistema de Gerenciamento de Banco de Dados (SGBD) é um conjunto de programas que permite criar e manter vários bancos de dados [NAVATHE and ELMASRI 2011]. Alguns SGBDs possuem ferramentas para criação de tabelas utilizando a configuração das estruturas graficamente geradas do modelo relacional para realizar a conversão em scripts SQL, porém são proprietárias e não permitem exportar o projeto para outro SGBD.

Além disso, a maioria das ferramentas que possibilitam o desenvolvimento do MER e a geração dos scripts são proprietárias, muitas delas com alto custo de aquisição para acesso às suas principais funcionalidades. Observando esses problemas, propõe-se o ConceptER, uma ferramenta livre e de código aberto que permite a criação de modelos entidade-relacionamento de forma gráfica, e a partir desses modelos, a geração automática de scripts SQL para criação das estruturas de tabelas no banco de dados.

2 OBJETIVOS

O objetivo deste artigo é apresentar a ferramenta ConceptER e explicar seu desenvolvimento, assim como suas principais funcionalidades no auxílio ao ensino de disciplinas de banco de dados.

3 METODOLOGIA DE PESQUISA

Inicialmente, foram realizados estudos sobre conceitos importantes para criação de modelos conceituais de bancos de dados, para que a ferramenta pudesse ser utilizada da melhor forma.

O próximo passo foi pesquisar trabalhos relacionados e que pudessem potencializar a ferramenta, em termos de requisitos de funcionalidades e usabilidade. Com isso, foi estudado como seria possível realizar o nosso objetivo através da orientação a objetos e a linguagem Java, tendo como passo inicial a elaboração dos diagramas básicos necessários para condução do desenvolvimento, utilizando a Linguagem de Modelagem Unificada (UML).

Para o desenvolvimento do projeto foi utilizada a metodologia de ciclo de vida em cascata e o padrão de arquitetura Model-View-Controller (MVC). Com isso, foi realizado o levantamento de requisitos, procurando a melhor solução para solucionar o problema definido.

(4)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

No desenvolvimento, o primeiro passo foi elaborar o projeto de interface, de forma que fosse mais atrativa aos estudantes e projetistas, já que podem permanecer horas trabalhando na atividade de modelagem. Também foi definida como plataforma de desenvolvimento a linguagem Java, por ser multiplataforma, com integração realizada com os SGBDs MySQL e SQL Server, por estarem entre os bancos de dados relacionais mais utilizados. [Scudero 2016]

A criação dos componentes visuais para o MER fizeram parte da segunda fase, realizada através de testes da tela de propriedades para mudar os componentes do modelo: tipo de entidades, atributos, assim como os relacionamentos, envolvendo também para estes a disponibilização de componentes referentes a restrições de participação e de cardinalidade. O próximo passo foi o desenvolvimento da funcionalidade de conversão para Scripts SQL.

Na sequência foram desenvolvidas as funções utilitárias: abrir, salvar, salvar como, exportar para imagem e exportar para o SGBD escolhido.

Após o término do desenvolvimento, foram realizados testes com as turmas do 2° ano do curso de Informática do Instituto Federal de Educação, Ciência e Tecnologia do Amazonas - IFAM, Campus Manaus Centro. A partir dos resultados coletados nessa fase de testes, foi detectado que ainda é necessário realizar algumas manutenções para corrigir as falhas encontradas, assim como modificações para uma melhor usabilidade, sugeridas pelos usuários que testaram a ferramenta.

4 TRABALHOS RELACIONADOS

Alguns softwares apresentam funcionalidades semelhantes às do ConceptER, referente à criação do MER, mas são limitadas quando se trata de seguir a notação de [NAVATHE and ELMASRI 2011], um dos autores bastante utilizados pelos professores de Cursos de Banco de Dados, notação esta, na qual o ConceptER se baseia para a criação do MER.

Uma dessas ferramentas analisadas foi o brModelo, um sistema bastante utilizado para modelagem de banco de dados proposta por [CANDIDO 2015], cujo objetivo é a criação de esquemas conceituais e lógicos e que permite a construção tanto do MER quando do MER estendido (MERE). O software disponibiliza a conversão do MER para o modelo relacional e deste para os scripts SQL. Porém, a ferramenta permite ao usuário alterar o modelo relacional depois de desenhado o DER, assim não mantendo nenhuma ligação de integridade entre os diagramas. Outra questão observada foi que a ferramenta não segue o padrão de representação de modelo conceitual preconizada por [NAVATHE and ELMASRI 2011].

Navicat Data Modeler é uma poderosa ferramenta de projeto de banco de dados que permite a construção de modelos de dados conceituais, lógicos e físicos de alta qualidade. Foi desenvolvida

(5)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

pela empresa PremiumSoft, e consiste de um sistema que possui diversas funções, tais como: exportar modelos, gerar relatórios e fazer comparações entre bancos. Por ser uma ferramenta de empresa privada, exige um alto valor necessário de investimento para o seu uso. [PremiumSoft 2020]

Visual Paradigm é um aplicativo comercializado pela empresa chinesa Visual Paradigm International, e disponibiliza diversos módulos voltados para análise e desenvolvimento de sistemas, com possibilidade de integração de equipes com funcionalidades de desenvolvimento ágil. Possibilita realizar modelagem UML e possui funcionalidades de criação do DER e conversão para scripts SQL e vice-versa, através da engenharia reversa, além de suportar vários SGBDs. [Paradigm 2020]

Um aplicativo chamado de ”Ferramenta para criação de modelos conceituais de banco de dados” foi desenvolvido pelo aluno [de MENDONÇA 2015], e pode ser considerado um ”embrião” do ConceptER. Esta ferramenta possibilitava a criação do MER de forma visual, utilizando funcionalidades de drag and drop, e foi testado por alunos que apontaram melhorias e correções de

bugs a serem realizadas.

Este artigo descreve o desenvolvimento da ferramenta ConceptER, livre e de código aberto, no qual foi utilizada a ideia do aplicativo desenvolvido por [de MENDONÇA 2015], e realizadas correções de erros e desenvolvimento de novas funcionalidades, como por exemplo: opção de refazer e desfazer, aumentar e diminuir zoom, trabalhar com diversas abas, salvar e abrir um modelo, entre outros. Além disso, foi implementada a exportação dos objetos do MER para os respectivos

scripts SQL e a geração das tabelas no SGBD escolhido, podendo salvar o arquivo ou exportar

diretamente para o SGBD.

O quadro 1 mostra a comparação das principais características do ConceptER em relação as` demais ferramentas analisadas. A partir disso, pode ser indicado que ele já pode ser utilizado em sala de aula na fase de modelagem conceitual e ensino da linguagem de definição de dados da SQL, e por já apresentar a notação utilizada por muitos professores e ser de código aberto, poderá ser utilizada em todas as fases de criação de bancos de dados, nas versões futuras, com a devida evolução no seu desenvolvimento.

(6)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761 Quadro 1 – Resumo dos trabalhos relacionados

Características Visual

Paradigma

Novicat Data

Modeler ConceptER

Modelo Conceitual S S S

Notação Elsmari & Navathe N N S Geração de Scripts SQL S S S Windows S S S Linux S S S MAC S S S Open Source N N S Software Livre N N S 5 CONCEPTER

O ConceptER é uma ferramenta gráfica que visa ajudar os projetistas de banco de dados, propondo um ambiente interativo e fácil de utilizar, para criação do DER de forma visual através do uso de recursos de arrastar e soltar. A ferramenta permite ainda exportar modelos criados para arquivos de imagem e para os scripts SQL.

A geração dos scripts SQL é feita de forma automática com a utilização de regras de conversão embutidas. O usuário pode escolher entre salvar tais scripts em um arquivo para posterior uso, ou conectar diretamente com o SGBD desejado, de posse de dados de acesso com as devidas permissões no SGBD, para efetuar a devida conexão execução do código e criação das estruturas. A ferramenta procura a melhor forma de mapeamento do MER para a linguagem SQL, usando uma série de condições para manter a integridade das tabelas e relacionamentos criados.

A versão apresentada neste artigo ainda não realiza a geração do modelo relacional, a partir de regras de conversão do MER, característica que já está previsto para versões futuras.

6 RESULTADOS E CONCLUSÕES

A ferramenta1 possui todos os requisitos funcionais concluídos, exportando o MER para os

scripts SQL, procurando manter as regras do modelo relacional descrito por [NAVATHE and

ELMASRI 2011]. Por ser feito na linguagem Java é possível executar o .jar (extensão do executável do Java) em diversos Sistemas Operacionais.

A figura1 ilustra como pode ser criada uma entidade no ConceptER. Na parte superior da janela foi disponibilizada uma paleta de ferramentas com os ícones que representam os componentes existentes no MER. Assim, o usuário pode, por exemplo, clicar no componente que representa uma

(7)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

entidade e soltar sobre a área de trabalho. Na sequência ele visualiza a tela propriedades à esquerda e preenche o nome da entidade.

Figura 1. Exemplo de criação de entidades.

Fonte própria.

Na figura 2 podem ser visualizados os atributos que foram criados associados às entidades. Ao adicionar um atributo através do drag and drop da figura até a área de trabalho, a caixa de propriedade surge no lado esquerdo da tela onde o usuário pode definir o tipo de atributo: composto, multivalorado, atributo chave e outros.

Figura 2. Exemplo de criação de atributos e suas entidades.

Fonte própria

A figura 3 apresenta a criação de um relacionamento entre as entidades. O procedimento para inserir um relacionamento segue o mesmo princípio gráfico. Assim, no exemplo é apresentado um relacionamento onde um ou mais professores ensinam 1 ou mais alunos.

(8)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761 Figura 3. Exemplo de criação do relacionamento e suas ligações.

Fonte propriá.

Ao finalizar o diagrama, o usuário tem a opção de exportar para um SGBD, que pode ser o MySQL ou SQL Server. Neste caso o usuário seleciona um dos dois destinos e informa após isso os dados de conexão: porta, usuário com permissão de criação de objetos e senha, e ainda, o nome do banco a ser criado, como ilustrado na figura 4. Após a confirmação os scripts SQL serão executados e o banco será criado no destino especificado.

Figura 4. Tela de exportação para um SGBD específico.

Fonte propriá.

Além da exportação ou geração dos scripts SQL, é possível abrir ou salvar arquivos, através da utilização destas funcionalidades disponíveis no menu superior ”Arquivo”. Caso o usuário acione a opção de salvar, deverá ser indicado o caminho que deseja salvar e o arquivo será criado com o nome informado, sendo desnecessário definir a extensão. Para abrir um arquivo salvo, basta escolher a opção no menu e indicar o caminho desejado, para então visualizar o DER previamente existente.

O ConceptER é uma ferramenta que tem a finalidade de criar o Modelo de Entidade Relacionamento dando suporte ao aluno que está aprendendo estes conceitos, e que muitas das vezes, acaba recorrendo a recursos como editores de texto ou editores gráficos, que não validam

(9)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

as regras conceituais existentes entre os elementos visuais criados, e com isso, podem não ter o melhor resultado no auxílio ao aprendizado dos conceitos apresentados nas aulas de banco de dados.

Após os testes realizados nas turmas do 2° ano, percebeu-se que a ferramenta tem um grande potencial para auxiliar desenvolvedores no planejamento e construção dos seus bancos de dados, principalmente por ser totalmente independente do sistema operacional e SGBD trabalhado. Como é mostrado no gráfico abaixo, em testes realizados com 40 alunos, foi obtido 97,5% de aceitação da ferramenta, conforme a figura 5, após aplicação de questionário de avaliação.

6.1 TRABALHOS FUTUROS

Como possíveis trabalhos futuros, pode-se apontar a possibilidade da criação ou conversão do modelo relacional (modelo lógico) a partir de regras de mapeamento do MER para o Relacional, e também a criação do modelo físico, como disponível em algumas ferramentas proprietárias. Dessa forma, estarão disponíveis todas as funcionalidades necessárias para um projeto completo de bancos de dados

Uma outra funcionalidade que pode ser desenvolvida é a criação do modelo relacional a partir dos códigos SQL utilizando engenharia reversa, e ainda, a reversão deste modelo para o modelo conceitual (MER).

Uma terceira melhoria interessante seria a conversão da montagem do DAO (Data Access

Object) a partir do MER ou dos Scripts SQL com a utilização de alguma linguagem Orientada a

Objetos como Java, PHP e C++.

(10)

Braz. J. of Develop.,Curitiba, v. 6, n. 7, p. 49345-49354 jul. 2020. ISSN 2525-8761

REFERÊNCIAS

brModelo: Ferramenta de Modelagem Conceitual de Banco CANDIDO, C. H. (2015). de Dados. brModelo: Ferramenta de Modelagem Conceitual de Banco de Dados, http://www.sis4.com/brModelo/brModelo/brModelo.pdf. Fevereiro, 2017.

de MENDONÇA, A. M. M. (2015). Ferramenta para criação de modelos conceituais de banco de dados. Instituto Federal de Educação Cienciaˆ e Tecnologia do Amazonas.

NAVATHE, S. B. and ELMASRI, R. (2011). Sistemas de banco de dados. Addison Wesley Longman, Inc.

Paradigm, V. (2020). Visual Paradigm. Visual Paradigm, https://www.visual-paradigm.com. Junho, 2020.

PremiumSoft (2020). Navicat Data Modeler. Navicat Data Modeler, https://www2.navicat.com/pt/products/navicat-data-modeler. Junho, 2020.

Scudero, E. (2016). TOP 10 principais SGBDs do mercado global! TOP 10 principais SGBDs do mercado global!, https://becode.com.br/principais-sgbds. Fevereiro, 2018.

Imagem

Figura 1. Exemplo de criação de entidades.
Figura 3. Exemplo de criação do relacionamento e suas ligações.

Referências

Documentos relacionados