250 likes | 375 Views
VI Q ING V isual I nteractive Q ueryING. Chris Olston UC Berkeley. 14th IEEE Symposium on Visual Languages Halifax, Nova Scotia, Canada September 1st - 4th, 1998 . Authors Chris Olston, Michael Stonebraker, Alexander Aiken, Joseph M. Hellerstein. Outline. Introduction Related Work
E N D
VIQINGVisual Interactive QueryING Chris Olston UC Berkeley 14th IEEE Symposium on Visual LanguagesHalifax, Nova Scotia, Canada September 1st - 4th, 1998 Authors Chris Olston, Michael Stonebraker, Alexander Aiken, Joseph M. Hellerstein
Outline • Introduction • Related Work • Background • Visual query results • Specifying visual queries • How VIQING generalizes other work • Status and future work
? Introduction • Databases are hard to use • Difficult to understand data in textual form • SQL query language hard to learn • Visual Programming Can Help! • Database visualization systems (like DataSplash) display data in graphical form • VIQING provides a simple interface for expressing queries over visualizations
? ? Related Work • Other interfaces offer visual programming • Visualization • QBE, Cupid, Tioga-1, AVS, Khoros, MS-Access, DEVise • Querying • 4GLs, Tioga-1, AVS, Khoros, Access, DEVise, Magic Lenses • But only VIQING/DataSplash offers a unified visual programming model for visualization and visual querying
Background • DataSplash is a data visualization tool that displays database data in graphical form • Each row in a database table gets translated into one graphical object on a canvas DataSplash Database 1.5232 2.8238 3.9221 Table Canvas One row
Example DataSplash Visualization • This visualization shows which political party each state has favored since 1952 • A DataSplash canvas can be infinitely panned and zoomed Red: Democrat Blue: Republican Each state is one database row
Bush ‘88 Clinton ‘92 Dukakis ‘88 Bush ‘92 Portals: Nested Visualizations • Portals are sub-windows in one canvas that show another canvas • Portals can be independently panned and zoomed This portal contains a canvas of presidential candidates ordered by year (X axis), with the winner on top (Y axis) A Portal
Outline • Introduction • Related Work • Background • Visual query results • Specifying visual queries • How VIQING generalizes other work • Status and future work
? Visual Selection • A visual selection displays only rows that pass a selection filter • Which states voted Democratic in 1992? Note that all red (traditionally Democratic) states voted Democratic in 1992
? Presidential Candidates States Visual Join • A visual join ( ) combines information from two or more database tables via portals Each presidential candidate has a portal containing the states that voted for him One join portal for every row in the candidates table
Outline • Introduction • Related Work • Background • Visual query results • Specifying visual queries • How VIQING generalizes other work • Status and future work
? User Interface: Performing a Visual Selection • Select graphical rows by rubber-banding • The result: • The canvas inside the portal has only 6 rows • Selection portals can be used for visual joins ... A portal that contains only the selected rows
? Performing a Visual Join • Drag . . . . . . . . and Drop Join 1960’s presidential candidates with political parties VIQING Chris Olston, UC Berkeley
? Parties Candidates States The Result: A Three-Level Visual Join • Now candidates are joined with political parties • We know which candidates belong to which parties • Can see trends for each party over time
? Parties Candidates States Visual Reordering • Visual queries have an ordering • Visual reordering can be performed after the join • To reorder: drop a portal onto a row of its child canvas
? Parties States Candidates Result of Visual Reordering • Now, parties join with states, which join with candidates • We can see the voting history of each state, by traditional party Georgia voted with the other Democrat states in ‘60, but against them in ‘64
Benefits of VIQING Queries • Easier to use than SQL • Can incrementally build and refine queries • Query manipulations on custom graphical representation of data, which is easier to understand than text • Don’t need to know SQL syntax -- just drag and drop (direct-manipulation)
Join Predicates • We have not discussed how VIQING knows what join predicates to use • In most cases, join predicates are equality • eg, candidate.party_name = party.party_name • These can be inferred from foreign key relationships defined at schema creation time • Alternatively, could specify more general join predicates with a tool like MS Access
92-TX-R Removing Intermediate Tables • Often, 2 tables join via an intermediate table • eg, Candidates Vote records States • However, we don’t want to see the intermediate table • we want Candidates States • To do this, visually remove intermediate • Drag intermediate portal away from the canvas
Outline • Introduction • Related Work • Background • Visual query results • Specifying visual queries • How VIQING generalizes other work • Status and future work
How VIQING Generalizes Other Work • VIQING generalizes nested report writers • Each level of nesting is a set of join portals • Drill-down performed by entering a join portal • VIQING generalizes master/detail forms • Master-detail relationship is a join • Data entry support could be added to DataSplash
Z = 5 Z = 10 Generalizing “Small Multiple” Graphs • VIQING can create “small multiple” graphs • Several views of a graph, indexed by a variable • This is a visual join between a canvas which contains several values for the index variable and the graph canvas
Status and Future Work • Implemented as an extension to DataSplash • Future work: • Support for more SQL query expressibility • aggregates, subqueries, etc. • An automatic way to expose meta-data • Which portals correspond to which tables? • Improved support for large data sets • This is a DataSplash issue, orthogonal to VIQING
? Summary • VIQING combines querying with visualization by using portals • Construct basic SQL queries by direct manipulation of pictorial data • Visual select, join, reorder, remove intermediate • Create nested reports, master/detail forms • Generate “small multiple” graphs
For more info... • Paper in Proc. Visual Languages 1998 • Or my web page: http://datasplash.cs.berkeley.edu/cao • Email me: cao@cs.berkeley.edu