Data Cube. Μ.Χατζόπουλος 1

Σχετικά έγγραφα
Άμεση Αναλυτική Επεξεργασία (OLAP)

Συστήματα OLAP. Πασχάλης Θρήσκος, PhD Λάρισα

SQL Data Manipulation Language

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 6: SQL (Συζεύξεις, Εμφώλευση, Ομαδοποίηση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL


Περιεχόμενα. Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL. Συνένωση Σχέσεων στην SQL2 (3) Συνένωση Σχέσεων στην SQL2. (Join Relations Feature in SQL)

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

GROUP BY, HAVING, COUNT, MIN, MAX, SUM, AVG, ROLLUP.

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

Η SQL ως γλώσσα ερωτημάτων. Υπενθυμίζουμε: Σχέση = Πίνακας Πλειάδα = Εγγραφή = Γραμμή (Πίνακα) Πεδίο = Γνώρισμα (Σχέσης) = Στήλη (Πίνακα)

Άμεση Αναλυτική Επεξεργασία (OLAP)

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

Αρχεία και Βάσεις Δεδομένων

Βάσεις Δεδομένων. Εργαστήριο ΙV. Τμήμα Πληροφορικής ΑΠΘ

Βάσεις Δεδομένων (Databases)

Ηλεκτρονικοί Υπολογιστές II

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Εισαγωγή στην πληροφορική

Τμήμα Πληροφορικής ΑΠΘ

Βάσεις δεδομένων. (7 ο μάθημα) Ηρακλής Βαρλάμης


ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Επεξεργασία Ερωτήσεων

Βάσεις Δεδομένων. Βασίλειος Βεσκούκης Εισαγωγή στη γλώσσα SQL (Structured Query Language) Η γλώσσα SQL

Εισαγωγή στις Αποθήκες εδομένων

Τμήμα Διοίκησης Επιχειρήσεων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

ΘΕΜΑΤΑ. Ερώτηση 1 Κατά τη Φυσική Αποθήκευση (Physical storage) μιας ΒΔ αποθηκεύονται στον δίσκο τα:

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ342: Βάσεις Δεδομένων. Χειμερινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ. Επερωτήσεις SQL

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

DELETE, UPDATE, INSERT.

MOCϦϣΎϬϴϠϋϝϮμΤϟϢΗϊΟήϤϟ. USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

Κεφάλαιο 9 Συναθροίσεις

Εξεταστική Περίοδος Ιουνίου 2004

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου

DELETE, UPDATE, INSERT

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Σύνολα Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

2 ο Σύνολο Ασκήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ.

Τμήμα Πληροφορικής ΑΠΘ

Κεφάλαιο 3. Ερωτήματα SQL

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

Εξόρυξη Γνώσης από εδοµένα (Data Mining)

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2013

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

SQL: Συναρτήσεις Συνάθροισης

Lecture 16: SQL DML III

Ηλεκτρονικοί Υπολογιστές II

Certified Data Base Designer (CDBD)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

#5. Σχεσιακό Μοντέλο

Υποστήριξη Αποφάσεων. Γεώργιος Ευαγγελίδης. (βασισμένο στο κεφ. 23 του βιβλίου «Συστήματα Διαχείρισης Βάσεων Δεδομένων»)

( Boats)) ( Tempsids, bid. sname. Boats. Boats. Boats. (Reserves)/ > Reserves. Interlake' Sailors) ...

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

Το εσωτερικό ενός Σ Β

Σχεδιασμός Βάσεων Δεδομένων

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

S Q Q L L -- SQL (Structured Query Language) select insert update delete 2.47

Βάσεις Δεδομένων Ι SQL Μέρος 2 ο. Φώτης Κόκκορας (MSc/PhD) Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ενότητα 21 Pivot Tables

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Βάσεις Δεδομένων (Databases)

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Διάλεξη 13: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) I. Διδάσκων: Παναγιώτης Ανδρέου

Εισαγωγή στις Αποθήκες εδοµένων

Η Γλώσσα SQL. Μέρος α. Η Γλώσσα SQL Σελίδα 1

Βάσεις δεδομένων. (6 ο μάθημα) Ηρακλής Βαρλάμης

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Εισαγωγή στις Αποθήκες εδομένων

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Βάσεις Δεδομένων Ι [Σημειώσεις Εργαστηρίου]

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Βάσεις δεδομένων. (8 ο μάθημα) Ηρακλής Βαρλάμης

