1 / 8

Chapter 5: Other Relational Languages

Chapter 5: Other Relational Languages. Query-by-Example (QBE) Datalog. Query-by-Example (QBE). A graphical query language which is based (roughly) on the domain relational calculus Two dimensional syntax – system creates templates of relations that are requested by users

ilori
Télécharger la présentation

Chapter 5: Other Relational Languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5: Other Relational Languages • Query-by-Example (QBE) • Datalog

  2. Query-by-Example (QBE) • A graphical query language which is based (roughly) on the domain relational calculus • Two dimensional syntax – system creates templates of relations that are requested by users • Queries are expressed “by example” • Microsoft Access supports a variant of QBE called Graphical Query By Example (GQBE)

  3. QBE Skeleton Tables for the Bank Example

  4. Queries on One Relation • Find all loan numbers at the Perryridge branch. • _x is a variable (optional; can be omitted in above query) • P. means print (display) • duplicates are removed by default • Find the names of all customers who have a loan from the Perryridge branch.

  5. The Condition Box • Allows the expression of constraints on domain variables that are either inconvenient or impossible to express within the skeleton tables. • Complex conditions can be used in condition boxes • E.g. Find the loan numbers of all loans made to Smith, to Jones, or to both jointly

  6. Datalog • Prolog-like logic-based language that allows recursive queries (based on first-order logic) • A Datalog program consists of a set of rules that define views. • Example: define a view relation v1 containing account numbers and balances for accounts at the Perryridge branch with a balance of over $700. v1(A, B) :– account(A, “Perryridge”, B), B > 700. • Retrieve the balance of account number “A-217” in the view relation v1. ? v1(“A-217”, B). • To find account number and balance of all accounts in v1 that have a balance greater than 800 ? v1(A,B), B > 800

  7. Syntax of Datalog Rules • A (positive) literal has the form p(t1, t2 ..., tn) • p is the name of a relation with n attributes • each tiis either a constant or variable • Comparison operations are treated as predicates • E.g. X > Y is treated as a predicate >(X,Y) • “>” is conceptually an (infinite) relation that contains all pairs of values such that the first value is greater than the second value • Arithmetic operations are also treated as predicates • E.g. A = B + C is treated as +(B, C, A), where the relation “+” contains all triples such that the third value is thesum of the first two

  8. Syntax of Datalog Rules (Cont.) • Rulesare built out of literals and have the form: p(t1, t2, ..., tn) :– L1, L2, ..., Lm. • each of the Li’s is a literal • head – the literal p(t1, t2, ..., tn) • body – the rest of the literals • A factis a rule with an empty body, written in the form: p(v1, v2, ..., vn). • indicates tuple (v1, v2, ..., vn) is in relation p

More Related