Problem Solving with Constraints

Slides:



Advertisements
Similar presentations
Relational Algebra, Join and QBE Yong Choi School of Business CSUB, Bakersfield.
Advertisements

Relational Algebra Dashiell Fryer. What is Relational Algebra? Relational algebra is a procedural query language. Relational algebra is a procedural query.
Foundations of Constraint Processing More on Constraint Consistency 1 Foundations of Constraint Processing CSCE421/821, Spring
Foundations of Relational Implementation n Defining Relational Data n Relational Data Manipulation n Relational Algebra.
CMPT 354, Simon Fraser University, Fall 2008, Martin Ester 52 Database Systems I Relational Algebra.
Problem Solving with Constraints, Fall 2011 Odds and Ends: Modeling Examples & Graphical Representations 1Odds & Ends Problem Solving with Constraints.
Foundations of Constraint Processing, Fall 2005 October 21, 2005CSPs and Relational DBs1 Foundations of Constraint Processing CSCE421/821, Fall 2005:
A Constraint Satisfaction Problem (CSP) is a combinatorial decision problem defined by a set of variables, a set of domain values for these variables,
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
One More Normal Form Consider the dependencies: Product Company Company, State Product Is it in BCNF?
Relational Algebra.
Relational Algebra Instructor: Mohamed Eltabakh 1.
DBSQL 3-1 Copyright © Genetic Computer School 2009 Chapter 3 Relational Database Model.
Chapter 2 Adapted from Silberschatz, et al. CHECK SLIDE 16.
Constraint Satisfaction Problems (CSPs) CPSC 322 – CSP 1 Poole & Mackworth textbook: Sections § Lecturer: Alan Mackworth September 28, 2012.
CSE314 Database Systems The Relational Algebra and Relational Calculus Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
1 The Relational Database Model. 2 Learning Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical.
Relational Algebra A presentation for CS 457 By Dawn Haddan.
M Taimoor Khan Course Objectives 1) Basic Concepts 2) Tools 3) Database architecture and design 4) Flow of data (DFDs)
9/7/2012ISC329 Isabelle Bichindaritz1 The Relational Database Model.
1 Relational Algebra and Calculas Chapter 4, Part A.
The Relational Algebra and Calculus
From Relational Algebra to SQL CS 157B Enrique Tang.
Advanced Relational Algebra & SQL (Part1 )
Presented By: Miss N. Nembhard. Relation Algebra Relational Algebra is : the formal description of how a relational database operates the mathematics.
CSC271 Database Systems Lecture # 7. Summary: Previous Lecture  Relational keys  Integrity constraints  Views.
Foundations of Constraint Processing, Fall 2004 October 3, 2004Interchangeability in CSPs1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
Foundations of Constraint Processing, Fall 2012 Odds and Ends: Modeling Examples & Graphical Representations 1Odds & Ends Foundations of Constraint Processing.
Problem Solving with Constraints CSPs and Relational DBs1 Problem Solving with Constraints CSCE496/896, Fall
LECTURE THREE RELATIONAL ALGEBRA 11. Objectives  Meaning of the term relational completeness.  How to form queries in relational algebra. 22Relational.
Query Languages Language in which user requests information from the database. Categories of languages Procedural Non-procedural, or declarative “Pure”
©Silberschatz, Korth and Sudarshan2.1Database System Concepts - 6 th Edition Chapter 8: Relational Algebra.
Ritu CHaturvedi Some figures are adapted from T. COnnolly
Automatic Test Generation
CSE202 Database Management Systems
Module 2: Intro to Relational Model
Chapter # 6 The Relational Algebra and Calculus
Relational Model By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany)
Relational Algebra - Part 1
Relational Algebra at a Glance
Chapter 2: Intro to Relational Model
Rationale & Strategies Foundations of Constraint Processing
Discrete Structures for Computer Science
Linear Systems Chapter 3.
The Relational Algebra and Relational Calculus
Foundations of Constraint Processing
CSPs and Relational DBs
Path Consistency & Global Consistency Properties
More on Constraint Consistency
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Graphing systems of linear equations and inequalities
Data Manipulation using Relational Algebra
Rationale & Strategies Foundations of Constraint Processing
More on Constraint Consistency
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Chapter 2: Intro to Relational Model
Chapter 6: Formal Relational Query Languages
Example of a Relation attributes (or columns) tuples (or rows)
Intelligent Backtracking Algorithms: A Theoretical Evaluation
Chapter 2: Intro to Relational Model
Rationale & Strategies Foundations of Constraint Processing
Odds and Ends Modeling Examples & Graphical Representations
Problem Solving with Constraints
Problem Solving with Constraints
Relational Model B.Ramamurthy 5/28/2019 B.Ramamurthy.
Structure-Based Methods Foundations of Constraint Processing
Rationale & Strategies Foundations of Constraint Processing
Presentation transcript:

Problem Solving with Constraints CSPs & Relational DBs Problem Solving with Constraints CSCE421/821, Spring 2018 www.cse.unl.edu/~choueiry/S18-421-821/ All questions Piazza Berthe Y. Choueiry (Shu-we-ri) Avery Hall, Room 360 Tel: +1(402)472-5444 CSPs and Relational DBs

CSPs and Relational DBs 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 CSPs and Relational DBs

CSPs and Relational DBs Relations Binary relation: Given two sets Da and Db, a set of any 2-tuples < x, y> 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 < x, ? >  Rab Da is called the domain of the the function Db is called the co-domain 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 CSPs and Relational DBs

Representation of relations Binary arrays:  2-dim binary array (i.e., bit matrix):  more generally, k-dimensional binary arrays Tables: A B V C1 D V C2 E F G C3 V CSPs and Relational DBs

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 CSPs and Relational DBs

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) CSPs and Relational DBs

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 CSPs and Relational DBs

CSPs and Relational DBs 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 CSPs and Relational DBs

CSPs and Relational DBs 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 CSPs and Relational DBs

CSPs and Relational DBs 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 CSPs and Relational DBs

CSPs and Relational DBs 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, ? CSPs and Relational DBs

CSPs and Relational DBs 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, ? CSPs and Relational DBs

CSPs and Relational DBs 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''? CSPs and Relational DBs

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). Bit-matrix operation: matrix multiplication Note: - generalization as constraint synthesis [Freuder, 1978] - Direct (explicit) vs. induced (implicit) relations CSPs and Relational DBs

CSPs and Relational DBs 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? three variables V1, V2, V3 and the binary constraints CV1, V2 and CV2, V3 write the induced CV1, V3, in relational algebra the binary constraints CV1, V2, CV1, V3, and CV2, V3, write the new induced C’V1, V3 in relational algebra CSPs and Relational DBs

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 CSPs and Relational DBs

CSPs and Relational DBs DB versus CSP DB: Relations Few relations in a query Usually, high arity relations Usually, selective 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) Typically, much looser than in DB Domains Small-size domains Finite (frequent), but also continuous (with arbitrary relations). Seeking (in general) one solution Cost model: computational cost CSPs and Relational DBs