Ανάλυση Δεδομένων (Data Analysis) Άμεση Αναλυτική Επεξεργασία (OLAP) Λειτουργίες Συνάθροισης στην SQL (windowing, ranking)

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

ΕΣΔ 232: ΟΡΓΑΝΩΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ. Ακαδημαϊκό Έτος , Εαρινό Εξάμηνο. Εργαστηριακή Άσκηση 4 7/02/2012

Εξόρυξη Δεδομένων: Αποθήκες Δεδομένων: Μέρος Β

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

Επεξεργασία Ερωτήσεων

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Αποθήκες Δεδομένων και Εξόρυξη Δεδομένων

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ 6-2

Βάσεις Δεδομένων (Databases)

Βελτιστοποίηση επερωτημάτων

Transcript:

Data Cube Μ.Χατζόπουλος Μ.Χατζόπουλος 1

Ανάλυση εδοµένων Εξαγωγή συναθροιστικών δεδοµένων από µια βάση δεδοµένων Οπτικοποίηση των αποτελεσµάτων Μπορούνοιπαραδοσιακέςεπίπεδεςβάσειςδεδοµένων; Οι σχεσιακές βάσεις δεδοµένων µοντελοποιούν τα Ν- διάσταστα δεδοµένα σαν µια σχέση µε Ν γνωρίσµατα. Μ.Χατζόπουλος 2

ΚΑΙΡΟΣ Ωρα Γεωγραφ_Πλ Γεωγραφ_Μηκος Υψοµετρο Θερµ Πιεση select avg(θερµ) from ΚΑΙΡΟΣ select count(distinct Ωρα) from ΚΑΙΡΟΣ Μ.Χατζόπουλος 3

Πολλά SQL συστήµατα έχουν προσθέσει συναρτήσεις Στατιστικές (ενδιάµεσος, τυπική απόκλιση) Φυσικής (κέντρο βάρους..) Οικονοµική ανάλυση Μερικά συστήµατα επιτρέπουν στο χρήστη να προσθέσει δικές του συναρτήσεις Μ.Χατζόπουλος 4

Select Ωρα, Υψοµετρο, avg(θερµ) From ΚΑΙΡΟΣ Group by Ωρα, Υψος Ο σχεσιακός τελεστής group by διαµερίζει ένα πίνακα σε οµάδες. Στη συνέχεια εφαρµόζεται η συναθροιστική συνάρτηση σε κάθε οµάδα. Η συναθροιστική συνάρτηση συνοψίζει κάποια στήλη και επιστρέφει µια τιµή για κάθε οµάδα. Το πρόβληµα µε την SQL είναι ότι δεν επιτρέπει συνάθροιση σε κατηγορίες που υπολογίζονται. Μ.Χατζόπουλος 5

Grouping Values Aggregate Values Partitioned Table Sum() Μ.Χατζόπουλος 6

Επεκτάσεις συναθροιστικών συναρτήσεων στο Red Brick Rank(expression) N_tile(expression, n) Ratio_To_Total(expression) Μ.Χατζόπουλος 7

Το Red Brick υποστηρίζει συνολικές συναθροίσεις σε ταξινοµηµένους πίνακες Cumulative(expression) Running_Sum(expression,n) Running_Average(expression,n) Μ.Χατζόπουλος 8

SELECT Percentile,MIN(Θερµ),MAX(Θερµ) FROM Καιρος GROUP BY N_tile(Θερµ,10) as Percentile HAVING Percentile = 5; Επιστρέφει την ελάχιστη και την µέγιστη θερµοκρασία για το 10% των µεσαίων θερµοκρασιών από όλες Μ.Χατζόπουλος 9

