Virtual
April 16, 2021
April 16, 2021
April 17, 2021
Labs and experiential learning
13
10.18260/1-2--38288
https://peer.asee.org/38288
423
I am a teaching assistant professor in the Department of Computer Science at The University of Illinois at Urbana-Champaign. My research interests are broadly in the field of databases, with a focus on data management. I am particularly interested in applying machine learning methods to various problems of modern data management systems. I am also interested in CS education research.
Undergraduate student majoring in Computer Science at Unversity of Illinois at Urbana-Champaign
A senior computer science student studying at the University of Illinois at Urbana-Champaign.
A graduate in the year of 2020 with 2 masters degree in Computer Science and Information Management from the University of Illinois - Urbana-Champaign, with a life long goal to pursue knowledge in the field of computer science in hopes of making a significant contribution to society through science and technology.
With more organizations relying on data to make crucial business decisions, database systems have become essential in managing financial, medical, and scientific data. Consequently, managing databases has become a necessary skill for programmers, data analysts, and data scientists to accelerate scientific inquiry and business decision-making. However, with the abundance of database models (types), such as relational, graph, document-oriented, beginner learners often find it challenging to decide what database model they should learn. Experienced developers also struggle to learn new database models as different models have different data structures and query languages.
In this paper, we introduce TriQL: Tribus linguis query, Latin for three query languages. TriQL is a system for helping novices learn the structures (schema) and query languages of three major database systems, including MySQL (a relational, SQL-Structured Query Language, database), Neo4J (a graph database), and MongoDB (a document/collection-oriented database). TriQL offers learners a GUI (Graphical User Interface) that allows users to design and execute a query against a generic database schema without requiring them to have any database programming experience. TriQL converts the generated user-query into three database query languages: SQL, Cypher (Neo4J's query language), and MongoDB. The user will then examine the generated queries and can view the results of each of the generated queries on its native data model. For instance, TriQL produces an interactive Neo4J graph for the Cypher query. It allows users to interact with the graph giving them the same experience as working with the native Neo4J database engine.
Allowing users to examine their generic query on three database models can help users quickly learn the three query languages and understand the tradeoffs between the different database models. Our tool captures the core data operations common between the three models, including selection (filtering data), projection (redefining the output schema), grouping, and aggregation. We achieved this by utilizing advanced database techniques, such as data integration and database logical programming. First, we developed a generic database schema that captures the relational, graph and document-oriented models' properties. Second, we use DataLog, a powerful declarative logic query language with an elegant formalization, to capture the core of relational, graph-based, and document-oriented query languages. Once a user submits a generic query (represented as a JSON, JavaScript Object Notation, structure), TriQL converts the query into DataLog. Then, TriQL converts the DataLog query into SQL, Cypher, and MongoDB. Concurrently, TriQL also transforms the generic database (JSON) schema shown to the user into a relational database (relational tables), Neo4J (nodes and edges that connects them), and MongoDB (a collection of JSON documents). Finally, TriQL executes each generated query on its corresponding database engine and output its native result to the user. The user can then examine the three generated queries along with their outputs. They can also modify their query using TriQL's user-friendly GUI and resubmit it again to see the effects of their changes. Such an interactive approach is beneficial for users to learn by examples in a dynamic and agile fashion.
Alawini, A., & Rao, P., & Zhou, L., & Kang, L., & HO, P. (2021, April), Work-In-Progress: TriQL: A tool for learning relational, graph and document-oriented database programming. Paper presented at 2021 Illinois-Indiana Regional Conference, Virtual. 10.18260/1-2--38288
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2021 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015