74
Algebra Relazionale Operatori dell’Algebra Relazionale Basi di Dati Algebra Relazionale Raaella Gentilini October 11, 2020 Raaella Gentilini Basi di Dati 1 / 27

Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Basi di DatiAlgebra Relazionale

Ra↵aella Gentilini

October 11, 2020

Ra↵aella Gentilini Basi di Dati 1 / 27

Page 2: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra RelazionaleIntroduzione

Operatori dell’Algebra RelazionaleOperatori InsiemisticiOperatori Propriamente RelazionaliOperatori Derivati dell’Algebra Relazionale

Ra↵aella Gentilini Basi di Dati 2 / 27

Page 3: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:

• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 4: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:

• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 5: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:

• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 6: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:

• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 7: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:

• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 8: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:• fondamento formale per le operazioni nel modello relazionale

• base per implementare ed ottimizzare le interrogazioni neiRDBMS commerciali

• alcuni suoi concetti sono incorporati nel linguaggio diinterrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 9: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali

• alcuni suoi concetti sono incorporati nel linguaggio diinterrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 10: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Algebra Relazionale: IntroduzioneAlgebra Relazionale

Linguaggio per l’interrogazione di BD basate sul modello relazionale:

• E’ costituita da un insieme di operatori unari e binari suistanze di relazioni:

• ciascun operatore ha come argomento una o due istanze direlazioni e produce una nuova istanza di relazione.

• E’ un linguaggio procedurale: viene specificata la sequenza dioperazioni necessarie per ottenere il risultato atteso.

• L’algebra relazionale e’ importante perche’:• fondamento formale per le operazioni nel modello relazionale• base per implementare ed ottimizzare le interrogazioni nei

RDBMS commerciali• alcuni suoi concetti sono incorporati nel linguaggio di

interrogazione SQL, standard per i RDBMS

Ra↵aella Gentilini Basi di Dati 3 / 27

Page 11: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Algebra Relazionale: Overview

Gli operatori dell’algebra relazionale possono essere classificati in:

1. Operatori Insiemistici:

• unione, intersezione, di↵erenza, prodotto cartesiano

2. Operatori Propriamente Relazionali:

• ridenominazione, selezione, proiezione, concatenazione (join),divisione

Non tutti i precedenti operatori sono primitivi: l’intersezione, la con-catenazione e la divisione possono infatti essere espressi mediante irestanti operatori (lo vedremo).

Ra↵aella Gentilini Basi di Dati 4 / 27

Page 12: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Algebra Relazionale: Overview

Gli operatori dell’algebra relazionale possono essere classificati in:

1. Operatori Insiemistici:

• unione, intersezione, di↵erenza, prodotto cartesiano

2. Operatori Propriamente Relazionali:

• ridenominazione, selezione, proiezione, concatenazione (join),divisione

Non tutti i precedenti operatori sono primitivi: l’intersezione, la con-catenazione e la divisione possono infatti essere espressi mediante irestanti operatori (lo vedremo).

Ra↵aella Gentilini Basi di Dati 4 / 27

Page 13: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Algebra Relazionale: Overview

Gli operatori dell’algebra relazionale possono essere classificati in:

1. Operatori Insiemistici:• unione, intersezione, di↵erenza, prodotto cartesiano

2. Operatori Propriamente Relazionali:• ridenominazione, selezione, proiezione, concatenazione (join),

divisione

Non tutti i precedenti operatori sono primitivi: l’intersezione, la con-catenazione e la divisione possono infatti essere espressi mediante irestanti operatori (lo vedremo).

Ra↵aella Gentilini Basi di Dati 4 / 27

Page 14: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Algebra Relazionale: Overview

Gli operatori dell’algebra relazionale possono essere classificati in:

1. Operatori Insiemistici:• unione, intersezione, di↵erenza, prodotto cartesiano

2. Operatori Propriamente Relazionali:• ridenominazione, selezione, proiezione, concatenazione (join),

divisione

Non tutti i precedenti operatori sono primitivi: l’intersezione, la con-catenazione e la divisione possono infatti essere espressi mediante irestanti operatori (lo vedremo).

Ra↵aella Gentilini Basi di Dati 4 / 27

Page 15: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Algebra Relazionale: Overview

