Download CmpE226-DB

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Database Design
Dr. M.E. Fayad, Professor
Computer Engineering Department, Room #283I
College of Engineering
San José State University
One Washington Square
San José, CA 95192-0180
http://www.engr.sjsu.edu/~fayad
2003
SJSU -- CmpE -- M.E. Fayad
L6-S1
MLPQ
Lesson 6:
The MLPQ System
2
2003
SJSU -- CmpE -- M.E. Fayad
L6-S2
MLPQ
Lesson Objectives
Objectives

Understand the MLPQ System

Learn about:
 The Database’s System Architecture
 MLPQ Input Files
 MLPQ Graphical User Interface
 Database Setup
3
2003
SJSU -- CmpE -- M.E. Fayad
L6-S3
MLPQ
MLPQ

MLPQ is short for Management of liner
programming queries.
 MLPQ is a constraint database system for
rational linear constraint databases.
 It allows:
– Datalog Queries
– Minimum and maximum aggregation operations
over linear objective functions
– And other operators
2003
SJSU -- CmpE -- M.E. Fayad
L6-S4
MLPQ
4
Two Main Application Areas
Operations research when the available
data in a database needs to be
reformulated by some database query
before we can solve a problem by linear
programming.
 Dealing with spatial and spatiotemporal
data. This System allows the ability to
go beyond two or three dimensions of
5
mutually constrained data.

2003
SJSU -- CmpE -- M.E. Fayad
L6-S5
MLPQ
The MLPQ Database System Architecture
 System
consists of six main modules:
– Representation
– Query Evaluation
– Visualization
– Approximation
– Update
– Export Conversion
 Refer
to Chapter 18 for a diagram and
more details
2003
SJSU -- CmpE -- M.E. Fayad
L6-S6
MLPQ
6
MLPQ Input Files

Each Input File has this structure:
begin %moduleName%
1
2
.
.
n
end %moduleName%
Where i is a Datalog Rule or Rational Linear Constraint Tuple.
7
2003
SJSU -- CmpE -- M.E. Fayad
L6-S7
MLPQ
Differences between Datalog and MLPQ
Input File
 Each Linear constraint has the form:
a 1x 1 + a 2 x 2 + … + a nx n  b
Where each ai is a constant and each xi is a variable,
and i is a relation operator of the from =, <, >, <=, or
>=.

The optional aggregate operator has the from
OP(f) where OP is one of the aggregate
operators: max, min, MAX, MIN, sum_max,
sum_min, and f is a liner function of the
variables in the rule.
8
2003
SJSU -- CmpE -- M.E. Fayad
L6-S8
MLPQ
Differences ( continued )

For negation the symbol ! Is used instead of
the word not.
 The Module Name controls what type of
query evaluation methods will be used. It
should be one of these strings:
– MLPQ – to evaluate only non-recursive Datalog Queries.
– RECURSIVE – to evaluation recursive Datalog Queries
– GIS – to evaluate both Datalog and iconic queries
2003
SJSU -- CmpE -- M.E. Fayad
L6-S9
MLPQ
9
Example Database file – regions.txt
begin%Test%
country(id,x,y,t):- id = 1, x >= 0, x <= 4, y >=5 , y <= 15, t >=1800 , t <=1950.
country(id,x,y,t):- id = 1, x >= 0, x <= 8, y >=5, y <=15, t >=1950 , t <= 2000.
country(id,x,y,t):- id = 2, x >= 4, x <= 12, y >=5 , y <=15 , t >= 1800, t <=1950 .
country(id,x,y,t):- id = 2, x >= 8, x <= 12, y >=5 , y <=15 , t >= 1950, t <= 2000.
country(id,x,y,t):- id = 3, x >= 0, x <= 12, y >=0 , y <=5 , t >= 1800, t <= 2000.
location(c,x,y):- x = 3, y = 2, c = 101.
location(c,x,y):- x = 7, y = 3, c = 102.
location(c,x,y):- x = 5, y = 6, c = 103.
location(c,x,y):- x = 7, y = 10, c = 104.
location(c,x,y):- x = 10, y = 8, c = 105.
location(c,x,y):- x = 1, y = 7, c = 106.
location(c,x,y):- x = -8, y = 6, c = 107.
growth(t,c,p):- c = 101, p = 10000 , t >=1800 , t <= 2000.
growth(t,c,p):- c = 102, p = 20000 , t >=1800 , t <= 2000.
growth(t,c,p):- c = 103, p = 10000 , t >=1800 , t <= 2000.
growth(t,c,p):- c = 104, p = 30000 , t >=1800 , t <= 2000.
growth(t,c,p):- c = 105, p = 40000 , t >=1800 , t <= 2000.
growth(t,c,p):- c = 106, p = 35000 , t >=1800 , t <= 2000.
end%Test%
2003
SJSU -- CmpE -- M.E. Fayad
L6-S10
10
MLPQ
The MLPQ Graphical User Interface
11
2003
SJSU -- CmpE -- M.E. Fayad
L6-S11
MLPQ
SQL Query

Find all cities that in 1900 belonged to the
USA and had a population of over 10000.
Click [Qs], click SQL - Basic button
In Create View field enter: “cityUSA1900”
In Select field enter: “growth.c, location.x, location.y”
In From field enter: “growth, location, country”
In Where field enter: “growth.c = location.c,
location.x = country.x,
location.y = country.y,
growth.t = 1900,
growth.p > 10000,
country.id = 1,
country.t = 1900”
2003
SJSU -- CmpE -- M.E. Fayad
L6-S12
12
MLPQ
Preparing a SQL Query
13
2003
SJSU -- CmpE -- M.E. Fayad
L6-S13
MLPQ
Results
14
2003
SJSU -- CmpE -- M.E. Fayad
L6-S14
MLPQ
Many Operators
15
2003
SJSU -- CmpE -- M.E. Fayad
L6-S15
MLPQ
Where to get the MLPQ DB System
Go to Dr. Fayad’s web site for this
course
 Click the MLPQ-PRESTO System
executable and sample database link
near the bottom of the page.
 Also read the Getting started, Tips, and
Specification documents

16
2003
SJSU -- CmpE -- M.E. Fayad
L6-S16
MLPQ
Database Setup
There is not a installer included with this
database
 Just create a directory, unzip the
contents of the archive file into this
directory
 Locate and double click the mlpq_nt.exe
file.

17
2003
SJSU -- CmpE -- M.E. Fayad
L6-S17
MLPQ
Questions?
18
2003
SJSU -- CmpE -- M.E. Fayad
L6-S18
MLPQ
Related documents