Equivalenza di Espressioni Algebriche

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Equivalenza di Espressioni Algebriche"

Transcript

1 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 1 Equivalenza di Espressioni Algebriche Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine

2 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 2 Introduzione L equivalenza di espressioni dell algebra relazionale viene sfruttata nella fase di ottimizzazione algebrica delle interrogazioni: le interrogazioni formulate nel linguaggio SQL vengono tradotte in espressioni (equivalenti) dell algebra relazionale il costo dell esecuzione di un interrogazione viene valutato in termini delle dimensioni dei risultati intermedi (della valutazione dell espressione dell algebra relazionale); in presenza di varie espressioni alternative equivalenti, viene scelta quella con costo minore Vengono utilizzate delle trasformazioni di equivalenza: operazioni che sostituiscono un espressione con un altra a essa equivalente

3 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 3 Equivalenze assolute e dipendenti dallo schema Diversi tipi di equivalenza: (1) Equivalenza dipendente dallo schema. E 1 R E 2 se E 1 (r) = E 2 (r) per ogni r R (2) Equivalenza assoluta (non dipendente dallo schema). E 1 E 2 se E 1 R E 2 per ogni schema R Un esempio di equivalenza assoluta: Π AB (σ A>0 (R 1 )) σ A>0 (Π AB (R 1 )) Un esempio di equivalenza dipendente dallo schema: Π AB (R 1 ) Π AC (R 2 ) R Π ABC (R 1 R 2 ) che vale se e solo se in R l intersezione tra gli insiemi di attributi di R 1 e di R 2 è pari ad A.

4 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 4 Un primo insieme di trasformazioni - 1 Atomizzazione delle selezioni: una congiunzione di selezioni può essere sostituita da una sequenza di selezioni atomiche con E espressione qualsiasi. σ F1 F 2 (E) σ F2 (σ F1 (E)) Idempotenza delle proiezioni: una proiezione può essere trasformata in una sequenza di proiezioni che eliminano i vari attributi in varie fasi π X (E) π X (π XY (E)) con E espressione definita su un insieme di attributi che contiene X e Y.

5 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 5 Un primo insieme di trasformazioni - 2 Anticipazione della selezione rispetto al join (pushing selections down): σ F (E 1 E 2 ) E 1 σ F (E 2 ) se la condizione F coinvolge solo attributi della sottoespressione E 2. Anticipazione della proiezione rispetto al join (pushing projections down): π X1 Y 2 (E 1 E 2 ) E 1 π Y2 (E 2 ) con E 1 definita su X 1, E 2 definita su X 2, Y 2 X 2 e (X 1 X 2 ) Y 2 (gli attributi di X 2 \ Y 2 non sono coinvolti nel join).

6 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 6 Una trasformazione derivata Combinando la regola di anticipazione della proiezione rispetto al join con la regola di idempotenza delle proiezioni, si ottiene la seguente regola derivata (che elimina da subito gli attributi che non sono coinvolti nel join e non compaiono nel risultato finale): π Y (E 1 F E 2 ) π Y (π Y1 (E 1 ) F π Y2 (E 2 )) dove, assumendo che E 1 sia definita su X 1, E 2 sia definita su X 2 e J 1 (rispettivamente J 2 ) sia il sottoinsieme di X 1 (rispettivamente X 2 ) coinvolto nell operazione di join, si ha che: Y 1 = (X 1 Y ) J 1 Y 2 = (X 2 Y ) J 2

7 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 7 Un esempio - 1 Interrogazione: trovare i nomi dei dipartimenti il cui manager guadagna più di euro. Soluzione non ottimizzata: π DNOME (σ CF =MANAGER ST IP ENDIO>80000 (IMP IEGAT O DIP ART IMENT O)) che si può riscrivere come: π DNOME (σ CF =MANAGER (σ ST IP ENDIO>80000 (IMP IEGAT O DIP ART IMENT O)))

8 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 8 Un esempio - 2 La precedente espressione può a sua volta essere riscritta nel modo seguente: π DNOME (σ ST IP ENDIO>80000 (IMP IEGAT O) CF =MANAGER DIP ART IMENT O) che può a sua volta essere riscritta come: π DNOME (π CF (σ ST IP ENDIO>80000 (IMP IEGAT O)) CF =MANAGER DIP ART IMENT O) P.S. La regola derivata descritta in precedenza potrebbe essere utilizzata per ridurre da subito le dimensioni delle due relazioni..

9 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 9 Un secondo insieme di trasformazioni - 1 Distributività della selezione rispetto all unione: σ F (E 1 E 2 ) σ F (E 1 ) σ F (E 2 ) Distributività della selezione rispetto alla differenza: σ F (E 1 \ E 2 ) σ F (E 1 ) \ σ F (E 2 ) Distributività della proiezione rispetto all unione: π X (E 1 E 2 ) π X (E 1 ) π X (E 2 ) Non vale la distributività della proiezione rispetto alla differenza. Ad esempio, date R 1 (A, B) e R 2 (A, B) π A (R 1 \ R 2 ) π A (R 1 ) \ π A (R 2 ) non vale se R 1 e R 2 contengono tuple uguali su A e diverse su B

