Presentation is loading. Please wait.

Presentation is loading. Please wait.

Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs1 Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/

Similar presentations


Presentation on theme: "Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs1 Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/"— Presentation transcript:

1 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs1 Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/ Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 123B choueiry@cse.unl.edu Tel: +1(402)472-5444

2 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs2 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

3 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs3 Relations Binary relation: Given two sets D a and D b, a set of any 2-tuples with  D a and y  D b defines a relation R ab R a,b = {(x, y)}  D a x D b Function: (special binary relation) For any element x in D a there is at most one tuple  R ab D a is called the domain of the the function D b is called the range of the function k-ary relation: Given k sets D 1, D 2, …, D k, any set of k-tuples with x 1  D 1, x 2  D 2, …, x k  D k defines a k-ary relation: R 1, 2,..., k = {(x 1, x 2,..., x k )}  D 1 x D 2 x … x D k

4 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs4 Representation of relations Binary arrays:  2-dim binary array (i.e., bit matrix):  more generally, k-dimensional binary arrays Tables: A B V C 1 D V C 2 E F G C 3 V

5 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs5 Comparison of terminology DB terminologyCSP terminology Table, relationConstraint Relation arityConstraint arity AttributeCSP variable Value of an attributeValue of a variable Domain of an attributeDomain of a variable Tuple in a tableTuple in a constraint Tuple allowed by an constraint Tuple consistent with a constraint Constraint relation (in constraint databases) Constraint of linear (in)equality

6 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs6 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)

7 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs7 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

8 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs8 Intersection 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) Bit-matrix operation: logical AND R R ' R ’’ R  R ’ ? R  R '’ ? x + y > 10 x - y > 10 Okay Not defined

9 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs9 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 Bit-matrix operation: logical OR R R ' R ’’ R  R '? R  R ''? Okay Not defined

10 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs10 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 ' Bit-matrix operation: Boolean difference R R ' R ’’ R - R '? R - R ''? Okay Not defined

11 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs11 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 x 1 > x 2,  x1> x2 ( R )?

12 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs12 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 x 1, x 2,  x1, x2 ( R )?

13 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs13 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. R R " Join R and R '', R R '' ?

14 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs14 Composition of relations Montanari'74 Input: two binary relations R ab and R bc with 1 variable in common. Output: a new induced relation R ac (to be combined by intersection to a pre-existing relation between them, if any). Bit-matrix operation: matrix multiplication Note: - generalization as constraint synthesis [Freuder, 1978] - Direct (explicit) vs. induced (implicit) relations

15 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs15 Questions 1.Given two variables V 1 and V 2 and two constraints C 1 and C 2 between them How do the two expressions C 1  C 2 and C 1 C 2 relate? 2.Given three variables V 1, V 2, V 3 and the binary constraints C V1, V2 and C V2, V3 write the induced C V1, V3, in relational algebra 3.Given three variables V 1, V 2, V 3 and the binary constraints C V1, V2, C V1, V3, and C V2, V3, write the new induced C’ V1, V3 in relational algebra

16 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs16 Comparison of Terminology DatabasesCSPs (Natural, inner) joinSynthesized constraint Left/right outer joinSynthesized constraint including (some) inconsistent tuples Projection of a joinInduced constraint (Composition of two constraints) Computing r 1 r 2 … r i Finding all solutions to the conjunction of the constraints r k

17 Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs17 DB vs. CSP DB: Relations –Few relations in a query –Usually, high arity relations Domains –Large domains, many, many tuples –Mostly finite (CDB introduce continuous domains, restricted to linear constraints) Seeking (almost) all tuples Cost model: I/O disk access, memory size CSPs: Relations –Many, many relations –Mostly low-arity relations (binary) Domains –Small-size domains –Finite (frequent), but also continuous (with arbitrary relations). Seeking (in general) one solution Cost model: computational cost


Download ppt "Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs1 Foundations of Constraint Processing CSCE421/821, Fall 2005: www.cse.unl.edu/~choueiry/F05-421-821/"

Similar presentations


Ads by Google