Algorithm of Aggregate Function SUM

Slides:



Advertisements
Similar presentations
Lesson 3 Working with Formulas.
Advertisements

What is a spreadsheet? A spreadsheet is a program used for performing calculations on a table divided into rows and columns. Cells in a spreadsheet can.
Spreadsheets… a software program that allows you to use rows and columns of data to manage, predict, and present information. COLUMN ROW CELL (intersection)
1 Advanced SQL Queries. 2 Example Tables Used Reserves sidbidday /10/04 11/12/04 Sailors sidsnameratingage Dustin Lubber Rusty.
Comp 122, Spring 2004 Binary Search Trees. btrees - 2 Comp 122, Spring 2004 Binary Trees  Recursive definition 1.An empty tree is a binary tree 2.A node.
15.8 Algorithms using more than two passes Presented By: Seungbeom Ma (ID 125) Professor: Dr. T. Y. Lin Computer Science Department San Jose State University.
Chapter 6 Additional Relational Operations Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Concepts of Database Management Seventh Edition
Concepts of Database Management Sixth Edition
Concepts of Database Management Seventh Edition
CS411 Database Systems Kazuhiro Minami 06: SQL. Join Expressions.
Chapter 11 Group Functions
The University of Akron Dept of Business Technology Computer Information Systems The Relational Model: Query-By-Example (QBE) 2440: 180 Database Concepts.
ONE PASS ALGORITHM PRESENTED BY: PRADHYUMAN RAOL ID : 114 Instructor: Dr T.Y. LIN.
ONE PASS ALGORITHM PRESENTED BY: PRADHYUMAN RAOL ID : 114 Instructor: Dr T.Y. LIN.
Introduction to Oracle9i: SQL1 SQL Group Functions.
--The SQL Query Language DML--1 LIKE  LIKE allows to select character strings which have some element in common by using wild cards:  Wild cards:  “%”
Basic Practice of Statistics - 3rd Edition
Concepts of Database Management, Fifth Edition
Xin  Syntax ◦ SELECT field1 AS title1, field2 AS title2,... ◦ FROM table1, table2 ◦ WHERE conditions  Make a query that returns all records.
CISC 235: Topic 6 Game Trees.
Chapter 6 Group Functions. Chapter Objectives  Differentiate between single-row and multiple-row functions  Use the SUM and AVG functions for numeric.
Copyright 2007, Paradigm Publishing Inc. ACCESS 2007 Chapter 4 BACKNEXTEND 4-1 LINKS TO OBJECTIVES Query Design Query Criteria Modify a Query Using OR.
Calculating Two’s Complement. The two's complement of a binary number is defined as the value obtained by subtracting the number from a large power of.
1 Single Table Queries. 2 Objectives  SELECT, WHERE  AND / OR / NOT conditions  Computed columns  LIKE, IN, BETWEEN operators  ORDER BY, GROUP BY,
Concepts of Database Management Seventh Edition
Using Special Operators (LIKE and IN)
Querying a Database - A question or an inquiry (dictionary.com) - WHAT ARE WE ASKING QUESTIONS ABOUT? THE DATA - BY ASKING QUESTIONS OF THE DATA WE OBTAIN?
Copyright © Cengage Learning. All rights reserved. 2 Descriptive Analysis and Presentation of Single-Variable Data.
Course title: Database-ii Chap No: 03 “Advanced SQL” Course instructor: ILTAF MEHDI.
Aggregate Function Computation and Iceberg Querying in Vertical Databases Yue (Jenny) Cui Advisor: Dr. William Perrizo Master Thesis Oral Defense Department.
1 Chapter 3 Single Table Queries. 2 Simple Queries Query - a question represented in a way that the DBMS can understand Basic format SELECT-FROM Optional.
SQL LANGUAGE TUTORIAL Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha.
Copyright © Cengage Learning. All rights reserved. 2 Descriptive Analysis and Presentation of Single-Variable Data.
Spreadsheet Calculations Formulas & Functions Computer Applications I.
Concepts of Database Management, Fifth Edition Chapter 3: The Relational Model 2: SQL.
Aggregate Function Computation and Iceberg Querying in Vertical Databases Yue (Jenny) Cui Advisor: Dr. William Perrizo Master Thesis Oral Defense Department.
Excel AVERAGEIF Function
Queries.
An Iterative FFT We rewrite the loop to calculate nkyk[1] once
Chapter 3 Introduction to SQL(3)
Efficient Ranking of Keyword Queries Using P-trees
Yue (Jenny) Cui and William Perrizo North Dakota State University
Chapter 2: Intro to Relational Model
Chapter 2: Intro to Relational Model
Yue (Jenny) Cui and William Perrizo North Dakota State University
Data Mining Concept Description
Classification by Decision Tree Induction
מדינת ישראל הוועדה לאנרגיה אטומית
The Relational Algebra and Relational Calculus
Chapter 4 Summary Query.
MongoDB Aggregations.
MongoDB Aggregations.
Relational Algebra.
One-Pass Algorithms for Database Operations (15.2)
Lesson 4: Introduction to Functions
Query Functions.
Day 52 – Box-and-Whisker.
Section 4 - Sorting/Functions
MongoDB Aggregations.
Every number has its place!
CHAPTER 2: Basic Summary Statistics
How do we organize data in a way that is meaningful?
Algorithm for the Aggregate Function SUM
Algorithms CSCI 235, Spring 2019 Lecture 19 Order Statistics
LINQ to SQL Part 3.
Shelly Cashman: Microsoft Access 2016
Number Summaries and Box Plots.
Introduction to SQL Server and the Structure Query Language
Group Operations Part IV.
Presentation transcript:

