From 3892f9a877a2f9e1d948ae0e095442ba6a3aa86b Mon Sep 17 00:00:00 2001 From: Oliver Kennedy Date: Sun, 3 Feb 2019 21:42:33 -0500 Subject: [PATCH] The next week of lectures --- .../cse4562sp2019/2019-02-04-RA-Basics.html | 125 ++-- .../cse4562sp2019/2019-02-06-RA-Equivs.html | 464 +++++++++++++++ .../cse4562sp2019/2019-02-08-Checkpoint1.html | 561 +++++++++++++----- .../graphics/2019-02-06-RA-Opt-1.svg | 180 ++++++ .../graphics/2019-02-06-RA-Opt-2.svg | 198 +++++++ .../graphics/2019-02-06-RA-Opt-3.svg | 198 +++++++ .../graphics/2019-02-06-RA-Opt-4.svg | 193 ++++++ .../graphics/2019-02-06-RA-Opt-5.svg | 211 +++++++ .../graphics/2019-02-06-RA-Opt-6.svg | 211 +++++++ .../graphics/2019-02-06-RA-Opt-7.svg | 195 ++++++ slides/cse4562sp2019/graphics/Clipart/DB.png | Bin 0 -> 16335 bytes .../cse4562sp2019/graphics/Clipart/File.png | Bin 0 -> 17678 bytes .../cse4562sp2019/graphics/Clipart/Server.png | Bin 0 -> 64556 bytes .../cse4562sp2019/graphics/Clipart/Window.png | Bin 0 -> 8089 bytes .../graphics/LabLogo-FullText-white.png | Bin 0 -> 90384 bytes src/teaching/cse-562/2019sp/index.erb | 29 +- 16 files changed, 2373 insertions(+), 192 deletions(-) create mode 100644 slides/cse4562sp2019/2019-02-06-RA-Equivs.html create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-1.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-2.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-3.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-4.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-5.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-6.svg create mode 100644 slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-7.svg create mode 100644 slides/cse4562sp2019/graphics/Clipart/DB.png create mode 100644 slides/cse4562sp2019/graphics/Clipart/File.png create mode 100644 slides/cse4562sp2019/graphics/Clipart/Server.png create mode 100644 slides/cse4562sp2019/graphics/Clipart/Window.png create mode 100644 slides/cse4562sp2019/graphics/LabLogo-FullText-white.png diff --git a/slides/cse4562sp2019/2019-02-04-RA-Basics.html b/slides/cse4562sp2019/2019-02-04-RA-Basics.html index 4a75ba7a..0941d4f0 100644 --- a/slides/cse4562sp2019/2019-02-04-RA-Basics.html +++ b/slides/cse4562sp2019/2019-02-04-RA-Basics.html @@ -219,7 +219,7 @@ For each week:

Relational Algebra

- + $$\pi_{R.A}(\sigma_{S.C=10}(\bowtie_{R.B = S.B}(\textbf{R}, \textbf{S})))$$
@@ -325,7 +325,7 @@ For each week:

Selection ($\sigma_{c}$)

Delete rows that fail the condition $c$.

- $$\sigma_{(BORONAME = \texttt{'Brooklyn'})} \textbf{Trees}$$ + $$\sigma_{(\textbf{BORONAME} = \texttt{'Brooklyn'})} \textbf{Trees}$$ @@ -336,6 +336,11 @@ For each week:
TREE_IDSPC_COMMONBORONAME...
204026'honeylocust''Brooklyn'...
... and 177287 more
+
+

+          SELECT * FROM Trees [[ WHERE BORONAME = 'Brooklyn' ]]
+            
+
@@ -343,7 +348,7 @@ For each week:

Delete attributes not in the projection list $A$.

- $$\pi_{BORONAME}(Trees)$$ + $$\pi_{\textbf{BORONAME}}(Trees)$$ @@ -356,14 +361,19 @@ For each week:

Only 5 results... not 683788?

Set and Bag Projection are different

+
+

+              SELECT [[ DISTINCT BORONAME ]] FROM Trees;
+            
+

Reminder: Queries are Relations

What are these queries schemas?

-
$$\pi_{TREEID, SPC\_COMMON, BORONAME} \textbf{Trees}$$
-
$$\sigma_{(BORONAME = \texttt{'Brooklyn'})} \textbf{Trees}$$
-
$$\sigma_{(BORONAME = \texttt{'Brooklyn'})}(\pi_{TREEID, SPC\_COMMON, BORONAME} \textbf{Trees})$$
+
$$\pi_{\textit{TREEID},\ \textit{SPC_COMMON},\ \textit{BORONAME}} \textbf{Trees}$$
+
$$\sigma_{(\textit{BORONAME} = \texttt{'Brooklyn'})} \textbf{Trees}$$
+
$$\sigma_{(\textit{BORONAME} = \texttt{'Brooklyn'})}(\pi_{\textit{TREEID},\ \textit{SPC_COMMON},\ \textit{BORONAME}} \textbf{Trees})$$
@@ -491,7 +501,7 @@ For each week:

(Which operators behave differently in Set- and Bag-RA?)

BORONAME
Queens
- + @@ -532,47 +542,71 @@ For each week:
-

Division ($/$)

+
+

Division ($/$)

-

