180 likes | 360 Views
Query-By-Example. Ping Zhou 2008.3. 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. Why QBE?.
E N D
Query-By-Example Ping Zhou 2008.3
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 Seminar
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 Seminar
Basic Concepts • Instead of writing text SQL commands… • Programming is done within 2-D “skeleton tables” • Constant vs Variable Ping Zhou / CS 2310 Course Seminar
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 Seminar
Basic Queries (2) • Selections – Place constant in some field Print all sailors with rating=10 Ping Zhou / CS 2310 Course Seminar
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 Seminar
Queries Over Multiple Relations • Select tuples from two relations by placing same variable at join column Find sailors who reserved a boat for 8/24/96, and who are older than 25. Ping Zhou / CS 2310 Course Seminar
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 Seminar
Unnamed Columns • Create unnamed column for display • Display fields from more than one tables Ping Zhou / CS 2310 Course Seminar
Updating Tables using QBE (1) • Insertion, Deletion and Updating are done in the same way in QBE • Insertion Ping Zhou / CS 2310 Course Seminar
Updating Tables using QBE (2) • Deleting • Updating Ping Zhou / CS 2310 Course Seminar
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 Seminar
QBE / OBE • OBE: Office Procedure by Example • Incorporate QBE into office automation • Research project developed by IBM Ping Zhou / CS 2310 Course Seminar
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 Seminar
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 Seminar
References • Query-By-Example: a data base language, M. Zloof, 1977 • Query-By-Example (QBE), http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEdition/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 Seminar
Thank You! Ping Zhou / CS 2310 Course Seminar