CONSTRUÇÃO DE UM GERADOR GRÁFICO DE CONSULTAS SQL VIA WEB UTILIZANDO A PLATAFORMA .NET L. R. B. SCHMITZ1, J. G. SOUZA2 IV Jornada de Iniciação Científica do CEULP/ULBRA RESUMO: Este trabalho tem como objetivo a construção de um gerador gráfico de consultas SQL via Web, para que mesmo usuários com pouco conhecimento da linguagem SQL, possam efetuar consultas em tabelas de uma base de dados disponível na Web. PALAVRAS CHAVE: ASP.NET, SQL, DHTML. ÁRVORE DO CONHECIMENTO: Ciências Exatas e da Terra, Ciência da Computação, Metodologia e Técnicas da Computação, Banco de Dados. CONSTRUCTION OF A GRAPHICAL GENERATOR OF CONSULTATIONS SQL SAW WEB USING THE .NET PLATAFORM ABSTRACT: This work has as objective the construction of a graphical generator of SQL queries through the Web, so that even users with little knowledge of the SQL language, can make queries in tables of an available database in the Web. KEYWORDS: ASP.NET, SQL, DHTML. INTRODUÇÃO: Os sistemas voltados para a Web ganham mais espaço a cada dia. Estes sistemas tornam-se complexos, possuindo funcionalidades de acesso a bancos de dados e gerenciamento de transações. Geralmente, quando um usuário do sistema deseja visualizar informações do banco de dados, acessa as funcionalidades de relatórios já implementadas no sistema; quando algum relatório com informações das quais ele necessita não existe disponível no sistema, o usuário pode tentar entrar em contato com a equipe de desenvolvimento e solicitar que essa nova funcionalidade seja implementada. Esta situação pode gerar dificuldades tanto para o desenvolvedor, que precisará implementar a funcionalidade, quanto para o usuário, que muitas vezes não dispõe de tempo para esperar que a funcionalidade solicitada seja fornecida. Este trabalho propõe a implementação de um utilitário semelhante ao criador gráfico de consultas já existente em alguns gerenciadores de bancos de dados para desktop, tais como o SQL Server Enterprise Manager e o Microsoft Access. Com este gerador gráfico de consultas, o usuário poderá, entre outras funcionalidades: visualizar uma lista de tabelas existentes no banco de dados, visualizar uma lista de campos de cada tabela e selecionar os campos de uma tabela. O modelo gráfico da consulta é uma representação visual das tabelas que estão selecionadas para a consulta e dos campos que serão exibidos. Ainda, os relacionamentos entre as tabelas também são representados (na forma de ligações entre as tabelas). O sistema criará a representação em linguagem SQL a partir do modelo gráfico criado pelo usuário. À medida que o modelo gráfico é modificado, a consulta também é modificada, para ficar de acordo com as modificações realizadas na estrutura do modelo gráfico. Caso o usuário que esteja utilizando o sistema tenha um conhecimento maior sobre a linguagem SQL, ele pode alterar a consulta diretamente, sendo que essa alteração será refletida automaticamente na parte gráfica de geração da consulta. Uma representação da arquitetura do sistema pode ser vista na Figura 1. 1 2 Aluno do curso Sistemas de Informação do CEULP/ULBRA (63) 223-2067. E-mail: [email protected] Professor do curso Sistemas de Informação do CEULP/ULBRA (63) 223-2067. E-mail: [email protected] Figura 1 – Arquitetura do sistema Como visto na Figura 1, o sistema funcionaria da seguinte maneira: A aplicação faria inicialmente um acesso a base de dados na Web para fornecer ao usuário a lista das tabelas disponíveis e dos seus respectivos campos. Após conhecer a estrutura da base de dados o usuário monta a consulta desejada tanto através da parte gráfica (DHTML), como na linguagem SQL. Ao terminar de construir a consulta e executa-la, o sistema faz um novo acesso a base de dados, agora para buscar o resultado da consulta gerada pelo usuário. Por fim é retornado o resultado da consulta em forma de uma tabela com os campos e seus respectivos valores em cada um dos registros retornados. MATERIAIS E MÉTODOS: A Plataforma .NET foi escolhida por possuir muitos recursos de acesso a bases de dados. Para trabalhar a parte gráfica da geração de consultas, juntamente com o .NET será utilizado o conjunto de tecnologias conhecido como DHTML (Dynamic Hyper Text Markup Language), que permite uma interação entre HTML (Hyper Text Markup Language), Javascript e CSS (Cascading Style Sheets) na construção de páginas Web SILVA (2001). Esse conjunto de tecnologias disponibiliza ferramentas necessárias para tornar dinâmica uma página Web. Entre outras funcionalidades, disponibiliza: animação através da movimentação de elementos em uma página; formatação e posicionamento de elementos HTML, como alterar cor, posicionamento e outras propriedades; interação com o usuário através de uma linguagem de programação como o JavaScript UPHOSTING (2004). HTML é a linguagem mais utilizada para publicação de páginas na Web. Pode ser criada e processada por uma grande variedade de ferramentas, desde simples editores de texto plano até sofisticadas ferramentas WYSIWYG. HTML usa tags (marcações) para estruturar seu conteúdo W3C (2004). CSS é um mecanismo para adicionar estilos a documentos Web W3C (2004). JavaScript é uma linguagem dirigida por eventos. Sempre que algum evento ocorre na página, o código javascript pode realizar alguma ação. Evento é tudo que ocorre na página, por exemplo, o clique de um botão, o movimento do mouse, etc FEATHER (1997). De acordo com MACHADO (1996) SQL (Structured Query Language) tornou-se, através do ANSI (American National Standard Institute), o padrão oficial da linguagem de consulta de dados em ambientes relacionais. W3SCHOOLS (2004) relata que sentenças e instruções SQL são utilizadas para, além de consultar, também atualizar, inserir e remover informações de uma base de dados. Para isso ela dispõe de algumas palavras chave, tais como: SELECT – para consultar; UPDATE – para atualizar; DELETE – para remover; e INSERT INTO – para inserir informações na base de dados. Segundo PAINE (2001), o ASP.NET é uma tecnologia que permite construir e controlar páginas web dinâmicas. Para MSDN (2004) ASP.NET é mais que a próxima versão do ASP, ele provê um modelo de desenvolvimento que engloba os serviços necessários para que os desenvolvedores construam aplicações Web. ASP.NET foi projetado para trabalhar perfeitamente com editores WYSIWYG e outras ferramentas de programação, entre elas o Microsoft Visual Studio.NET. RESULTADOS E DISCUSSÕES: O sistema proposto será dividido inicialmente em 3 (três) módulos: o de acesso a base de dados; o de geração gráfica da consulta; e o de execução da consulta na base de dados e visualização do resultado. O primeiro módulo é executado logo que o sistema é iniciado, quando a aplicação trás ao usuário as tabelas existentes na base, para que este possa escolher em quais quer executar uma consulta. Assim que as tabelas são escolhidas, o usuário começa a utilizar o segundo módulo. Um protótipo da interface do segundo módulo do sistema está representado na Figura 2. Figura 2 – Protótipo de interface do sistema. A Figura 2 apresenta um protótipo da interface do módulo de criação da consulta, onde ao usuário são exibidas as tabelas por ele escolhidas com os seus respectivos campos e relacionamentos. A partir dessa visualização a consulta pode ser construída e o terceiro módulo do sistema é acionado: o de execução da consulta na base de dados, para que seja possível visualizar o resultado. Caso a consulta gerada seja válida de acordo com o padrão SQL, uma tabela com os registros selecionados será retornada ao usuário em uma nova página Web. Caso exista algum erro na consulta, o mesmo é retornado em forma de mensagem ao usuário. Um problema encontrado no desenvolvimento da aplicação de acesso a dados é que o mecanismo de segurança de dados necessita ser bem definido no servidor do banco de dados. Como ela fornece acesso a uma Base de Dados disposta na Web, a questão da segurança se torna muito importante. Segurança no sentido de quais tabelas o usuário poderá acessar e que tipo de comandos SQL poderá executar na Base de Dados. CONCLUSÕES: A partir da criação e utilização do sistema apresentado neste trabalho, mesmo usuários com pouco ou nenhum conhecimento de SQL e Banco de Dados, poderão efetuar consultas em Bases de Dados disponíveis na Web, tendo acesso a informações de um modo que melhor satisfaça suas necessidades. Essa aplicação pode ser executada junto a qualquer sistema disponível na Web que tenha acesso a uma Base de Dados. A utilização de DHTML na geração gráfica de consultas facilita a geração do código SQL, fazendo com que o sistema seja de fácil utilização. REFERÊNCIAS BIBLIOGRÁFICAS: [MACHADO, 1996] MACHADO, Felipe Nery Rodrigues. Projeto de Banco de Dados: uma visão prática. São Paulo: Érica, 1996. [W3SCHOOLS, 2004] Refsnes Data, Introduction to HTML. Disponível em: <http://www.w3schools.com/html/html_intro.asp>. Acesso em: 01 de abr. 2004. [W3SCHOOLS, 2004] Refsnes Data, SQL Introduction. Disponível em: <http://www.w3schools.com/sql/sql_intro.asp>. Acesso em: 02 de abr. 2004. [UPHOSTING, 2004] UpHosting.com.br – Brasil, Untitled Document. Disponível em: <http://www.uphosting.com.br/suporte/dhml1.htm>. Acesso em 10 de mar. 2004. [PAINE, 2001] PAYNE, Chris. Aprenda em 21 dias ASP.NET. Rio de Janeiro: Campus, 2001. [MSDN, 2004] Microsoft Corporation, Introduction to ASP.NET . Disponível em: <http://msdn.microsoft.com/library/default.asp?url=/library/enus/cpguide/html/cpconIntroductionToASP.asp>. Acesso em 10 de mar. 2004. [SILVA, 2001] SILVA, Osmar J. DHTML: Estilos e Conteúdo Dinâmico. São Paulo, Editora Érica, 2001. [W3C, 2004] W3C, W3C HTML Home Page. Disponível em: <http://www.w3.org/MarkUp/>. Acesso em: 01 de abr. 2004. [W3C, 2004] Bert Bos, Cascading Style Sheets. Disponível em: <http://www.w3.org/Style/CSS/>. Acesso em: 01 de abr. 2004. [FEATHER, 1997] FEATHER, Stephen. JavaScript em exemplos. São Paulo: Makron Books, 1997