Not typically supported as a primitive operator,
but useful for expressing queries like:

-

Find species that appear in all boroughs

-
- $$\pi_{BORONAME,\ SPC\_COMMON}(\textbf{Trees}) \;\;/\;\;\pi_{SPC\_COMMON}(\textbf{Trees})$$ - (using set relational algebra) -
-

- $$R / S \equiv \{\; \left<\vec t\right> \;|\; \forall \left<\vec s\right> \in S, \left< \vec t \vec s \right> \in R \;\}$$ -

+

Not typically supported as a primitive operator,
but useful for expressing queries like:

+

Find species that appear in all boroughs

+
+ $$\pi_{BORONAME,\ SPC\_COMMON}(\textbf{Trees}) \;\;/\;\;\pi_{SPC\_COMMON}(\textbf{Trees})$$ + (using set relational algebra) +
+

+ $$R / S \equiv \{\; \left<\vec t\right> \;|\; \forall \left<\vec s\right> \in S, \left< \vec t \vec s \right> \in R \;\}$$ +

+
+ +
+

Division ($/$)

+
Operator Symbol Duplicates?
Operator Symbol Creates Duplicates?
Selection $\sigma$ No
Projection $\pi$ Yes
Cross-product $\times$ No
+ + + + + + + + + + +
BORO SPC_COMMON
Brooklyn honeylocust
Brooklyn American linden
Brooklyn London planetree
Manhattan honeylocust
Manhattan American linden
Manhattan pin oak
Queens honeylocust
Queens American linden
Bronx honeylocust
+ + + + + + + +
+ / +
SPC_COMMON
honeylocust
+ + = +
BORO
Brooklyn
Manhattan
Queens
Bronx
+
+
+ / +
SPC_COMMON
honeylocust
American linden
+ + = +
BORO
Brooklyn
Manhattan
Queens
+
+
+ / +
SPC_COMMON
honeylocust
American linden
pin oak
+ + = +
BORO
Manhattan
+
+
+
+ +
+

Group Work

+

If time permits: Implement division using other operators.

+
-
- - - - - - - - - - - -
BORO SPC_COMMON
Brooklyn honeylocust
Brooklyn American linden
Brooklyn London planetree
Manhattan honeylocust
Manhattan American linden
Manhattan pin oak
Queens honeylocust
Queens American linden
Bronx honeylocust
- - - - - -
/ { honeylocust } = Brooklyn, Manhattan, Queens, Bronx
/ { honeylocust, American linden } = Brooklyn, Manhattan, Queens
/ { honeylocust, American linden, pin oak }= Manhattan
-
- -
-

Group Work

-

If time permits: Implement division using other operators.

-
- - -

Relational Algebra

@@ -586,6 +620,7 @@ For each week:

+ diff --git a/slides/cse4562sp2019/2019-02-06-RA-Equivs.html b/slides/cse4562sp2019/2019-02-06-RA-Equivs.html new file mode 100644 index 00000000..af5072ed --- /dev/null +++ b/slides/cse4562sp2019/2019-02-06-RA-Equivs.html @@ -0,0 +1,464 @@ + + + + + + + CSE 4/562 + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+ + CSE 4/562 - Database Systems +
+ +
+ +
+

Relational Algebra Equivalences

+

CSE 4/562 – Database Systems

+
February 6, 2019
+
Textbook: Ch. 16.2
+
+ +
+
+

The running theme

+

+ If X and Y are equivalent and Y is better,
+ then replace all Xs with Ys
+

+ +

Today's focus: Provable Equivalence for RA Expressions

+
+ +
+

Equivalence

+ $$Q_1 = \pi_{A}\left( \sigma_{c}( R ) \right)$$ + $$Q_2 = \sigma_{c}\left( \pi_{A}( R ) \right)$$ + +
+ $$Q_1 \stackrel{?}{\equiv} Q_2$$ +
+ +
+ +
+

Ground Rules

+
+
Only Relational Values Matter
+
Obviously $Q_1 \neq Q_2$. What we care about is whether $Q_1(R) = Q_2(R)$...
+ +
Data Independent
+
... for all valid input data $R$.
+
However, it's fair to talk about equivalence when we know the data has some properties. (more on this later)
+ +
Data-Model Dependent
+
It's important to be clear whether we're talking about sets, bags, or lists.
+
+
+ +
+

In summary...

+ +

+ We say that $Q_1 \equiv Q_2$ if and only if
+ we can guarantee that the bag of tuples produced by $Q_1(R, S, T, \ldots)$
+ is the same as the bag of tuples produced by $Q_2(R, S, T, \ldots)$
+ for any combination of valid inputs $R, S, T, \ldots$. +

+

+ ... that satisfy any necessary properties. +

+
+ +
+

Starting Rules

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Selection
$\sigma_{c_1 \wedge c_2}(R) \equiv \sigma_{c_1}(\sigma_{c_2}(R))$(Decomposability)
Projection
$\pi_{A}(R) \equiv \pi_{A}(\pi_{A \cup B}(R))$(Idempotence)
Cross Product
$R \times (S \times T) \equiv (R \times S) \times T$(Associativity)
$R \times S \equiv S \times R$(Commutativity)
Union
$R \cup (S \cup T) \equiv (R \cup S) \cup T$(Associativity)
$R \cup S \equiv S \cup R$(Commutativity)
+
+ +
+

