Escolar Documentos
Profissional Documentos
Cultura Documentos
fo rn e c e
F o rn e c e d o r F o rn e c im e n to E m p re s a
n n
c o n tra ta d a
por 1
n n
C lie n te C o n tra ta T ra b a lh a
a te n d id o
n
n
1 ch efe
A te n d e
F u n c io n rio 1
n C h e fia
n 1
D e p e n d e n te Tem
s u b o rd in a d o
d e p e n d e n te
A Figura 2 mostra a janela inicial usada pelo usurio para a Fig. 3. Segunda janela
formulao de consultas ao banco de dados. No lado direito e
inferior da janela, um conjunto de palavras, relativas ao Na Figura 3, na parte inferior (prximas opes para a
esquema do banco de dados, apresentada ao usurio. pergunta), um novo conjunto de palavras listado para
Ainda em relao Figura 2, no lado esquerdo inferior da escolha pelo usurio. Tais palavras so usadas para a
janela, aparecem duas palavras-chaves: Qual(is) e Quanto(s), especificao do predicado que exprime uma condio.
que do ao usurio informao sobre quais categorias de Novamente, a presso sobre o boto avanar d
consulta podero ser definidas. Na parte superior da janela prosseguimento definio da consulta, apresentando novas
(pergunta escolhida), a consulta que est sendo formulada palavras, neste caso, operadores de comparao, uma das
apresentada, como uma forma de feedback ao usurio. Para quais deve ser escolhida. E assim, passo a passo, o usurio
prosseguir, os botes voltar, avanar e executar (parte prossegue at que considere que a formulao da consulta
superior da janela) devem ser utilizados. O boto avanar esteja finalizada. Neste ponto ele poder pedir a execuo da
conduz a uma nova janela (Figura 3). consulta (boto executar), sendo que o resultado ser
apresentado numa nova janela. Para melhor compreenso,
tendo em vista o esquema da figura 1, suponha-se a seguinte
consulta:
Quais empregados ganham salrio acima de 2000 e
DE SOUZA et al.: A TOOL FOR QUERY FORMULATION 281
consulta apresentada neste artigo. Pode-se usar um autmato correspondentes. Em alguns casos o mesmo elemento aparece
finito regular [12] para representar gramticas. A Figura 10 mais de uma vez na mesma consulta; nestas situaes
mostra a gramtica usada para gerar a estrutura definida na apropriado criar um alias para cada repetio. Para resolver
Figura 9. este problema, a ferramenta cria um nmero seqencial para
cada uma das repeties do mesmo elemento.
Para a clusula WHERE a ferramenta pode tomar duas
aes distintas: uma que consiste na definio de uma juno
natural e outra que utiliza filtros aplicados pelo usurio sobre
atributos especficos. No primeiro caso, a ferramenta
identifica a seqncia de elementos E, P e E. Cada seqncia
desse tipo representa, na representao fsica, uma tabela, uma
Fig. 9. Exemplo de uma consulta e sua estrutura chave-estrangeira e outra tabela, sendo ento possvel
identificar as tabelas e respectivos atributos que devem ser
consistidos para a formulao da juno natural. O segundo
caso requer que a ferramenta identifique a seqncia E, A, O
B. Conversor de Consultas para SQL e V, o que permite a criao de um filtro que tem o atributo A
A funo do mdulo conversor de consultas para SQL da entidade E, o operador de comparao O e o valor V.
converter uma sentena estruturada em portugus para uma Finalmente, neste caso, a ferramenta mapeia os elementos A e
consulta SQL vlida equivalente. Sempre possvel criar um E, respectivamente, aos nomes do atributo e da tabela fsica
parser que mapeie uma frase de estrutura conhecida e sem correspondentes.
ambigidades para outra, tambm conhecida e sem
ambigidades ([13]-[14]-[15]). Assim, pode-se converter a IV. CONCLUSO
consulta com a estrutura definida na figure 8 para uma
Este artigo apresentou uma ferramenta para acesso a banco
consulta SQL padro.
de dados relacionais. Nesta ferramenta, todos os
relacionamentos so descritos atravs dos papis que as
entidades apresentam em ambos os sentidos de cada
relacionamento. Outro aspecto importante, que a informao
semntica do esquema conceitual usada no nvel fsico. Com
isso pde-se criar uma linguagem intermediria entre a SQL e
a linguagem natural que permite que o usurio recupere
informao de banco de dados relacionais, sem que seja
necessrio conhecer SQL nem o esquema de dados.
Dois critrios podem ser usados na avaliao de uma
ferramenta de criao de consultas: a capacidade funcional ou
a usabilidade [2]. O foco da ferramenta aqui apresentada foi
usabilidade. Assim, algumas funcionalidades no foram
implementadas como funes agregadas, clusulas group by
dentre outras, e as operaes que alteram o estado de banco de
dados. Entretanto, as que foram permitem que um grande
nmero de consultas seja criado. Alm disso, os conceitos
apresentados podem ser utilizados para implementaes de
mais funcionalidades.
Fig. 10. Autmato finito regular que representa a gramtica adotada Foram realizados alguns testes de usabilidade da
ferramenta com usurios com pouco ou nenhum conhecimento
A estrutura definida na figura 8 pode ser representada por sobre banco de dados, mas acostumados com o uso de
trs clusulas SQL: SELECT, FROM and WHERE. O mdulo computadores. Esses testes foram feitos com 20 usurios. O
usa as informaes especificadas na sentena e, em alguns objetivo foi avaliar a facilidade de aprendizado e de adaptao
casos, em tabelas auxiliares para construir cada clusula SQL. ou a satisfao do usurio no uso do produto. Todos os
Para a clusula SELECT, basta que a ferramenta identifique usurios conseguiram identificar os botes de comando,
o elemento Q na sentena. Se o elemento corresponder fazendo a associao correta entre a imagem e a
palavra Qual(is), a clusula SELECT ser SELECT *, e se funcionalidade implementada. Na formulao de consultas,
for Quanto(s)s, ser SELECT COUNT(*). testes foram feitos sem que o usurio tivesse conhecimento
Para a clusula FROM, a ferramenta percorre a estrutura da prvio do esquema. Neste caso, trs relataram dificuldade
consulta, identificando todos os elementos E. Na seqncia, quanto compreenso do significado de algumas opes de
mapeia esses elementos aos nomes das tabelas fsicas perguntas feitas pela ferramenta, ex. tem empresa (figura 3),
a qual pode ter diferentes interpretaes dependendo da
284 IEEE LATIN AMERICA TRANSACTIONS, VOL. 4, NO. 4, JUNE 2006
V. BIBLIOGRAFIA
[1] J. Reinschmidt, C. Comsia and A. R. Santos, A DB2 Enterprise Query
Environment - Build it with QMF for Windows, vol. 1, IBM Corporation,
International Technical Support Organization, 1998, pp. 24.
[2] T. Catarci et al, Visual Query System for Databases: A Survey,
Journal of Visual Languages and Computing, vol.8, pp. 215-260, Jun.
1997.
[3] M. Chavda and Peter T. Wood, A Visual Query Language for ODMG-
Compliant Databases QUIVER, in Proc. 1997 IEEE Symposium on
Visual Languages, pp. 125-126.
[4] Y. Dennebouy, et al, Super: Visual Interface for Object + Relational
Data Models, in Proc. (1995) Visual Database System - DBMS Visual
Interfaces. pp. 365-380.
[5] T. Angelaccio, T. Catarci and G. Santucci, QBD*: A Graphical Query
Language with Recursion, IEEE Trans. on Software Engineering, vol.
16, n. 10, pp. 1150-1163, Out. 1990.
[6] T. Angelaccio, T. Catarci and G. Santucci, QBD*: A Fully Visual
Query System, Journal on Visual Languages and Computing, vol. 1,
pp. 255-273, Out. 1987.
[7] T. Catarci, What Happened When Database Researchers Met
Usability, Information System, vol. 25, n. 3, pp. 177-212, 2000.
[8] M. M. Zloof, Query-By-Example: a Database Language, IBM System
Journal, vol. 16, pp. 324-343, 1977.
[9] T. A. Halpin, Business Rules and Object Role Modeling, Database
Programming & Design, vol. 9, n. 10, pp. 66-72, 1996.
[10] T. A. Halpin, Object-Role Modeling (ORM/NIAM), in Handbook on
Architectures of Information Systems, 1998, cap. 4.
[11] G. Booch, J. Rumbaugh and I. Jacobson, The Unified Modeling
Language User Guide, Addison-Wesley, 1999.
[12] H. R. Lewis and C. H. Papadimitriou, Elements of the Theory of
Computation, Prentice-Hall, 2q ed, 1997.
[13] A. H. M. Ter Hofstede and T. P. Van Der Weide, Exploring Fact
Verbalizations for Query Formulation, Department of Computer
Science, The University of Queensland, Brisbane, Australia. 1997.
[14] A. M. Turing, On Computable Numbers, with an Application to the
Entscheidungs problem, in Proc. London Mathematical Society, vol.
42, pp. 230-265 e vol. 43, pp. 544-546, 1936.
[15] A. M. Turing, On Computable Numbers, with an Application to the
Entscheidungs problem, in Proc. London Mathematical Society, vol.
43, pp. 544-546, 1936.
VI. BIOGRAFIAS
Solange Nice Alves de Souza. Graduao (1986) - Licenciatura em Fsica
pela Universidade Federal Fluminense, RJ ; Mestrado (1991) - Engenharia
Nuclear pela Universidade Federal do Rio de Janeiro, RJ; Ps-graduao
(Latu Sensu) (1991) - Anlise de Sistemas pela Pontifcia Universidade
Catlica do Rio de Janeiro, RJ; Doutorado (1998) - Engenharia Eltrica pela
Escola Politcnica da Universidade de So Paulo (USP). Docente da Escola
Politcnica da USP e do Centro Universitrio Fundao Instituto de Ensino
para Osasco (UNIFIEO) nos cursos de graduao e ps-graduao.