1 / 16

CSPs and Relational DBs Foundations of Constraint Processing CSCE421/821, Fall 2003:

CSPs and Relational DBs Foundations of Constraint Processing CSCE421/821, Fall 2003: www.cse.unl.edu/~choueiry/F03-421-821/ Berthe Y. Choueiry (Shu-we-ri) Ferguson Hall, Room 104 choueiry@cse.unl.edu Tel: +1(402)472-5444. Background.

herndon
Download Presentation

CSPs and Relational DBs Foundations of Constraint Processing CSCE421/821, Fall 2003:

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. CSPs and Relational DBs Foundations of Constraint Processing CSCE421/821, Fall 2003: www.cse.unl.edu/~choueiry/F03-421-821/ Berthe Y. Choueiry (Shu-we-ri) Ferguson Hall, Room 104 choueiry@cse.unl.edu Tel: +1(402)472-5444 Lecture slides 3

  2. Background Strong historical & conceptual connections exist between: • Constraint Databases & Constraint Logic Programming • Query processing in Relational DBs &Solving CSPs Indeed: • Constraint databases (deductive BD, Datalog) and constraint logic programming (CLP) share the representation language (restricted forms of FOL) • Relational databases and Constraint Satisfaction share computation mechanisms Lecture slides 3

  3. Relations Binary relation: Given two sets Da and Db, a set of any 2-tuples < x, y> with  Da and y  Db defines a relationRab Ra,b = {(x, y)}  Da x Db Function:(special binary relation) For any element x in Da there is at most one tuple < x, ? >  Rab Da is called the domain of the the function Db is called the range of the function k-ary relation: Given k sets D1, D2, …, Dk, any set of k-tuples < x1, x2, ..., xk > with x1 D1, x2 D2, …, xk Dk defines a k-ary relation: R1, 2, ..., k = {(x1, x2, ..., xk)}  D1 x D2 x … x Dk Lecture slides 3

  4. Representation of relations C1 A V B C3 C2 E G F V D V Binary arrays:  2-dim binary array (i.e., binary matrix):  more generally, k-dimensional binary arrays Tables: Lecture slides 3

  5. Comparison of terminology Lecture slides 3

  6. Relational Algebra: operations on relations Database: • Intersection • Union • Difference • Selection • Projection • Join (Cartesian product), etc. CSP: • The above and composition (= combination of join and projection) Lecture slides 3

  7. Operators in Relational Algebra • Selection, projection: • unary operators, defined on one relation • Intersection, union, difference: • binary operators • relations must have same scope • Join: • binary operator • relations have different scopes Lecture slides 3

  8. Intersection x - y > 10 x + y > 10 • Input: two relations of the same scope • Output: a new more restrictive relation with the same scope, made of tuples that are in all the input relations (simultaneously) • Matrix operation: logicalAND RR' R’’ • RR’ ? RR'’ ? Okay Not defined Lecture slides 3

  9. Union • Input: two relations of the same scope • Output:a new less restrictive relation with the same scope made of tuples that are in any of the input relations • Matrix operation: logical OR RR' R’’ • RR'? RR''? Not defined Okay Lecture slides 3

  10. Difference • Input: two relations R and R' of the same scope • Output: a new more restrictive relation than R made of tuples that are in R but not in R' • Matrix operation: Boolean difference RR' R’’ R - R'? R - R''? Not defined Okay Lecture slides 3

  11. Selection • Input: A relation R and some test/predicate on attributes of R • Output: A relation R', same scope as R but containing only a subset of the tuples in R (those that satisfy the predicate) • Relation operation: row selection R Select such that x1> x2, x1> x2(R)? Lecture slides 3

  12. Projection • Input: A relation R and a subset s of the scope (attributes) • Output: A relation R' of scope s with the tuples rewritten such that positions not in s are removed • Relation operation: column elimination R Project R on x1, x2, x1, x2(R)? Lecture slides 3

  13. Join (natural join) Input: Two relations R and R' Output: A relation R'', whose scope is union of scopes of R and R' and tuples satisfy both R and R'.  R and R' have no attribute common: Cartesian product  R and R' have an attribute in common, compute all possibilities Operation: Compute all solutions to a CSP. RR" Join R and R'', RR''? Lecture slides 3

  14. Composition of relations Montanari'74 Input: two binary relations Rab and Rbc with 1 variable in common. Output: a new induced relation Rac (to be combined by intersection to a pre-existing relation between them, if any). Matrix operation: binary matrix multiplication Note: - generalization as constraint synthesis [Freuder, 1978] - Direct (explicit) vs. induced (implicit) relations Lecture slides 3

  15. Questions • Given • two variables V1 and V2 and • two constraints C1and C2 between them How do the two expressions C1C2 and C1 C2 relate? • Given • three variables V1, V2, V3 and • the binary constraints CV1, V2 and CV2, V3 write the induced CV1, V3, in relational algebra • Given • three variables V1, V2, V3 and • the binary constraints CV1, V2, CV1, V3, and CV2, V3, write the new induced C’V1, V3 in relational algebra Lecture slides 3

  16. Comparison of Terminology Lecture slides 3

More Related