Algorithm of Aggregate Function SUM SUM function: Sum function can total a field of numerical values. Algorithm 4.1 Evaluating sum () with P-tree. total = 0.00; For i = 0 to n { total = total + 2i * RootCount (Pi); } Return total Algorithm 4. 1. Sum Aggregate

Algorithm of Aggregate Function SUM P4,3 P4,2 P4,1 P4,0 10 5 6 7 11 9 3 1 1 1 1 For example, if we want to know the total number of products which were sold out in relation S, the procedure is showed on left {3} {3} {5} {5} 23 * + 22 * + 21 * + 20 * = 51

Algorithm of Aggregate Function AVERAGE Average function: Average function will show the average value in a field. It can be calculated from function COUNT and SUM. Average () = Sum ()/Count ().

Algorithm of Aggregate Function MAX Max function: Max function returns the largest value in a field. Algorithm 4.2 Evaluating max () with P-tree. max = 0.00; c = 0; Pc is set all 1s For i = n to 0 { c = RootCount (Pc AND Pi); If (c >= 1) Pc = Pc AND Pi; max = max + 2i; } Return max; Algorithm 4. 2. Max Aggregate.

Algorithm of Aggregate Function MAX Steps IF Pos Bits P4,3 P4,2 P4,1 P4,0 1. Pc = P4,3 RootCount (Pc) = 3 >= 1 10 5 6 7 11 9 3 1 1 1 1 {1} 2. RootCount (Pc AND P4,2) = 0 < 1 Pc = Pc AND P’4,2 {0} 3. RootCount (Pc AND P4,1 ) = 2 >= 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P4,0 ) = 1 >= 1 {1} 23 * + 22 * + 21 * + 20 * = {1} {0} {1} {1} 11

Algorithm of Aggregate Function MIN Min function: Min function returns the smallest value in a field. Algorithm 4.3. Evaluating Min () with P-tree. min = 0.00; c = 0; Pc is set all 1s For i = n to 0 { c = RootCount (Pc AND NOT (Pi)); If (c >= 1) Pc = Pc AND NOT (Pi); Else min = min + 2i; } Return min; Algorithm 4. 2. Max Aggregate.

Algorithm of Aggregate Function MIN Steps IF Pos Bits P4,3 P4,2 P4,1 P4,0 1. Pc = P’4,3 RootCount (Pc) = 4 > = 1 10 5 6 7 11 9 3 1 1 1 1 {0} 2. RootCount (Pc AND P’4,2) = 1 >= 1 Pc = Pc AND P’4,2 {0} 3. RootCount (Pc AND P’4,1 ) = 0 < 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P’4,0 ) = 0 < 1 {1} 23 * + 22 * + 21 * + 20 * = {0} {0} {1} {1} 3

Algorithms of Aggregate Function MEDIAN and RANK Algorithm 4.4. Evaluating Median () with P-tree median = 0.00; pos = N/2; for rank pos = K; c = 0; Pc is set all 1s for single attribute For i = n to 0 { c = RootCount (Pc AND Pi); If (c >= pos) median = median + 2i; Pc = Pc AND Pi; Else pos = pos - c; Pc = Pc AND NOT (Pi); } Return median; Median/Rank: Median function returns the median value in a field. Rank (K) function returns the value that is the kth largest value in a field. Algorithm 4. 2. Median Aggregate.

Algorithm of Aggregate Function MEDIAN Steps IF Pos Bits P4,3 P4,2 P4,1 P4,0 1. Pc = P4,3 RootCount (Pc) = 3 < 4 Pc = P’4,3 pos = 4 – 3 = 1 10 5 6 7 11 9 3 1 1 1 1 {0} 2. RootCount (Pc AND P4,2) = 3 >= 1 Pc = Pc AND P4,2 {1} 3. RootCount (Pc AND P4,1 ) = 2 >= 1 Pc = Pc AND P4,1 {1} 4. RootCount (Pc AND P4,0 ) = 1 >= 1 {1} 23 * + 22 * + 21 * + 20 * = {0} {1} {1} {1} 7

