Visual User Interfaces for Database Systems

Yannis E. Ioannidis *
Department of Computer Sciences
University of Wisconsin
Madison, WI 53706
yannis@cs.wisc.edu

* Partially supported by the National Science Foundation under Grants IRI-9224741 and IRI-9157368 (PYI Award) and by grants from DEC, IBM, HP, AT&T, Oracle, and Informix.

The amount of information that is generated and becomes available in today's world is alarming. Large databases used to be available only in major corporations and organizations. Now the smallest of enterprises want to use databases to store their data, e.g., small companies record their day-to-day operation, individual scientists generate experimental data of large quantities, and of course, everybody places all kinds of information on the web, some of it under database control. Moreover, the conceptual structures (schemas) of the data that becomes available is increasing in complexity as well. In turn, this affects the queries that users want to pose on this data, whose complexity is also rising. These trends of information proliferation and increased database usage have resulted in a major expansion of the potential user base of database systems and has brought forth one of the primary inadequacies of such systems: their user interface. It is now urgently necessary to provide user interfaces that require much less database sophistication and expertise by the users than currently, but an adequate solution does not seem to be in sight.

Figure 1: Available tools for database user interfaces and their complexity/usability trade-offs.

A very high-level view of the kinds of interfaces that database systems have been offering for query specification and data visualization is shown in Figure 1. With respect to query specification, essentially all commercial database systems have provided form-based interfaces that make simple queries easily expressible by the layman. All such interfaces are essentially based on the Query-By-Example (QBE) ideas, where a skeleton of the database schema is presented to the user who then fills in the query details. No visual query languages exist, however, for expressing complex queries in a visual, intuitive way. For these, one has to use the textual language SQL, which has come to be the database lingua franca. Although SQL represents a tremendous improvement over what it replaced, e.g., Cobol, it still requires the sophistication of database programmers for all but the simplest of the queries it can express. Thus, SQL queries that involve complex aggregates, nesting, correlation, and several other features remain on a tall pedestal approachable only by the initiated. There is a growing community of potential users, however, who need to pose such complex queries, have the ability to conceptualize them, but have (understandably) no desire to learn SQL. As a token example, let us mention scientists of various disciplines who need to analyze the data resulting from large experimental studies. Unfortunately, there is pretty much nothing to help them.

With respect to data visualization the situation is similar (Figure 1). For the most part, current commercial database systems present a tabular view of the data, which is adequate for many applications, but clearly inadequate for many more. Bar-charts, x-y diagrams, etc., are offered by some systems for data visualization and are certainly helpful in many cases. They are not a complete solution, however, as they do not scale well when the conceptual structure of the data becomes complex (not naturally captured by the relational model) and/or when the amounts of data to be displayed becomes very large. Moreover, a common problem of both visual querying and data visualization is that systems are rather inflexible in what they offer. In particular, every piece of information can be visualized in an arbitrary number of ways, each one of which has different qualities, stresses different aspects of the visualized information, or appeals to different aesthetic criteria. Nevertheless, current systems offer a very limited number of choices (often a single choice) in that regard.

Visual database query languages that can express the full spectrum of complex queries desired and data visualization mechanisms that can capture the essence of large and complex data sets in ways that match users' intuition are somewhat of a Holy Grail in database user interfaces. Unfortunately, almost nobody seems to be looking for it! The HCI community is often occupied with much more visionary and long-term issues like virtual reality, pen-based interfaces, or speech recognition, etc., efforts that are not expected to affect the lives of real users for some time. The database community is mostly ignoring its user interface problems (partially because it's hard to publish HCI papers in database forums), although for the past decade or so, the topic of user interfaces always comes out as the hottest and most important in the field. In addition, its few members who are developing visual database interfaces are mostly coming up with ad hoc solutions that work in the specialized environments for which they have been designed, offering little insight into the general principles involved in database user interfaces. Moreover, most of the efforts on query specification essentially proceed backwards, i.e., start from what SQL is and try to come up with visual constructs for each SQL construct, instead of first focusing on what is a meaningful visual query language and then seeing how to map it onto SQL. Needless to say, the database and HCI communities live on their separate islands with essentially no ferry line bringing the two together.

We believe that some effort should be made to establish collaborations between the two communities through specialized funding initiatives (e.g., like NSF had for Scientific Databases and Digital Libraries) and workshops. Even for two-dimensional WIMP interfaces (based on Windows, Icons, Menus, and Pointing-devices) there are several hard research problems regarding complex querying and visualization that are currently open, so at least part of the emphasis of such collaborations should be on this kind of interfaces. Moreover, there should be some focus on understanding the fundamental principles underlying data and query visualization so that they can be incorporated in a generic fashion into systems. This will allow visual interfaces to database systems to provide easy-to-use mechanisms to specify arbitrary query and data visualizations that users may find desirable. Such work will probably touch upon several issues related to HCI and databases, e.g., constraint-based user interfaces, language processing efficiency, language expressive power, usability, and others.



Yannis Ioannidis
Fri May 17 15:20:53 CDT 1996