Query-By-Example
Transcription
Query-By-Example
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 2 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 3 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 4 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 5 Basic Queries (2) Selections – Place constant in some field Print all sailors with rating=10 Ping Zhou / CS 2310 Course Seminar 6 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 7 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 8 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 9 Unnamed Columns Create unnamed column for display Display fields from more than one tables Ping Zhou / CS 2310 Course Seminar 10 Updating Tables using QBE (1) Insertion, Deletion and Updating are done in the same way in QBE Insertion Ping Zhou / CS 2310 Course Seminar 11 Updating Tables using QBE (2) Deleting Updating Ping Zhou / CS 2310 Course Seminar 12 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 13 QBE / OBE OBE: Office Procedure by Example ◦ Incorporate QBE into office automation ◦ Research project developed by IBM Ping Zhou / CS 2310 Course Seminar 14 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 15 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 16 References Query-By-Example: a data base language, M. Zloof, 1977 Query-By-Example (QBE), http://pages.cs.wisc.edu/~dbbook/openAccess/thirdEditi 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 Seminar 17 THANK YOU! Ping Zhou / CS 2310 Course Seminar 18