Algorithm of Aggregate Function TOP-K Top-k function: In order to get the largest k values in a field, first, we will find rank k value Vk using function Rank (K). Second, we will find all the tuples whose values are greater than or equal to Vk. Using ENRING technology of P-tree

Iceberg Query Operation Using P-rees We demonstrate the computation procedure of iceberg querying with the following example: SELECT Loc, Type, Sum (# Product) FROM Relation S GROUPBY Loc, Type HAVING Sum (# Product) >= 15

Iceberg Query Operation Using P-trees (Step One) Step one: We build value P-trees for the 4 values, {Loc| New York, Minneapolis, Chicago}, of attribute Loc. PMN 1 PNY PCH Figure 4. Value P-trees of Attribute Loc

Iceberg Query Operation Using P-trees (Step One) Figure 5 illustrates the calculation procedure of value P-tree PNY. Because the binary value of New York is 00001, we will get formula 1. PNY = P’1,4 AND P’1,3 AND P’1,2 AND P’1,1 AND P1,0 (1) LOC 0 0 0 0 1 P1,4 P1,3 P1,2 P1.1 P1.0 P’1,4 P’1,3 P’1,2 P’1.1 P1.0 PNY 1 Figure 5. Procedure of Calculating PNY

Iceberg Query Operation Using P-trees (Step One) After getting all the value P-trees for each location, we calculate the total number of products sold in each place. We still use the value, New York, as our example. Sum(# product | New York) = 23 * RootCount (P4,3 AND PNY) + 22 * RootCount (P4,2 AND PNY) + 21 * RootCount (P4,1 AND PNY) + 20 * RootCount (P4,0 AND PNY) = 8 * 1 + 4 * 2 + 2 * 3 + 1 * 1 = 23 (2)

Iceberg Query Operation Using P-trees (Step One) Table 3 shows the total number of products sold out in each of the three of the locations. Because our threshold T is 15, we eliminate the city Chicago. Loc Values Sum (# Product) Threshold New York 23 Y Minneapolis 18 Chicago 9 N Table 3. the Summary Table of Attribute Loc.

Iceberg Query Operation Using P-trees (Step Two) Step two: Similarly we build value P-trees for every value of attribute Type. Attribute Type has four values {Type | Notebook, desktop, Printer, Fax}. Figure 6 shows the value P-tree of the four values of attribute Type. 1 PNotebook PDesktop PPrinter PFAX Figure 6. Value P-trees of Attribute Type.

Iceberg Query Operation Using P-trees (Step Two) Similarly we get the summary table for each value of attribute Type. According to the threshold, T equals 15, only value P-tree of notebook will be used in the future. Type Values Sum (# Product) Threshold Notebook 28 Y Desktop 14 N FAX 3 Printer 6 Table 4. Summary Table of Attribute Type.

Iceberg Query Operation Using P-trees (Step Three) Step three: We only generate candidate Loc and Type pairs for local store and Product type, which can pass the threshold T. By Performing And operation on PNY with PNotebook, we obtain value P-tree PNY AND Notebook PNY PNotebook PNY AND Notebook 1 1 1 = AND Figure 7. Procedure of Calculating PNY AND Notebook

Iceberg Query Operation Using P-trees (Step Three) We calculate the total number of notebooks sold out in New York by formula 3. Sum(# Product | New York) = 23 * RootCount (P4,3 AND PNY AND Notebook) + 22 * RootCount (P4,2 AND PNY AND Notebook) + 21 * RootCount (P4,1 AND PNY AND Notebook) + 20 * RootCount (P4,0 AND PNY AND Notebook) = 8 * 1 + 4 * 1 + 2 * 2 + 1* 1 = 17 (3)

Iceberg Query Operation Using P-trees (Step Three) By performing And operations on PMN with P Notebook, we obtain value P-tree PMN AND Notebook 1 PMN PNotebook PMN AND Notebook AND = Figure 8. Procedure of Calculating PMN AND Notebook

Iceberg Query Operation Using P-trees (Step Three) We calculate the total number of notebook sold out in Minneapolis by formula 4. Sum (# product | Minneapolis) = 23 * RootCount (P4,3 AND PMN AND Notbook) + 22 * RootCount (P4,2 AND PMN AND Notbook) + 21 * RootCount (P4,1 AND PMN AND Notbook) + 20 * RootCount (P4,0 AND PMN AND Notbook) = 8 * 1 + 4 * 0 + 2 * 1 + 1 * 1 = 11 (4)

Iceberg Query Operation Using P-trees (Step Three) Finally, we obtain the summary table 5. According to the threshold T=15, we can see that only group pair “New York And Notebook” pass our threshold T. From value P-tree PNY AND Notebook, we can see that tuple 1 and 4 are in the results of our iceberg query example. PNY AND Notebook Type Values Sum (# Product) Threshold New York And Notebook 17 Y Minneapolis And Notebook 11 N 1 Table 5. Summary Table of Our Example.