Gli operatori dell’algebra relazionale possono essere classificati in:

1. Operatori Insiemistici:• unione, intersezione, di↵erenza, prodotto cartesiano

2. Operatori Propriamente Relazionali:• ridenominazione, selezione, proiezione, concatenazione (join),

divisione

Non tutti i precedenti operatori sono primitivi: l’intersezione, la con-catenazione e la divisione possono infatti essere espressi mediante irestanti operatori (lo vedremo).

Ra↵aella Gentilini Basi di Dati 4 / 27

Page 16: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 17: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 18: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 19: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 20: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 21: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Ridenominazione

• Inizieremo ad illustrare gli operatori insiemistici dell’algebrarelazionale.

• Poiche’ semplice ed utile nel contesto delle operazioni insiemistiche,presenteremo prima l’operatore relazionale di ridenominazione.

La Ridenominazione ⇢�(r)

Data un’ istanza di relazione r sullo schema di relazione R(A1, . . . ,An), laridenominazione:

⇢S(A1!B1,...,An!Bn)(r)

del nome di relazione R con il nome di relazione S e degli attributiA1, . . . ,An con B1, . . . ,Bn e’ definita dall’ istanza di relazione s sulloschema di relazione S(B1, . . . ,Bn), dove:

s = {{(B1, v1), . . . , (Bn, vn)} | {(A1, v1), . . . , (An, vn)} 2 r}

Ra↵aella Gentilini Basi di Dati 5 / 27

Page 22: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Notazioni

Nel seguito utilizzeremo le notazioni:

• ⇢S(r) per indicare una ridenominazione del solo nome direlazione

• ⇢A1!B1,...,Aj!Bj (r) per indicare una ridenominazione dei soliattributi A1, . . . ,Aj in B1, . . . ,Bj

•S(B1, . . . ,Bn) R(A1, . . . ,An) oppure S R per indicarela ridenominazione in una sequenza di operazioni dell’algebrarelazionale

Ra↵aella Gentilini Basi di Dati 6 / 27

Page 23: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Notazioni

Nel seguito utilizzeremo le notazioni:

• ⇢S(r) per indicare una ridenominazione del solo nome direlazione

• ⇢A1!B1,...,Aj!Bj (r) per indicare una ridenominazione dei soliattributi A1, . . . ,Aj in B1, . . . ,Bj

•S(B1, . . . ,Bn) R(A1, . . . ,An) oppure S R per indicarela ridenominazione in una sequenza di operazioni dell’algebrarelazionale

Ra↵aella Gentilini Basi di Dati 6 / 27

Page 24: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Notazioni

Nel seguito utilizzeremo le notazioni:

• ⇢S(r) per indicare una ridenominazione del solo nome direlazione

• ⇢A1!B1,...,Aj!Bj (r) per indicare una ridenominazione dei soliattributi A1, . . . ,Aj in B1, . . . ,Bj

•S(B1, . . . ,Bn) R(A1, . . . ,An) oppure S R per indicarela ridenominazione in una sequenza di operazioni dell’algebrarelazionale

Ra↵aella Gentilini Basi di Dati 6 / 27

Page 25: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Notazioni

Nel seguito utilizzeremo le notazioni:

• ⇢S(r) per indicare una ridenominazione del solo nome direlazione

• ⇢A1!B1,...,Aj!Bj (r) per indicare una ridenominazione dei soliattributi A1, . . . ,Aj in B1, . . . ,Bj

•S(B1, . . . ,Bn) R(A1, . . . ,An) oppure S R per indicarela ridenominazione in una sequenza di operazioni dell’algebrarelazionale

Ra↵aella Gentilini Basi di Dati 6 / 27

Page 26: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori insiemistici

La seguente definizione introduce la nozione di compatibilita all’unione per

due schemi di relazione, utile a definire nel seguito gli operatori insiemistici

dell’algebra relazionale di unione, intersezione e di↵erenza.

Relazioni Compatibili all’Unione

Le relazioni R(A1, . . . ,An), S(B1, . . . ,Bm) sono dette compatibiliall’unione sse:

• hanno lo stesso grado, ovvero n = m

• 8i = 1 . . . n : Dom(Ai ) = Dom(Bi )

Ra↵aella Gentilini Basi di Dati 7 / 27