Προβλήµατα µε τον τυπικό τελεστή group by της SQL εν επιτρέπει συνάθροιση σε ιστογράµµατα (συνάθροιση πάνω από κατηγορίες που έχουν υπολογισθεί (σήµερα κάποια συστήµατα υποστηρίζουν) εν υποστηρίζει roll-up totals ή drill-down subtotals. εν υποστηρίζει pivot Μ.Χατζόπουλος 10

Συνάθροιση σε ιστογράµµατα select day, nation, MAX(Θερµ) from Καιρος GROUP BY Day(Time) AS day Country(Γεωγραφ_Πλ, Γεωγραφ_Μηκ) as nation Μ.Χατζόπουλος 11

Συνάθροιση σε ιστογράµµατα (συν). Η SQL 92 επιτρέπει SELECT day, nation, MAX(Θερµ) FROM ( SELECT Day(Time) AS day, Country(Γεωγραφ_Πλ, Γεωγραφ_Μηκ) AS nation, Θερµ FROM Weather ) AS foo GROUP BY day, nation; Μ.Χατζόπουλος 12

Μη υποστήριξη roll-up και drill-down Πωλήσεις Make Year Color Sales by Model by Year by Color Sales by Model by Year Sales by Model Chevy 1994 black 50 40 90 1995 black 85 115 200 290 O πίνακας αυτός δεν είναι σχεσιακός Μ.Χατζόπουλος 13

Model Chevy Chevy Chevy Chevy Chevy Chevy Chevy Πιο Σχεσιακός Year Color 1994 black 1994 1994 1995 black 1995 1995 Units 50 40 90 85 115 200 290 Έχει προστεθεί η τιµή Μ.Χατζόπουλος 14

SELECT Model,,, SUM(Sales) FROM Sales WHERE Model = 'Chevy' GROUP BY Model UNION SELECT Model, Year,, SUM(Sales) FROM Sales WHERE Model = 'Chevy' GROUP BY Model, Year UNION SELECT Model, Year, Color, SUM(Sales) FROM Sales WHERE Model = 'Chevy' GROUP BY Model, Year, Color; Η συνάθροιση σε Ν διαστάσεις απαιτεί Ν τέτοιες ενώσεις Μ.Χατζόπουλος 15

Model Year Chevy Chevy Color black Units 135 155 UNION SELECT Model,, Color, SUM(Sales) FROM Sales WHERE Model = 'Chevy' GROUP BY Model, Color; Μ.Χατζόπουλος 16

Cross Tab Chevy Sales Cross Tab Chevy 1994 1995 total () black 50 85 135 total () 40 90 115 200 155 290 Υπάρχει πιο σοβαρό πρόβληµα γιατί το αποτέλεσµα δεν είναι σχέση η τελευταία γραµµή και στήλη δεν είναι συνήθεις black total () Sales Cross Tab 1994 Μ.Χατζόπουλος 17 50 10 60 1995 85 75 160 total () 135 85 220

Ο τελεστής CUBE Η γενίκευση είναι προφανής σε πολλές διαστάσεις Ο παραδοσιακός τελεστής GROUP BY µπορεί να δηµιουργήσει το Ν διάστατο κύβο. Οιχαµηλότερεςδιαστάσειςσυναθροίζουνσεσηµεία, γραµµές, επίπεδακλπ. Ο τελεστής κτίζει ένα πίνακα που περιέχει όλες τις τιµές συνάθροισης Η συνολική συνάθροιση παριστάνεται µε την Μ.Χατζόπουλος 18

Aggregate Sum RED WHITE BLUE Group By (with total) By Color Sum RED WHITE BLUE Cross Tab Chevy By Color By Make Sum By Make & Year By Year FORD CHEVY By Color & Year The Data Cube and The Sub-Space Aggregates Sum 1990 1991 1992 By Color 1993 By Make RED WHITE BLUE By Make & Color Μ.Χατζόπουλος 19

Επέκταση του τελεστή group by για να καλύψει ιστογράµµατα GROUP BY { ( <column name> <expression>) [ AS <correlation name> ] [ <collate clause> ],...} Μ.Χατζόπουλος 20

Επεκτάσεις όσο αφορά την εµφάνιση του αποτελέσµατος SELECT department.name, sum(sales) FROM sales JOIN department USING (department_number) GROUP BY sales.department_number; εν υποστηρίζεται από το πρότυπο της SQL Μ.Χατζόπουλος 21

Πρόταση επέκτασης (Jim Gray) GROUP BY CUBE ( { ( <column name> <expression>) [ AS <correlation name> ] [ <collate clause> ],...} [WITH ( CUBE ROLLUP ) ] ) Μ.Χατζόπουλος 22

SELECT Model, Year, Color, SUM(sales) AS Sales FROM Sales WHERE Model in {'', 'Chevy'} AND Year BETWEEN 1990 AND 1992 GROUP BY CUBE(Model, Year, Color); SALES Model Year Color Sales Chevy 1990 red 5 Chevy 1990 87 Chevy 1990 blue 62 Chevy 1991 red 54 Chevy 1991 95 Chevy 1991 blue 49 Chevy 1992 red 31 Chevy 1992 54 Chevy 1992 blue 71 1990 red 64 1990 62 1990 blue 63 1991 red 52 1991 9 1991 blue 55 1992 red 27 1992 62 1992 blue 39 CUBE DATA CUBE Model Year Color Sales Chevy 1990 blue 62 Chevy 1990 red 5 Chevy 1990 95 Chevy 1990 154 Chevy 1991 blue 49 Chevy 1991 red 54 Chevy 1991 95 Chevy 1991 198 Chevy 1992 blue 71 Chevy 1992 red 31 Chevy 1992 54 Chevy 1992 156 Chevy blue 182 Chevy red 90 Chevy 236 Chevy 508 1990 blue 63 1990 red 64 1990 62 1990 189 1991 blue 55 1991 red 52 1991 9 1991 116 1992 blue 39 1992 red 27 1992 62 1992 128 blue 157 red 143 133 433 1990 blue 125 1990 red 69 1990 149 1990 343 1991 blue 106 1991 red 104 1991 110 1991 314 1992 blue 110 1992 red 58 1992 116 1992 284 blue 339 red 233 369 Μ.Χατζόπουλος 23 941 Π Α Ρ Α Ε Ι Γ Μ Α

SELECT day, nation, MAX(Θερµ) FROM Καιρος GROUP BY ( Day(Time) AS day, Country(Γεωγραφ_Πλ, Γεωγραφ_Μηκ) AS nation WITH CUBE); Μ.Χατζόπουλος 24

Η σηµασιολογία του τελεστή CUBE είναι ότι πρώτα συναθροίζεισεόλαταγνωρίσµατατηςλίσταςτης select (όπως και στο παραδοσιακό GROUP BY). Στη συνέχεια ενώνει σε κάθε υπερ-συνάθροιση του ολικού κύβου αντικαθιστώντας µε το στις στήλες συνάθροισης. Αν υπάρχουν Ν γνωρίσµατα στη λίστα select τότε υπάρχουν 2 Ν -1 τιµέςυπερ-συνάθροισης. Ανοιαντίστοιχες πληθυκότητεςείναι C 1, C 2, C Ν τότεηπηθυκότητατου κύβουπουπροκύπτειείναιπ(c i +1) (ηεπιπλέονγιατην ). Μ.Χατζόπουλος 25

Μ.Χατζόπουλος 26 ΠΩΛΗΣΕΙΣ 10 50 blue 80 red 30 blue 60 45 red 20 blue 50 40 red 30 blue 40 70 red Πωλησεις Color Year Make

Ο τελεστής CUBE αποτελεί γενίκευση των απλών συναθροιστικών συναρτήσεων στις N διαστάσεις. sum RED WHITE BLUE Group by (with total) By Color OPEL By color RED WHITE BLUE By make sum By year By make By color Μ.Χατζόπουλος 27

Μ.Χατζόπουλος 28 ΠΩΛΗΣΕΙΣ 10 50 blue 80 red 30 blue 60 45 red 20 blue 50 40 red 30 blue 40 70 red Πωλησεις Color Year Make 140 50 blue 10 80 red 135 30 blue 60 45 red 250 50 blue 90 110 red 110 20 blue 50 40 red 140 30 blue 40 70 red Πωλησεις Color Year Make CUBE

Μ.Χατζόπουλος 29 ΠΩΛΗΣΕΙΣ 10 50 blue 80 red 30 blue 60 45 red 20 blue 50 40 red 30 blue 40 70 red Πωλησεις Color Year Make 525 130 blue 160 235 red 250 70 blue 60 120 red 275 60 blue 100 115 red 275 80 blue 70 125 red Πωλησεις Color Year Make CUBE

Κάθε τιµή παριστάνει ένα σύνολο (το σύνολο στο οποίο εφαρµόσθηκε η συναθροιστική συνάρτηση. Η τιµή δηµιουργεί κάποια πολυπλοκότητα. Είναι κάτι σαν την τιµή NULL. Είναι µια νέα λέξη κλειδί Η δεν συµµετέχει σε καµιά συνάθροιση όπως και η NULL. Η ερµηνεία του συνόλου καθορίζει την σηµασία των τελεστών σύγκρισης. Η αντιµετώπιση κάθε τιµής σαν σύνολο από συναθροίσεις καθορίζει την τιµή της. Μ.Χατζόπουλος 30

Επεκτάσεις στη σύνταξη της SQL Επεκτάσεις που αφορούν οπτικοποίηση και σύνταξη αναφορών Επεκτάσεις ερωτήσεων Μ.Χατζόπουλος 31

SELECT Model,Year,Color,SUM(Sales), SUM(Sales)/ (SELECT SUM(Sales) FROM Sales WHERE Model IN {, Chevy } AND Year Between 1990 AND 1992 ) FROM Sales WHERE Model IN {, Chevy } AND Year Between 1990 AND 1992 GROUP BY CUBE (Model, Year, Color); Μ.Χατζόπουλος 32

SELECT Model, Year, Color SUM(Sales) AS total, SUM(Sales) / total(,,) FROM Sales WHERE Model IN {, Chevy } AND Year Between 1990 AND 1992 GROUP BY CUBE(Model, Year, Color); Μ.Χατζόπουλος 33

Υπολογισµός του δείκτη (index) µιας τιµής index(v i ) = v i / (Σ j v j ) SELECT v FROM cube WHERE row = :i AND column = :j ή cube.v(:i, :j) Μ.Χατζόπουλος 34

Πωςθαµπορούσεναυλοποιηθείόµωςοκύβος Φυσική Υλοποίηση του Κύβου Καµιά Υλοποίηση Μερική Υλοποίηση του Κύβου Μ.Χατζόπουλος 35

Γνωστό benchmark για datawarehouses είναι το TPC-D. (Parts αγοράζονται από Suppliers και πωλούνται σε Customers σε τιµή πώλησης SP. Το µέτρο που ενδιαφέρει είναι ολικές πωλήσεις sales. Part Supplier Customer Κάθε πλειάδα είναι της µορφής (p, s, c) εποµένως έχουµε 8 πιθανές οµαδοποιήσεις Μ.Χατζόπουλος 36

part supplier customer (6M rows) part customer (6M rows) part supplier (0.8M rows) supplier customer (6M rows) part (0.2M rows) supplier (0.01M rows) customer (0.1M rows) none (1) Μ.Χατζόπουλος 37

psc pc ps sc p s c none Μ.Χατζόπουλος 38

1.Πόσες όψεις πρέπει να υλοποιήσουµε για να έχουµε αποδεκτή απόδοση; 2. οθέντος του διαθέσιµου χώρου S, ποιες όψεις υλοποιούµε ώστε να ελαχιστοποιείται το µέσο κόστος επερώτησης; Μ.Χατζόπουλος 39

psc 6Μ pc 6Μ ps 0.8M sc 6M p 0.2M s 0.01M c 0.1M none 1 Μ.Χατζόπουλος 40

Χρησιµοποίηση Ευρετηρίων Κάθε επερώτηση χρησιµοποιεί κάποια γνωρίσµατα επιλογής και κάποια συνάθροισης. Για κάθε υποκύβο µπορεί να χρησιµοποιηθεί ένα ευρετήριο (για παράδειγµαβ-δένδρο) Μ.Χατζόπουλος 41

psc pc ps sc p s c none Μ.Χατζόπουλος 42

Επερωτήσεις γ ps σ γ p σ s γ s σ p γ σ ps psc pc ps sc p s c none Μ.Χατζόπουλος 43

Τα ευρετήρια Β-δένδρων µπορούν να βελτιώσουν σηµαντικά τον χρόνο απόκρισης. Μια όψη µπορεί να έχει πολλά ευρετήρια. Το πλήθος των ευρετηρίων µιας όψης µε m γνωρίσµατα είναι m r=0 m ( )r! r Σεένακύβοείναι 3n! Μ.Χατζόπουλος 44