CSPs and Relational DBs - PowerPoint PPT Presentation

About This Presentation
Title:

CSPs and Relational DBs

Description:

Input: two relations of the same scope ... R and some test/predicate on attributes of R ... R and R' have an attribute in common, compute all possibilities ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 17
Provided by: catherinel5
Learn more at: http://cse.unl.edu
Category:

less

Transcript and Presenter's Notes

Title: CSPs and Relational DBs


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_at_cse.unl.edu
  • Tel 1(402)472-5444

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

3
Relations
  • Binary relation Given two sets Da and Db, a set
    of any 2-tuples
  • lt x, ygt with ? Da and y ? Db defines a relation
    Rab
  • Ra,b (x, y) ? Da x Db
  • Function (special binary relation)
  • For any element x in Da there is at most one
    tuple lt x, ? gt ? 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
  • lt x1, x2, ..., xk gt with x1 ? D1, x2 ? D2, ,
    xk ? Dk defines a
  • k-ary relation R1, 2, ..., k (x1, x2, ...,
    xk) ? D1 x D2 x x Dk

4
Representation of relations
  • Binary arrays
  • ? 2-dim binary array (i.e., binary matrix)
  • ? more generally, k-dimensional binary arrays
  • Tables

5
Comparison of terminology
DB terminology CSP terminology
Table, relation Constraint
Relation arity Constraint arity
Attribute CSP variable
Value of an attribute Value of a variable
Domain of an attribute Domain of a variable
Tuple in a table Tuple in a constraint Tuple allowed by an constraint Tuple consistent with a constraint
Constraint relation (in constraint databases) Constraint of linear (in)equality
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)

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

8
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)
  • Matrix operation logical AND
  • R R' R
  • R ? R ? R ? R' ?

Okay
Not defined
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
  • R R' R
  • R ? R'? R ? R''?

Not defined
Okay
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
  • R R' R
  • R - R'? R - R''?

Not defined
Okay
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 x1gt x2, ?x1gt x2(R)?

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)?

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.
  • R R"
  • Join R and R'', R R''?

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

15
Questions
  • Given
  • two variables V1 and V2 and
  • two constraints C1 and 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 CV1, V3 in
    relational algebra

16
Comparison of Terminology
Databases CSPs
(Natural, inner) join Synthesized constraint
Left/right outer join Synthesized constraint including (some) inconsistent tuples
Projection of a join Induced constraint (Composition of two constraints)
Computing r1 r2 ri Finding all solutions to the conjunction of the constraints rk
Write a Comment
User Comments (0)
About PowerShow.com