Page 27: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori insiemistici

La seguente definizione introduce la nozione di compatibilita all’unione per

due schemi di relazione, utile a definire nel seguito gli operatori insiemistici

dell’algebra relazionale di unione, intersezione e di↵erenza.

Relazioni Compatibili all’Unione

Le relazioni R(A1, . . . ,An), S(B1, . . . ,Bm) sono dette compatibiliall’unione sse:

• hanno lo stesso grado, ovvero n = m

• 8i = 1 . . . n : Dom(Ai ) = Dom(Bi )

Ra↵aella Gentilini Basi di Dati 7 / 27

Page 28: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori insiemistici

La seguente definizione introduce la nozione di compatibilita all’unione per

due schemi di relazione, utile a definire nel seguito gli operatori insiemistici

dell’algebra relazionale di unione, intersezione e di↵erenza.

Relazioni Compatibili all’Unione

Le relazioni R(A1, . . . ,An), S(B1, . . . ,Bm) sono dette compatibiliall’unione sse:

• hanno lo stesso grado, ovvero n = m

• 8i = 1 . . . n : Dom(Ai ) = Dom(Bi )

Ra↵aella Gentilini Basi di Dati 7 / 27

Page 29: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori insiemistici

La seguente definizione introduce la nozione di compatibilita all’unione per

due schemi di relazione, utile a definire nel seguito gli operatori insiemistici

dell’algebra relazionale di unione, intersezione e di↵erenza.

Relazioni Compatibili all’Unione

Le relazioni R(A1, . . . ,An), S(B1, . . . ,Bm) sono dette compatibiliall’unione sse:

• hanno lo stesso grado, ovvero n = m

• 8i = 1 . . . n : Dom(Ai ) = Dom(Bi )

Ra↵aella Gentilini Basi di Dati 7 / 27

Page 30: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Unione

