Complex Visual Querying without SQL: Mashup in-memory data and persistent data - Rosalino, Cláudia Carabineiro da Silva (2022)
This dissertation has the intent of increasing the level of expressiveness of a visual interface that allows users to query data without resorting to textual query languages. Although it was in the 1970s that Relational Database Management Systems appeared, the standard way to interact with them remains to be through SQL, a textual query language. One of the main problems with these kinds of languages is that they require technical skills and knowledge of query language, syntax and domain schema. Consequently, database man- agement was considered only accessible to experienced users for a long time. In recent years, with the explosion of the Web, the volume of data available to everyone grew exponentially. This way, it became necessary to make data retrieval accessible not only to expert users but also to users without database knowledge. Visual Query Systems emerged in the late 1970s to hide the complexity of query languages behind a visual interface and improving the effec- tiveness of human-computer communication. Since then, many different approaches have been proposed and studied. The OutSystems platform provides a graphical query interface called Aggregates that allows its users to formulate queries through the manipulation of visual components. However, this tool does not yet support the same level of expressiveness as SQL. This dissertation aims at increasing the level of expressiveness of the Aggregates by propos- ing different solutions for the implementation of the IN and NOT IN clauses without compro- mising the global experience for any kind of user. In order to achieve this, an iterative devel- opment process was used, including the design, implementation and evaluation of prototypes. In this dissertation, we present a functional solution, integrated into the OutSystems platform. The results show that we were able to turn the filtering of persistent data by in-memory data very accessible to OutSystems Developers and also to regular Developers with no or very little experience using the OutSystems platform.