10 Equivalenza di Espressioni Algebriche Basi di dati e sistemi informativi 10 Un secondo insieme di trasformazioni - 2 Trasformazioni basate sulla corrispondenza tra operatori insiemistici e selezioni complesse: σ F1 F 2 (R) σ F1 (R) σ F2 (R) σ F1 F 2 (R) σ F1 (R) σ F2 (R) σ F1 (R) σ F2 (R) σ F1 (F 2 )(R) σ F1 (R) \ σ F2 (R) Proprietà distributiva del join rispetto all unione: E 1 (E 2 E 3 ) (E 1 E 2 ) (E 1 E 3 ) N.B. Risultati intermedi vuoti (relazioni prive di tuple) permettono di semplificare le espressioni (join/prodotto cartesiano con la relazione vuota come uno degli operandi producono quale risultato la relazione vuota).

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie:

Tipi di operatori. Gli operatori dell algebra relazionale sono classificabili nelle seguenti categorie: lgebra relazionale Il linguaggio per interrogare ed aggiornare la base di dati fa parte del modello di questi ultimi. Un operazione di aggiornamento può essere vista come una funzione che, data un istanza

Dettagli

Algebra relazionale: operazioni

Algebra relazionale: operazioni Dipartimento di Elettronica ed ormazione Politecnico di Milano ormatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2011/2012 Algebra relazionale: operazioni Le presenti slide sono tratte dalle slide

Dettagli

Lezione 6. Algebra e Calcolo Relazionale

Lezione 6. Algebra e Calcolo Relazionale Lezione 6 Algebra e Calcolo Relazionale 1 Sommario Esempio di Applicazione con Database (AZIENDA) Algebra Relazionale Operazioni Relazionali Unarie Operazioni dell Algebra Relazionale dalla teoria degli

Dettagli

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma Algebra Relazionale 1 Linguaggi di interrogazione relazionale Linguaggi di interrogazione: permettono la manipolazione e il reperimento di dati da una base di dati Il modello relazionale supporta LI semplici

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, ALGEBRA E CALCOLO RELAZIONALE Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : ALGEBRA E CALCOLO RELAZIONALE Esempi Impiegati Matricola Nome Età Stipendio 7309 Rossi 34 45 5998 Bianchi 37 38 9553 Neri 42 35 5698

Dettagli

BASI DATI: algebra relazionale

BASI DATI: algebra relazionale BASI DATI: algebra relazionale BIOINGEGNERIA ED INFORMATICA MEDICA 1 Algebra relazionale Definizione L'algebra relazionale è un insieme di operazioni (query) che servono per manipolare relazioni (tabelle).

Dettagli

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari

Calcolo Relazionale Basi di dati e sistemi informativi 1. Calcolo Relazionale. Angelo Montanari Calcolo Relazionale Basi di dati e sistemi informativi 1 Calcolo Relazionale Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Calcolo Relazionale Basi di dati e sistemi informativi

Dettagli

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è

Dettagli

Minimizzazione a più livelli di reti combinatorie Cristina Silvano

Minimizzazione a più livelli di reti combinatorie Cristina Silvano Minimizzazione a più livelli di reti combinatorie Cristina Silvano Università degli Studi di Milano Dipartimento di Scienze dell Informazione Milano (Italy) Sommario Modello booleano e modello algebrico

Dettagli

3 Algebra Relazionale

3 Algebra Relazionale Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2016/2017 Tiziana Catarci Ultimo aggiornamento : 22/02/2017 I linguaggi di interrogazione e aggiornamento

Dettagli

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA Introduzione George Boole (1815-1864) nel 1854 elaborò una algebra basata su predicati logici. Valori

Dettagli

Structured Query Language

Structured Query Language IL LINGUAGGIO SQL Structured Query Language Contiene sia il DDL sia il DML, quindi consente di: Definire e creare il database Effettuare l inserimento, la cancellazione, l aggiornamento dei record di un

Dettagli

L algebra relazionale

L algebra relazionale L algebra relazionale Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: Algebra.pdf Sistemi Informativi L-A Linguaggi di manipolazione (DML)

Dettagli

Esercitazione 1 Algebra relazionale

Esercitazione 1 Algebra relazionale Esercitazione 1 Algebra relazionale Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E1-1 Base di dati Fornitori Fornitori (CodFornitore, Nome, Indirizzo, Città) Prodotti (CodProdotto, Nome, Marca, Modello)

Dettagli

SQL - Sottointerrogazioni correlate

SQL - Sottointerrogazioni correlate SQL - Sottointerrogazioni correlate negli esempi visti ogni subquery viene eseguita una volta per tutte ed il valore (o insieme di valori) è usato nella clausola WHERE della query esterna è possibile definire

Dettagli

Algebra di Boole X Y Z V. Algebra di Boole

Algebra di Boole X Y Z V. Algebra di Boole L algebra dei calcolatori L algebra booleana è un particolare tipo di algebra in cui le variabili e le funzioni possono solo avere valori 0 e 1. Deriva il suo nome dal matematico inglese George Boole che

Dettagli

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento

Operatori aggregati. Operatori aggregati. Interrogazioni con raggruppamento. Interrogazioni con raggruppamento Operatori aggregati In algebra relazionale le espressioni vengono valutate sulle singole tuple in successione. Talvolta però possono essere necessarie informazioni derivabili dall esame di tutte le tuple

Dettagli