Unione di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. L’unione applicata adr , s, indicata con r [ s e’ una relazione sull’insieme di attributi Xcontenente le tuple che appartengono ad r oppure ad s:

r [ s = {t | t 2 r _ t 2 s}

Ra↵aella Gentilini Basi di Dati 8 / 27

Page 31: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Unione

Unione di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. L’unione applicata adr , s, indicata con r [ s e’ una relazione sull’insieme di attributi Xcontenente le tuple che appartengono ad r oppure ad s:

r [ s = {t | t 2 r _ t 2 s}

Ra↵aella Gentilini Basi di Dati 8 / 27

Page 32: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Intersezione

Intersezione di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. L’intersezione appli-cata ad r , s, indicata con r \ s e’ una relazione sull’insieme di at-tributi X contenente le tuple che appartengono sia ad r che ad s:

r \ s = {t | t 2 r ^ t 2 s}

Ra↵aella Gentilini Basi di Dati 9 / 27

Page 33: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Intersezione

Intersezione di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. L’intersezione appli-cata ad r , s, indicata con r \ s e’ una relazione sull’insieme di at-tributi X contenente le tuple che appartengono sia ad r che ad s:

r \ s = {t | t 2 r ^ t 2 s}

Ra↵aella Gentilini Basi di Dati 9 / 27

Page 34: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Di↵erenza

Di↵erenza di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. La di↵erenza r \ s

e’ una relazione sull’insieme di attributi X contenente le tuple cheappartengono ad r ma non appartengono ad s:

r \ s = {t | t 2 r ^ t /2 s}

Ra↵aella Gentilini Basi di Dati 10 / 27

Page 35: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Di↵erenza

Di↵erenza di Relazioni

Siano r , s sue istanza di relazione i cui schemi (R(X ) ed S(Y ),rispettivamente) sono compatibili all’unione. La di↵erenza r \ s

e’ una relazione sull’insieme di attributi X contenente le tuple cheappartengono ad r ma non appartengono ad s:

r \ s = {t | t 2 r ^ t /2 s}

Ra↵aella Gentilini Basi di Dati 10 / 27

Page 36: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Operatori Insiemistici: Esempio

Ra↵aella Gentilini Basi di Dati 11 / 27

' '

÷÷÷iti÷÷¥⇒

Page 37: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Prodotto Cartesiano

L’ultimo operatore insiemistico dell’algebra relazionale e’ il prodottocartesiano.

Prodotto Cartesiano di Relazioni

Siano R(X ), S(Y ) due schemi di relazione tali che X = {A1, . . . ,An},Y = {B1, . . . ,Bm} ed X \ Y = ; e si considerino due istanze di relazioner , s sugli schemi R(X ), S(Y ). L’operatore di prodotto cartesiano r ⇥ s

produce un’istanza di relazione formata da tutte le tuple che e’ possibileottenere unendo le tuple di r ed s:

r ⇥ s =

{{(A1, v1), . . . , (An, vn)} [ {(B1, v1), . . . , (Bn, vm)} |

{(A1, v1), . . . , (An, vn)} 2 r ^ {(B1, v1), . . . , (Bn, vm)} 2 s}

Ra↵aella Gentilini Basi di Dati 12 / 27

Page 38: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Prodotto Cartesiano

L’ultimo operatore insiemistico dell’algebra relazionale e’ il prodottocartesiano.

Prodotto Cartesiano di Relazioni

Siano R(X ), S(Y ) due schemi di relazione tali che X = {A1, . . . ,An},Y = {B1, . . . ,Bm} ed X \ Y = ; e si considerino due istanze di relazioner , s sugli schemi R(X ), S(Y ). L’operatore di prodotto cartesiano r ⇥ s

produce un’istanza di relazione formata da tutte le tuple che e’ possibileottenere unendo le tuple di r ed s:

r ⇥ s =

{{(A1, v1), . . . , (An, vn)} [ {(B1, v1), . . . , (Bn, vm)} |

{(A1, v1), . . . , (An, vn)} 2 r ^ {(B1, v1), . . . , (Bn, vm)} 2 s}

Ra↵aella Gentilini Basi di Dati 12 / 27

Page 39: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Prodotto Cartesiano: Esempio

Ra↵aella Gentilini Basi di Dati 13 / 27

LINNET unGuAlPoPSTAt0MAD#UAL1NGUA%P einen U.9 Nessie SP°f?b I¥:÷ti::l÷:÷÷tTsTA Spognb 5.6 "

STATO MADRE LINGUA inglese 4.9 m

Messo|spofw# Exs(Gambier

Page 40: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Selezione e Proiezione: Introduzione

Selezione e Proiezione

Gli operatori di selezione e proiezione sono operatori unari che svol-gono funzioni complementari:

• La selezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di tuple dell’istanza di relazionein input

• La proiezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di colonne della tabella cheillustra l’istanza di relazione in input.

Ra↵aella Gentilini Basi di Dati 14 / 27

Page 41: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Selezione e Proiezione: Introduzione

Selezione e Proiezione

Gli operatori di selezione e proiezione sono operatori unari che svol-gono funzioni complementari:

• La selezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di tuple dell’istanza di relazionein input

• La proiezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di colonne della tabella cheillustra l’istanza di relazione in input.

Ra↵aella Gentilini Basi di Dati 14 / 27

Page 42: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Selezione e Proiezione: Introduzione

Selezione e Proiezione

Gli operatori di selezione e proiezione sono operatori unari che svol-gono funzioni complementari:

• La selezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di tuple dell’istanza di relazionein input

• La proiezione produce come risultato un’istanza di relazionecostituita da un sottoinsieme di colonne della tabella cheillustra l’istanza di relazione in input.

Ra↵aella Gentilini Basi di Dati 14 / 27

Page 43: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Selezione e Proiezione: Intuizione

Ra↵aella Gentilini Basi di Dati 15 / 27

*

EH on

Page 44: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

Page 45: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

Page 46: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

{=,-17,7,E. 43

Page 47: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

Kit.>is,E.4

Page 48: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

Ht.> ,3,423

Page 49: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

¥,>⇒E.Is

Page 50: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

k¥37,44

Page 51: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.

Ra↵aella Gentilini Basi di Dati 16 / 27

{= .-13,3,Eid

Page 52: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La selezioneL’operatore di selezione e’ denotato con il simbolo �F , dove F rappresenta

la condizione di selezione.

Condizione di Selezione

Data R(X ), una condizione di selezione su X e’ una formula proposizionaleF , ovvero una formula ottenuta combinando con i connettivi ^,_ e ¬condizioni atomiche (clausole) del tipo A✓B oppure A✓c , dove:

• ✓ e’ un operatore di confronto ✓ 2 {=, 6=, >,>,�, 6=}

• A e B sono attributi in X sui cui valori il confronto ✓ abbia senso

• c e’ una costante compatibile con il dominio di A

Data una tupla t in un’istanza di relazione r sullo schema R(X ):

• A✓B e’ vera su t sse t[A] e’ in relazione ✓ con t[B]

• A✓c e’ vera su t sse t[A] e’ in relazione ✓ con c

• F1 _ F2,F1 ^ F2,¬F1 hanno l’usuale significato.Ra↵aella Gentilini Basi di Dati 16 / 27

f-it.>.>it,G

Page 53: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Operatore di Selezione

La Selezione �F

Data un’istanza di relazione r sullo schema R(X ) ed una condizionedi selezione F (su X ), l’operazione di selezione �F (r) produce unarelazione su X che contiene le sole tuple di r su cui F e’ vera:

�F (r) = {t | t 2 r ^ t |= F}

Ra↵aella Gentilini Basi di Dati 17 / 27

Page 54: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Selezione: Esempio

Ra↵aella Gentilini Basi di Dati 18 / 27

LINGUE

L lNGUA % Pop .

I iHindu 4 . 4

A robo 4 .

2

Page 55: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

L’Operatore di Proiezione

La Proiezione ⇡Y

Data un’istanza di relazione r sullo schema R(X ) ed un sottoinsiemedi attributi Y ✓ X , l’operazione di proiezione ⇡Y (r) e’ definita da:

⇡Y (r) = {t[Y ] | t 2 r}

ovvero ⇡Y (r) contiene le tuple su Y ottenute dalle tuple di r con-siderando solo i valori su Y .

Ra↵aella Gentilini Basi di Dati 19 / 27

Page 56: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Proiezione: Esempio

Ra↵aella Gentilini Basi di Dati 20 / 27

stati-Tapffaii.AT)STATO CAPITALE LINGUA SUPERFICIE --CAPITALEAustria Vienne Tedesco 838ft -

f::L::÷f÷÷:L ::'ll:÷Hohe Rom Holon 301340 Rome

Russie Rosco Russo 3992550 Mogo

-

Page 57: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Concatenazione: Introduzione al Join

L’operatore derivato dell’algebra relazionale di join (concate-nazione):

• E’ indicato con il simbolo onF , dove F indica la condizione dijoin.

• E’ usato per unire tuple logicamente collegate, provenienti dadue relazioni, in tuple singole.

• Puo’ essere definito mediante gli operatori primitivi (ovveronon derivati) di selezione e prodotto cartesiano.

Ra↵aella Gentilini Basi di Dati 21 / 27

Page 58: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Concatenazione: Introduzione al Join

L’operatore derivato dell’algebra relazionale di join (concate-nazione):

• E’ indicato con il simbolo onF , dove F indica la condizione dijoin.

• E’ usato per unire tuple logicamente collegate, provenienti dadue relazioni, in tuple singole.

• Puo’ essere definito mediante gli operatori primitivi (ovveronon derivati) di selezione e prodotto cartesiano.

Ra↵aella Gentilini Basi di Dati 21 / 27

Page 59: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Concatenazione: Introduzione al Join

L’operatore derivato dell’algebra relazionale di join (concate-nazione):

• E’ indicato con il simbolo onF , dove F indica la condizione dijoin.

• E’ usato per unire tuple logicamente collegate, provenienti dadue relazioni, in tuple singole.

• Puo’ essere definito mediante gli operatori primitivi (ovveronon derivati) di selezione e prodotto cartesiano.

Ra↵aella Gentilini Basi di Dati 21 / 27

Page 60: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

La Concatenazione: Introduzione al Join

L’operatore derivato dell’algebra relazionale di join (concate-nazione):

• E’ indicato con il simbolo onF , dove F indica la condizione dijoin.

• E’ usato per unire tuple logicamente collegate, provenienti dadue relazioni, in tuple singole.

• Puo’ essere definito mediante gli operatori primitivi (ovveronon derivati) di selezione e prodotto cartesiano.

Ra↵aella Gentilini Basi di Dati 21 / 27

Page 61: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il ✓-Join

La Concatenazione (✓-join) onF

Siano R(X ), S(Y ) due schemi di relazione tali che X\Y = ; e sianor , s due istanze di R(X ), S(Y ). Sia F una formula proposizinale sucondizioni atomiche del tipo A✓B , dove A 2 X , B 2 Y e ✓ e’ unoperatore di confronto.

L’operatore di ✓-join r onF s produce una relazione formata da tuttele combinazioni di tuple che soddisfano la condizione di join F :

r onF s = �F (r ⇥ s)

Ra↵aella Gentilini Basi di Dati 22 / 27

Page 62: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il ✓-Join

La Concatenazione (✓-join) onF

Siano R(X ), S(Y ) due schemi di relazione tali che X\Y = ; e sianor , s due istanze di R(X ), S(Y ). Sia F una formula proposizinale sucondizioni atomiche del tipo A✓B , dove A 2 X , B 2 Y e ✓ e’ unoperatore di confronto.L’operatore di ✓-join r onF s produce una relazione formata da tuttele combinazioni di tuple che soddisfano la condizione di join F :

r onF s = �F (r ⇥ s)

Ra↵aella Gentilini Basi di Dati 22 / 27

Page 63: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il ✓-Join

La Concatenazione (✓-join) onF

Siano R(X ), S(Y ) due schemi di relazione tali che X\Y = ; e sianor , s due istanze di R(X ), S(Y ). Sia F una formula proposizinale sucondizioni atomiche del tipo A✓B , dove A 2 X , B 2 Y e ✓ e’ unoperatore di confronto.L’operatore di ✓-join r onF s produce una relazione formata da tuttele combinazioni di tuple che soddisfano la condizione di join F :

r onF s = �F (r ⇥ s)

Ra↵aella Gentilini Basi di Dati 22 / 27

Page 64: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

✓-Join: Esempio

Ra↵aella Gentilini Basi di Dati 23 / 27

CONTINENT' STA- STATO CAPITALE CONTINENTENOTE SOPERTTCIE STAT

"

-Morocco Robot Africa

a:÷÷÷÷E÷ll÷÷÷÷÷t÷÷:Europe 10300734 48- Bugle Broglie America

• repave le Cephei degli gwwbmie Ammon As.es

Stroh' che epp-Aeryn e -continent Gm une supnfsaeol' Imm 40.000.000 km

"

stag# CONTINENT))rescue) ← ftp.bksuffge?......onwtimemh--

Page 65: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Equijoin

Equijoin

Un equijoin e’ un ✓-join dove la condizione di join F e’ una congiun-zione di condizioni atomiche di uguaglianze.

Ra↵aella Gentilini Basi di Dati 24 / 27

• CONTINENTE Al STAT'

I un esernpioNome .- continents

oli Cquijoim .

Page 66: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale: Premesse

• Il risultato di un’operazione di equijoin e’ una relazione doveogni tupla assume gli stessi valori sugli attributi di equijoin.

• tali attributi appaiono dunque ripetuti nel risultato.

• L’operatore (derivato) di join naturale permette di eliminare lesuddette duplicazioni di un equijoin.

• In particolare, date due istanze di relazioni r , s il join naturaleproduce una relazione le cui tuple sono ottenute concatenandole tuple di r ed s che hanno gli stessi valori sugli attributicomuni.

Ra↵aella Gentilini Basi di Dati 25 / 27

Page 67: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale: Premesse

• Il risultato di un’operazione di equijoin e’ una relazione doveogni tupla assume gli stessi valori sugli attributi di equijoin.

• tali attributi appaiono dunque ripetuti nel risultato.

• L’operatore (derivato) di join naturale permette di eliminare lesuddette duplicazioni di un equijoin.

• In particolare, date due istanze di relazioni r , s il join naturaleproduce una relazione le cui tuple sono ottenute concatenandole tuple di r ed s che hanno gli stessi valori sugli attributicomuni.

Ra↵aella Gentilini Basi di Dati 25 / 27

Page 68: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale: Premesse

• Il risultato di un’operazione di equijoin e’ una relazione doveogni tupla assume gli stessi valori sugli attributi di equijoin.

• tali attributi appaiono dunque ripetuti nel risultato.

• L’operatore (derivato) di join naturale permette di eliminare lesuddette duplicazioni di un equijoin.

• In particolare, date due istanze di relazioni r , s il join naturaleproduce una relazione le cui tuple sono ottenute concatenandole tuple di r ed s che hanno gli stessi valori sugli attributicomuni.

Ra↵aella Gentilini Basi di Dati 25 / 27

Page 69: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale: Premesse

• Il risultato di un’operazione di equijoin e’ una relazione doveogni tupla assume gli stessi valori sugli attributi di equijoin.

• tali attributi appaiono dunque ripetuti nel risultato.

• L’operatore (derivato) di join naturale permette di eliminare lesuddette duplicazioni di un equijoin.

• In particolare, date due istanze di relazioni r , s il join naturaleproduce una relazione le cui tuple sono ottenute concatenandole tuple di r ed s che hanno gli stessi valori sugli attributicomuni.

Ra↵aella Gentilini Basi di Dati 25 / 27

Page 70: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale: Premesse

• Il risultato di un’operazione di equijoin e’ una relazione doveogni tupla assume gli stessi valori sugli attributi di equijoin.

• tali attributi appaiono dunque ripetuti nel risultato.

• L’operatore (derivato) di join naturale permette di eliminare lesuddette duplicazioni di un equijoin.

• In particolare, date due istanze di relazioni r , s il join naturaleproduce una relazione le cui tuple sono ottenute concatenandole tuple di r ed s che hanno gli stessi valori sugli attributicomuni.

Ra↵aella Gentilini Basi di Dati 25 / 27

Page 71: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale

Join Naturale on

Siano R(X ), S(Y ) due schemi di relazione, sia Z = X \ Y e siconsiderino due istanze r , s di R(X ), S(Y ).

La concatenazione naturale (join naturale) r on s e’ definita come:

r on s = {t [ t

0 | t 2 r ^ t

0 2 s ^ t[Z ] = t

0[Z ]}

Ra↵aella Gentilini Basi di Dati 26 / 27

Page 72: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Il Join Naturale

Join Naturale on

Siano R(X ), S(Y ) due schemi di relazione, sia Z = X \ Y e siconsiderino due istanze r , s di R(X ), S(Y ).La concatenazione naturale (join naturale) r on s e’ definita come:

r on s = {t [ t

0 | t 2 r ^ t

0 2 s ^ t[Z ] = t

0[Z ]}

Ra↵aella Gentilini Basi di Dati 26 / 27

Page 73: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Join Naturale: Esempio

Ra↵aella Gentilini Basi di Dati 27 / 27

Si eomsiolerimo Greenhorn' dello Sade 23 :

CONTINENTE ( NOME , SUPERFICIE , STAN )STAN C STATO , CAPITALE ,

CONTINENTE )Le segmented operation: :C (con , sup , N-S)←

ConnNENTICNORE , SOPERFIUE ,STAN )

SCST,CAP

,Cox)← STAT

' (STATO , CAPITAE. CONTINENTE)

Cra s --

produce lore Coton: GNSUPN.sstcn.ir#Afro 30221532 Ss Morocco Robot÷÷÷÷÷÷ef÷f÷mf÷÷÷÷)Afro 30221532 55 Reonob Rifle'

une Volte ! Ammo 52559000 35 Bro'S.ee Bushe

Age 44579000 SI Garenne Annwn

Page 74: Basi di Dati - Dipartimento di Matematica e Informatica · 2020. 10. 15. · Algebra Relazionale: Introduzione. Algebra Relazionale Linguaggio per l’interrogazione di BD basate

Algebra Relazionale Operatori dell’Algebra Relazionale

Join Naturale: Esempio

Ra↵aella Gentilini Basi di Dati 27 / 27

• the penn le opitoli defeistotimemomnoh'

nella BD dello slide26 che epportenfomo g

continents' am une superfue diolmemo

40 . 000 . ooo oli km2 .

C (GN , sup , N-s )←CONTINENT (NOTE ,SUPERFlaE.STAT)

S K ST, CAP.Gn )←STAT

' (STATO, CAPITALE BNDNENTE)

'"II:c:{ 's;÷÷÷÷" "s

Ammon-