Query-By-Example Ping Zhou
Introduction to QBE Query-By-Example A high-level database management language Alternation to SQL for querying relational database Can be translated to SQL Developed at IBM (M. Zloof) ◦ Many Databases have QBE-like extension Ping Zhou / CS 2310 Course Seminar2
Why QBE? Convenient and unified way to query, update, define and control database Requires little knowledge to the user, minimizes the concepts user needs to learn Simple yet wide coverage of transactions Graphical and tabular interface Ping Zhou / CS 2310 Course Seminar3
Basic Concepts Instead of writing text SQL commands… ◦ Programming is done within 2-D “skeleton tables” ◦ Constant vs Variable Ping Zhou / CS 2310 Course Seminar4
Basic Queries (1) Print the names and ages of all sailors… Variables that appear only once can be omitted Shorthand to print all fields Ping Zhou / CS 2310 Course Seminar5
Basic Queries (2) Selections – Place constant in some field Print all sailors with rating=10 Ping Zhou / CS 2310 Course Seminar6
Ordering and Grouping Order the answer using AO (ascending order) or DO (descending order) Duplicate tuples can be eliminated by using UNO. Ping Zhou / CS 2310 Course Seminar7
Select tuples from two relations by placing same variable at join column Queries Over Multiple Relations Find sailors who reserved a boat for 8/24/96, and who are older than 25. Ping Zhou / CS 2310 Course Seminar8
Select Using Condition Box Condition box ◦ Express a condition involving two or more columns. E.g.: _R/_A > 0.2 ◦ Express a condition involving aggregate operation on a group ◦ Express a condition involving AND and OR operators Ping Zhou / CS 2310 Course Seminar9
Unnamed Columns Create unnamed column for display Display fields from more than one tables Ping Zhou / CS 2310 Course Seminar10
Updating Tables using QBE (1) Insertion, Deletion and Updating are done in the same way in QBE Insertion Ping Zhou / CS 2310 Course Seminar11
Updating Tables using QBE (2) Deleting Updating Ping Zhou / CS 2310 Course Seminar12
Changes Brought by QBE User Interface ◦ Text command -> Graphical, Tabular ◦ User draw the table he wants directly Easier to learn ◦ Higher scores than SQL users in paper and pencil testing Ping Zhou / CS 2310 Course Seminar13
QBE / OBE OBE: Office Procedure by Example ◦ Incorporate QBE into office automation ◦ Research project developed by IBM Ping Zhou / CS 2310 Course Seminar14
Spatial QBE Adding spatial extension to QBE Retrieve all ATMs along Route 64 Retrieve all banks within 100 meters from Washington Hotel. Ping Zhou / CS 2310 Course Seminar15
Multimedia Queries with QBE Similarity function Find all oil paintings from a Dutch painter which are similar to the given picture. Ping Zhou / CS 2310 Course Seminar16
References Query-By-Example: a data base language, M. Zloof, 1977 Query-By-Example (QBE), on/qbe.pdf on/qbe.pdf A Human Factors Experimental Comparison of SQL and QBE, Minnie Yi-Miin Yen and Richard W. Scamell, 1993 Spatial QBE Interface for Web GIS, Shapiee Abd Rahman, Subhash Bhalla, 2005 WS-QBE: A QBE-like Query Language for Complex Multimedia Queries, Ingo Schmitt, Nadine Schulz, Thomas Herstel, 2005 Ping Zhou / CS 2310 Course Seminar17
THANK YOU! Ping Zhou / CS 2310 Course Seminar18