Try it!

+ +

+ Show that + $$R \times (S \times T) \equiv T \times (S \times R)$$ +

+ + +
+

+ Show that + $$\sigma_{c_1}(\sigma_{c_2}(R)) \equiv \sigma_{c_2}(\sigma_{c_1}(R))$$ +

+
+ +
+

+ Show that + $$R \bowtie_{c} S \equiv S \bowtie_{c} R$$ +

+
+ +

+ Show that + $$\sigma_{R.B = S.B \wedge R.A > 3}(R \times S) \equiv \sigma_{R.A > 3}(R \bowtie_{B} S)$$ +

+ +
+
+ +
+
+

Rules for Multiple Operators

+
+ +
+ + + + + + +
Selection + Projection
$\pi_{A}(\sigma_{c}(R)) \equiv \sigma_{c}(\pi_{A}(R))$(Commutativity)
+

... but only if $A$ and $c$ are compatible

+

$A$ must include all columns referenced by $c$ ($cols(c)$)

+ +
+

Try it!

+

+ Show that + $$\pi_A(\sigma_c(R)) \equiv \pi_A(\sigma_c(\pi_{(A \cup cols(c))}(R)))$$ +

+
+
+ +
+ + + + + + +
Selection + Cross Product
$\sigma_c(R \times S) \equiv (\sigma_{c}(R)) \times S$(Commutativity)
+

... but only if $c$ references only columns of $R$

+

$cols(c) \subseteq cols(R)$

+ +
+

Try it!

+

+ Show that + $$\sigma_{R.B = S.B \wedge R.A > 3}(R \times S) \equiv (\sigma_{R.A > 3}(R)) \bowtie_{B} S$$ +

When is this rewrite a good idea?
+

+
+
+ +
+ + + + + + +
Projection + Cross Product
$\pi_A(R \times S) \equiv (\pi_{A_R}(R)) \times (\pi_{A_S}(S))$(Commutativity)
+

... where $A_R$ and $A_S$ are the columns of $A$ from $R$ and $S$ respectively.

+

$A_R = A \cap cols(R)$     $A_S = A \cap cols(S)$

+ +
+

Try it!

+

+ Show that + $$\pi_{A}(R \bowtie_c S) \equiv (\pi_{A_R}(R)) \bowtie_c (\pi_{A_S}(S))$$ +

When does this condition hold?
+

+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Intersection
$R \cap (S \cap T) \equiv (R \cap S) \cap T$(Associativity)
$R \cap S \equiv S \cap R$(Commutativity)
Selection +     
$\sigma_c(R \cup S) \equiv (\sigma_c(R)) \cup (\sigma_c(R))$(Commutativity)
$\sigma_c(R \cap S) \equiv (\sigma_c(R)) \cap (\sigma_c(R))$(Commutativity)
Projection +     
$\pi_A(R \cup S) \equiv (\pi_A(R)) \cup (\pi_A(R))$(Commutativity)
$\pi_A(R \cap S) \equiv (\pi_A(R)) \cap (\pi_A(R))$(Commutativity)
Cross Product + Union
$R \times (S \cup T) \equiv (R \times S) \cup (R \times T)$(Distributivity)
+
+
+ +
+
+

Example

+

+    SELECT R.A, T.E
+
+      FROM R, S, T
+
+     WHERE R.B = S.B
+       AND S.C < 5
+       AND S.D = T.D
+          
+ + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +
+ + + +
+
+ +
+
+

General Query Optimizers

+ +

Input: Dumb translation of SQL to RA

+

⬇︎

+

Apply rewrites

+

⬇︎

+

Output: Better, but equivalent query

+
+ +
+

Which rewrite rules should we apply?

+
+ +
+
+
Selection Pushdown
+
Always commute Selections as close to the leaves as possible.
+ +
Join Construction
+
Joins are always better than cross-products. (if there's a good join algorithm)
+ +
(Optional) Projection Pushdown
+
Commuting Projections down to the leaves removes redundant columns, and may be beneficial for some systems.
+ +
Join Algorithm Selection
+
Joins can be implemented differently, depending on the join predicate.
+ +
Join/Union Ordering
+
The order in which joins are evaluated may affect query runtimes.
+ +
Access Paths
+
$(\sigma_c(R))$ and $(Q(\ldots) \bowtie_c R)$ are special cases that we can make fast!
+
+

Some rewrites are situational... we need more information to decide when to apply them.

+
+ +
+

General Query Optimizers

+
    +
  1. Apply blind heuristics (e.g., push down selections)
  2. +
  3. Enumerate all possible execution plans by varying (or for a reasonable subset) +
      +
    • Join/Union Evaluation Order (commutativity, associativity, distributivity)
    • +
    • Algorithms for Joins, Aggregates, Sort, Distinct, and others
    • +
    • Data Access Paths
    • +
    +
  4. +
  5. Estimate the cost of each execution plan
  6. +
  7. Pick the execution plan with the lowest cost
  8. +
+
+ +
+ Next Class: Extended Relational Algebra and Basic Join Algorithms +
+
+ + +
+ + + + + + + diff --git a/slides/cse4562sp2019/2019-02-08-Checkpoint1.html b/slides/cse4562sp2019/2019-02-08-Checkpoint1.html index 26402bbd..4aaf726a 100644 --- a/slides/cse4562sp2019/2019-02-08-Checkpoint1.html +++ b/slides/cse4562sp2019/2019-02-08-Checkpoint1.html @@ -55,156 +55,449 @@
-

Intro

+

Checkpoint 1

CSE 4/562 – Database Systems

-
February 01, 2019
+
February 8, 2019
Textbook: Ch. 16.1
-
-
    -
  • Using CCJSQLParser
  • -
  • Using SQL ASTs
  • -
  • Select Statements
  • -
  • Create Table Statements
  • -
+
    +
  • Requirements Overview
  • +
  • CREATE TABLE
  • +
  • Volcano Evaluation
  • +
  • EvalLib
  • +
-
-

Using CCJSqlParser

+
+

Checkpoint 1

-

-	// StringReaders create a reader from a string 
-	Reader input = new StringReader("SELECT * FROM R")
+				
+					
+					
+					
+						sif$
+						
+							javac -cp build:jsqlparser.jar:evallib.jar -D build {all .java files}
+							sif$
+						
+					
+					
+						ls data/
+						R.csv      S.csv     T.csv
+						sif$
+					
+					
+						head -n 2 data/R.csv
+						1|3|5
+						2|9|1
+						sif$
+					
+					
+						java -cp build:jsqlparser.jar:evallib.jar dubstep.Main
 -
+						$>
+					
+					
+						CREATE TABLE R(A int, B int, C int);
+						$>
+					
+					
+						SELECT A, C FROM R WHERE B < 5;
+						1|5
+						...
+						$>
+					
+				
+			
+
+

Checkpoint 1

+
    +
  • Your code compiled just the same as in Checkpoint 0.
  • +
  • Print a prompt '$>' at the start and after each command.
  • +
  • CREATE TABLE statements tell you the schema of each table.
  • +
  • Data lives in a '|'-separated file in 'data/[tablename].csv'
  • +
  • Print query results '|'-separated
  • +
+
+
+
+
+ + + + → SQL + + +
CREATE TABLE PLAYERS(
+  ID string, 
+  FIRSTNAME string, 
+  LASTNAME string, 
+  FIRSTSEASON int, 
+  LASTSEASON int, 
+  WEIGHT int, 
+  BIRTHDATE date
+);
 
-	// CCJSqlParser takes a Reader or InputStream
-	CCJSqlParser parser = new CCJSqlParser(input)
+SELECT FIRSTNAME, LASTNAME, 
+       WEIGHT, BIRTHDATE 
+FROM PLAYERS 
+WHERE WEIGHT>200;
+
+
+ + + + → SQL + + + CREATE TABLE + + + + SELECT + + + +
CREATE TABLE PLAYERS(
+  ID string, 
+  FIRSTNAME string, 
+  LASTNAME string, 
+  FIRSTSEASON int, 
+  LASTSEASON int, 
+  WEIGHT int, 
+  BIRTHDATE date
+);
+ ↓ +

There is a table named "PLAYERS"... +

    +
  • ... with 7 attributes
  • +
  • ... who's attributes have the given types
  • +
  • ... with data in the file "data/PLAYERS.csv"
  • +
+

+
+
+ + + + → SQL + + + CREATE TABLE + + + + + Saved Schema + + + + .csv + + + + + SELECT + + + +
+ABDELAL01|Alaa|Abdelnaby|1990|1994|240|1968-06-24
+ABDULKA01|Kareem|Abdul-jabbar|1969|1988|225|1947-04-16
+ABDULMA01|Mahmo|Abdul-rauf|1990|2000|162|1969-03-09
+ABDULTA01|Tariq|Abdul-wahad|1997|2002|223|1974-11-03
+ABDURSH01|Shareef|Abdur-rahim|1996|2007|225|1976-12-11
+ABERNTO01|Tom|Abernethy|1976|1980|220|1954-05-06
+ABRAMJO01|John|Abramovic|1946|1947|195|1919-02-09
+ACKERAL01|Alex|Acker|2005|2008|185|1983-01-21
+ACKERDO01|Donald|Ackerman|1953|1953|183|1930-09-04
+ACRESMA01|Mark|Acres|1987|1992|220|1962-11-15
+ACTONCH01|Charles|Acton|1967|1967|210|1942-01-11
+...		
+
+
+ + + + → SQL + + + CREATE TABLE + + + + + Saved Schema + + + + .csv + + + + + + + + SELECT + + + + + + + Results + + + + + +

Example Queries

+
    +
  1. SELECT A, B, ... FROM R (Project)
  2. +
  3. SELECT A, B, ... FROM R WHERE ... (Project+Filter)
  4. +
  5. SELECT A+B AS C, ... FROM R (Map)
  6. +
  7. SELECT A+B AS C, ... FROM R WHERE ... (Map+Filter)
  8. +
  9. SELECT SUM(A+B) AS C, ... FROM R (Aggregate)
  10. +
  11. SELECT SUM(A+B) AS C, ... FROM R WHERE ... (Aggregate+Filter)
  12. +
+
+
+ + + + → SQL + + + CREATE TABLE + + + + + Saved Schema + + + + .csv + + + + + + + + SELECT + + + + + + + Results + + + + + +
    if(stmt instanceof Select){
+      SelectBody bodyBase = ((Select)stmt).getSelectBody();
+      if(bodyBase instanceof PlainSelect){
+        PlainSelect body = (PlainSelect)bodyBase;
+        ...
+        body.getFromItem()
+        body.getWhere()
+        body.getSelectItems()
+        ...
+      }
+    }
+
+
+ + + + → SQL + + + CREATE TABLE + + + + + Saved Schema + + + + .csv + + + + + + + + + + + SELECT + + + + + + + Iterators + + + + + + + Results + + + + + + + +
+
- // CCJSqlParser.Statement() returns the next - // complete Statement object from the reader or - // input stream (or null if the stream is empty). - Statement statement = parser.Statement() -
-
-
-

Using CCJSqlParser

- -

-	// System.in is an InputStream
-	CCJSqlParser parser = new CCJSqlParser(System.in)
-
-	Statement statement = parser.Statement();
-	// loop until you hit the last statement
-	while(statement != null){
-
-	  //
-	  // Do something with statement
-	  // 
-
-	  // ... then read the next statement
-	  statement = parser.Statement();
-	}
-		
-
-
- -
-
-

Abstract Syntax Trees

- -
    -
  • Statement: Select, CreateTable
  • -
  • SelectBody: PlainSelect, Union
  • -
  • FromItem: Table, Join, SubSelect
  • -
  • SelectItem: AllColumns, AllTableColumns, SelectExpressionItem
  • -
  • Expression: LongValue, AddExpression, GreaterThan
  • -
-
- -
-

-  while(statement != null){
-    if(statement instanceof Select){
-      Select select = (Select)statement;
-      // Do something with `select`
-
-    } else if(statement instanceof CreateTable){
-      CreateTable create = (CreateTable)statement;
-      // Do something with `create`
-
-    } else {
-      throw new SqlException("Can't handle: "+statement);
+		
+
+

Iterators

+

There are a number of data transformations that appear in more than one pattern. For example: +

    +
  1. Loading the CSV file in as data
  2. +
  3. Filtering rows out of data
  4. +
  5. Transforming (mapping) data into a new structure
  6. +
  7. Summarizing (aggregating) data
  8. +
  9. Printing output data
  10. +
+

+

Suggestion: Abstract these steps out

+
+
+

Idea: Functions

+
    +
  1. loadCSV(...) returns a table
  2. +
  3. filter(condition, table) returns a table
  4. +
  5. map(expressions, table) returns a table
  6. +
  7. aggregate(aggregates, table) returns a row
  8. +
  9. print(table)
  10. +
+

+

Problem: A "table" can get very very big.

+
+
+

Better Idea: Iterators

+
+
hasNext()
+
Returns true if there are more rows to return
+
next()
+
Returns the next row
+
+

All "functions" can be implemented as iterators that use constant space

+
+
+

Example: SelectOperator

+

+class SelectOperator implements RAOperator
+{
+    RAOperator child;
+    Expression condition;
+    public ProjectOperator(RAOperator child, Expression condition) {
+      this.child = child; this.condition = condition; 
     }
-    statement = parser.Statement()
-  }
-		
-
+ + public boolean hasNext(){ /* ...? */ } + public /* ...? */ next(){ /* ...? */ } +} +
+
+
+

'|'-separated Value File Suggestions

+
    +
  • Use BufferedReader's readline() method
  • +
  • Precompile your '|' splitter using java.util.regexp.Pattern.compile()
  • +
  • Parse everything upfront
  • +
  • Keep each row as an Array of PrimitiveValues
  • +
  • For Codd's sake, don't store entire tables in memory
  • +
+
+
+ + + + + + + + +
SQL TypePrimitiveValue
stringStringValue
varcharStringValue
charStringValue
intLongValue
decimalDoubleValue
dateDateValue
+
+
-
-

-	Select select = (Select)statement;
-	SelectBody body = select.getSelectBody();
-	if(body instanceof /* ... */){
-	  // ...
+		
+
+

EvalLib

+

How do you evaluate the A > 5 in
SELECT B FROM R WHERE A > 5?

+

More generally, how do you evaluate a JSqlParser Expression?

+
+
+

+    Eval eval = new Eval(){ /* we'll get what goes here shortly */ }
+				
+ +

+	// Evaluate "1 + 2.0"
+	PrimitiveValue result;
+	result = 
+	  eval.eval(
+	    new Addition(
+	      new LongPrimitive(1),
+	      new DoublePrimitive(2.0)
+	    )
+	  ); 
+	System.out.println("Result: "+result); // "Result: 3.0"
+				
+
+ +
+

+	// Evaluate "R.A >= 5"
+	result =
+	  eval.eval(
+	    new GreaterThanEquals(
+	      new Column(new Table(null, "R"), "A"), // `R.A`
+	      new LongPrimitive(5)
+	    )
+	  );
+				
+

Problem: What value should EvalLib give to R.A?

+
+ +
+

Your code needs to tell it...

+

+	Eval eval = new Eval(){
+	  public PrimitiveValue eval(Column c){ 
+	    String colName = c.getColumnName();
+	    String tableName = c.getTable().getName();
+	    PrimitiveValue ret = /* look up colName.tableName */
+	    return ret;
+	  }
 	}
-		
-
    -
  • PlainSelect: (SELECT * FROM ...)
  • -
  • Union: (SELECT * FROM ...) UNION ALL (SELECT ...)
  • -
-
+
+
+ -
-

-	Select select = (Select)statement;
-	SelectBody body = select.getSelectBody();
-	if(body instanceof PlainSelect){
-	  PlainSelect plain = (PlainSelect)body;
-	  // Do something with `plain`
-	}
-		
-
- +
+

Questions?

+
-
-
-

PlainSelect

-

-	SELECT [distinct] [selectItems]
-	FROM [fromItem], [joins, ...]
-	WHERE [where]
-	GROUP BY [groupByColumnReferences]
-	HAVING [having]
-	ORDER BY [orderByElements]
-	LIMIT [limit]
-		
- Everything in [brackets] has a method in PlainSelect -
-
-

SelectItems

-
-
AllColumns
-
SELECT *
-
AllTableColumns
-
SELECT R.*
-
SelectExpressionItem
-
SELECT R.A or SELECT R.A AS Q
-
-
- -
-

Expressions

-
    -
  • WHERE
  • -
  • HAVING
  • -
  • SelectExpressionItem
  • -
  • ORDER BY
  • -
- (To be discussed next week) -
-
diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-1.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-1.svg new file mode 100644 index 00000000..99938160 --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-1.svg @@ -0,0 +1,180 @@ + + + + + + + + + + image/svg+xml + + + + + + + σ(R.B=S.B)∧(S.C < 5)∧(S.D=T.D) + πR.A, T.E + + T + + + + + + + + R + S + + + + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-2.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-2.svg new file mode 100644 index 00000000..3799f79e --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-2.svg @@ -0,0 +1,198 @@ + + + + + + + + + + image/svg+xml + + + + + + + σ(S.D=T.D) + πR.A, T.E + + T + + + + + + + + R + S + + + + + σ(R.B=S.B)∧(S.C < 5) + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-3.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-3.svg new file mode 100644 index 00000000..49bb833c --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-3.svg @@ -0,0 +1,198 @@ + + + + + + + + + + image/svg+xml + + + + + + + σ(S.D=T.D) + πR.A, T.E + + T + + + + + + + + R + S + + + + + σ(R.B=S.B)∧(S.C < 5) + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-4.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-4.svg new file mode 100644 index 00000000..3d7a7419 --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-4.svg @@ -0,0 +1,193 @@ + + + + + + + + + + image/svg+xml + + + + + + + πR.A, T.E + T + + + + + + + R + S + + + + + σ(R.B=S.B)∧(S.C < 5) + + S.D=T.D + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-5.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-5.svg new file mode 100644 index 00000000..0bcd1fb1 --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-5.svg @@ -0,0 +1,211 @@ + + + + + + + + + + image/svg+xml + + + + + + + πR.A, T.E + T + + + + + + + R + S + + + + + σ(R.B=S.B) + + S.D=T.D + + σ(S.C < 5) + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-6.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-6.svg new file mode 100644 index 00000000..46591f0e --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-6.svg @@ -0,0 +1,211 @@ + + + + + + + + + + image/svg+xml + + + + + + + πR.A, T.E + T + + + + + + + R + S + + + + + σ(R.B=S.B) + + S.D=T.D + + σ(S.C < 5) + + + diff --git a/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-7.svg b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-7.svg new file mode 100644 index 00000000..f4f4f8b1 --- /dev/null +++ b/slides/cse4562sp2019/graphics/2019-02-06-RA-Opt-7.svg @@ -0,0 +1,195 @@ + + + + + + + + + + image/svg+xml + + + + + + + πR.A, T.E + T + + + + + + R + S + + + + + S.D=T.D + + σ(S.C < 5) + + R.B=S.B + + diff --git a/slides/cse4562sp2019/graphics/Clipart/DB.png b/slides/cse4562sp2019/graphics/Clipart/DB.png new file mode 100644 index 0000000000000000000000000000000000000000..90f993ef9257ba12a3d0d32963fac8a7d1658782 GIT binary patch literal 16335 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 NB(40hOv*Uu{{lNplO+HE literal 0 HcmV?d00001 diff --git a/slides/cse4562sp2019/graphics/Clipart/File.png b/slides/cse4562sp2019/graphics/Clipart/File.png new file mode 100644 index 0000000000000000000000000000000000000000..5bde59da5622fa8d194c197b791c5cc79c89f10f GIT binary patch literal 17678 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 Mc>G)Xznp*gKXac{=>Px# literal 0 HcmV?d00001 diff --git a/slides/cse4562sp2019/graphics/Clipart/Server.png b/slides/cse4562sp2019/graphics/Clipart/Server.png new file mode 100644 index 0000000000000000000000000000000000000000..574dbffd07295162352e47b2321a83b3f422ce1b GIT binary patch literal 64556 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%0D!R&+hK7 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 E2Ux3I6951J literal 0 HcmV?d00001 diff --git a/slides/cse4562sp2019/graphics/Clipart/Window.png b/slides/cse4562sp2019/graphics/Clipart/Window.png new file mode 100644 index 0000000000000000000000000000000000000000..d6dce0cf841b5df58a4d70686cb968e674be0caf GIT binary patch literal 8089 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 VMieEv|8pyT{fd<-?y~cf{|8uKtXBX4 literal 0 HcmV?d00001 diff --git a/slides/cse4562sp2019/graphics/LabLogo-FullText-white.png b/slides/cse4562sp2019/graphics/LabLogo-FullText-white.png new file mode 100644 index 0000000000000000000000000000000000000000..b3f42b46650d8647f1f9fb6df838a00e92a3bc55 GIT binary patch literal 90384 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 y7IUYvL0nU7livMSvJKa0xIhn}3DDvjp?sqt^ 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%0D~phRsHiAeHcP zn`l$nNZ$AHhU#vz-ErnBdr2d{*bs4qD9DCZY3nh-$`>Paq?G$rWura!lvuJjfn0e$ z`X1-FZ&R-Y?F^RC{nt#i(zayo6sr~+4|UB|W#1t!RtkjO-}~nM!M-}Y1`U;>;K+dCir9}|f4guv|}p&{G9l714c)}M#@II@Hr@3eu**hFg)j$W4xZW$e*05 zpIJ@nbqvpj(^-)-Qc|lceBN*Ea5O1go%^gBsTg1~OS5)_=NfDMP@)$ASkW)}kj}GX zkIDE4dS93wQgJ$eh-^XkBR1(+Bt|4BT=uVWBi_S}Z2fItEQwf=mFX{#SF{Mm(q9HH z!d2O>bV3=d#!vilcz{vL~ccvgfL$jw;ifh08 zT7U~K?spPpC%fRq!!E8Q-VUq(=0?dhm~+TH>-zEPyo@e@@uMq=U?J$2d3#7h%DmzD z@kO4m{ft=W%GiupRw}b{{=rd_2xnr(AT402bnEhqGdD2g~!L!MqyeH7-TJjto92n6dt9xJWNCOTZYcz2{ z+Q@)bx5ZfBX+8%<|IGM-|13*83z~slvl-Ur{{lam{}cG}iUHoul$82kUXhXD+8IV5I2U zVw}^{d|bm*oaWTYxxov34?3~3BiQcTGO(3+y%nRTZxru|Y4B$4&FGZ8r!VFFU$0Cf zDAAG=AjQyuTfj;D%5Ms0rzV4`ZCpixLw0l*3Sh^g>x=UNT{&(G_{%`Bf3ueXmAD%2xBtF4~`S zMSs&p#4_LGV7PMgPC|k;?zZNf*yq>MN8+g(o*rqP7eqE!+ zf(C(cadSl_wnkr5)0BOXyVuw>>6?ETVLyC{kLrX6DDG*RtaZ_!V()xxDqSBfGAufr zS_1%fiFst?4@(i0hgtNQ4Vd?6K`p;SlCDL&kJ#s4bZ7 zX_upU)qC!%8=%4;pwa^lJN8nmd-Yhx%dC7nQVRYW*LXmnLq!nxWF5ED>}4CHeL;*! zs+A|Fi(=Qq+cl2PLx15`(H5LXQw9@+>0ynKeU&r;C*iV>SBU|3$R{_Y0sRs!KDs`; zXj>`w)!1%`@e$o}xaDB6dOVpu#>Z#XwBFRBG^STQ;hZ18)C)me{3S;#ughPB-?=)` z*5xdOyIk~>k@+<0E)pcFW;6%lA$}+{{VVZ!huiDF@82iVTPX`I+~28@w~ioF-d&M|mOLORl5;TQ{>^r{T#H8XIMK8NJ>M z!E&!kjeVoPyw(&1JU zl5--hIl(+h`9EZB+W4=6YC7q9vP0{^e{c-P{BgJdYVeVf0FU1rP#s%`$?qU^9}9%- zv{Z5N=5N|7tnqR;jHxgIJ2r!Or)n7UCS#va1TM;=kwLON(RrXM7k=O^wHAvWHMt|Ys^x0h&7MM^}zEUW?_m%?UvTK%H zmEWvollACvRj=+g^4Vp^ja~C^IGJ=e`-z>>0+W&gAE!iB68(yF6UY{;%5jva3BBn6 zOp%nldSLr>o%z?BduG6`5lDfizaR$9|4$Gj0nYH!SjU+hCfICOk1!tGOSwz}b%>Uy zNCjRof9PC&K5!sZSO{myNzS=Xf$0mw6v*~I3eJ|J-y^i$nDB-DccQD*8SF=EB$0)& zo@fR>=HU{d=Y*2lFk>CA8{KMMw?v8?x^@qpCE(zyCRI7Yk$EQ(Cv&!&6Eu5Sgsdx6 z?=PpXnBh-3qn>_g6yB3d0hfKBfUYMLO;CPgb9LSN@CruWT=fE}L{J@uBTg?**BZ?y z;qICv9-TfIXB)s_KC+PfMl|MHfp*TP;#$SBK(r7Zf=NxzXx$mD&~+#aw>qj&=_$tQ z>5#!E)4f3YYw|Yqt)@wLk(K!#GOpwSljL9g7A)ne2UbROrcBIi%Cd z0;KI<5U26>+NR5hbBYv-%SBgatNw)S9@kNyYJU;Bldl+EoHWujS?Ly+H<;mfP)5R?enfFIAtp$36+d7l&-ETV_M zL~z17he@fs^gR4NE*Zh@0*Zu$)d>H7iiz0#KtCOJG`VN+(JSG=db3~g)@4W zn{w2Dw)Qv{YBBoZgGKh{PYgt{N5lo8!hzng%XCl}AY@Fgu-idtGRHiMUH~MH?-Q?)x*zgufQak+ zcW%~{zyLEAxHO#5uPZ*P7XzVo3ljqn>yWg=}WYL$OA#Patew% zX~a#pf1qIR)1!wSB$ao9L=xB(MdQISPtwHjUcXu5D=neQ^ktY*xE|z

r<@~Y$ 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 Jmvv4FO#p;t>T3W1 literal 0 HcmV?d00001 diff --git a/src/teaching/cse-562/2019sp/index.erb b/src/teaching/cse-562/2019sp/index.erb index f4e5f65f..1b886922 100644 --- a/src/teaching/cse-562/2019sp/index.erb +++ b/src/teaching/cse-562/2019sp/index.erb @@ -19,18 +19,21 @@ schedule: materials: slides: "https://odin.cse.buffalo.edu/slides/cse4562sp2019/2019-02-04-RA-Basics.html" - date: "Feb 6" - due: "Homework 1" topic: "Relational Algebra Equivalences" textbook: "16.2" + materials: + slides: "https://odin.cse.buffalo.edu/slides/cse4562sp2019/2019-02-06-RA-Equivs.html" - date: "Feb 8" due: "Checkpoint 0" topic: "Checkpoint 1" textbook: "Ch. 15.1-15.3, 16.3" + materials: + slides: "https://odin.cse.buffalo.edu/slides/cse4562sp2019/2019-02-08-Checkpoint1.html" - date: "Feb 11" - topic: "Evaluating Relational Algebra" + topic: "Basic Algorithms" textbook: "Ch. 15.1-15.5, 16.7" - date: "Feb 13" - due: "Homework 2" + due: "Homework 1" topic: "Extended Relational Algebra" textbook: "Ch. 5.2, 15.4" - date: "Feb 15" @@ -41,7 +44,7 @@ schedule: topic: "Indexing (Intro + Tree Indexes)" textbook: "Ch. 8.3-8.4, 14.1-14.2, 14.4" - date: "Feb 20" - due: "Homework 3" + due: "Homework 2" topic: "Indexing (Hash Indexes + Modern Indexes)" note: Learned indexes, LSM Trees textbook: "Ch. 14.3" @@ -57,7 +60,7 @@ schedule: topic: "Checkpoint 2" textbook: "Ch. 15.1-15.5, 16.2-16.3, 16.7" - date: "Feb 27" - due: "Homework 4" + due: "Homework 3" topic: "External (2-Pass) Algorithms (contd.)" textbook: "Ch. 15.4-15.5, 15.8" textbook: @@ -69,7 +72,7 @@ schedule: topic: "Database Statistics 1/2" textbook: "Ch. 16.4-16.5" - date: "Mar 6" - due: "Homework 5" + due: "Homework 4" topic: "Database Statistics 2/2" textbook: "Ch. 16.4-16.5" - date: "Mar 8" @@ -93,7 +96,7 @@ schedule: topic: "Materialized Views" textbook: "Ch. 8.5" - date: "Mar 27" - due: "Homework 6" + due: "Homework 5" topic: "SQL DDL and Constraints" textbook: "Ch. 7.1-7.4" - date: "Mar 29" @@ -106,7 +109,7 @@ schedule: - date: "Apr 3" topic: "Pessimistic Transaction Control" textbook: "Ch. 18.3-18.7, 19.2" - due: "Homework 7" + due: "Homework 6" - date: "Apr 5" topic: "Pessimistic Transaction Control (contd.)" textbook: "Ch. 18.3-18.7, 19.2" @@ -115,7 +118,7 @@ schedule: topic: "Checkpoint 4" textbook: "Ch. 15.7, 16.4-16.6" - date: "Apr 10" - due: "Homework 8" + due: "Homework 7" topic: "Optimistic Transaction Control" textbook: "Ch. 18.8-18.9" - date: "Apr 12" @@ -125,7 +128,7 @@ schedule: topic: "Logging + ARIES Recovery (contd.)" textbook: "Ch. 17.1-17.5" - date: "Apr 17" - due: "Homework 9" + due: "Homework 8" topic: "Distributed Algorithms" textbook: "Ch. 20.1-20.4" - date: "Apr 19" @@ -135,7 +138,7 @@ schedule: topic: "Distributed Updates" textbook: "Ch. 20.5-20.6" - date: "Apr 24" - due: "Homework 10" + due: "Homework 9" topic: "Distributed Updates (contd.)" textbook: "Ch. 20.5-20.6" - date: "Apr 26" @@ -145,12 +148,12 @@ schedule: topic: "Approximate Query Processing" textbook: "Ch. 23.5" - date: "May 1" - due: "Homework 11" + due: "Homework 10" topic: "Provenance Queries" - date: "May 3" topic: "Provenance for Uncertainty" - date: "May 6" - due: "Homework 12" + due: "Homework 11" topic: "Buffer Day" - date: "May 8" topic: "Final Exam Review 1"