5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli...

72
Modulo I Prof. Crescenzio Gallo [email protected] Corso integrato di Sistemi di Elaborazione

Transcript of 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli...

Page 1: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Modulo IProf. Crescenzio Gallo [email protected]

Corso integrato di Sistemi di Elaborazione

Page 2: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Algebra relazionale

2

Page 3: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

3

Algebra relazionale• Introduzione • Selezione e proiezione • Prodotto cartesiano e join • Natural join, theta-join e semi-join • Outer join • Unione e intersezione • Differenza e anti-join • Divisione e altri operatori

Page 4: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Introduzione

4

Page 5: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

5

Algebra relazionale• Estende l’algebra degli insiemi per il modello

relazionale • Definisce un insieme di operatori che operano su

relazioni e producono come risultato una relazione • Gode della proprietà di chiusura

- il risultato di qualunque operazione algebrica su relazioni è a sua volta una relazione

Page 6: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

6

Operatori dell’algebra relazionale• Operatori unari

- selezione (σ) - proiezione (π)

• Operatori binari - prodotto cartesiano (×) - join (⋈) - unione (⋃) - intersezione (⋂) - differenza (− oppure ∖) - divisione (∕)

• Operatori insiemistici - unione (⋃) - intersezione (⋂) - differenza (− oppure ∖) - prodotto cartesiano (×)

• Operatori relazionali - selezione (σ) - proiezione (π) - join (⋈) - divisione (∕)

Page 7: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Selezione e Proiezione

7

Page 8: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

8

Selezione• La selezione estrae un sottoinsieme “orizzontale” della

relazione (estrae righe della tabella).

Page 9: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

9

Selezione: definizioneR = σp (A)

• La selezione genera una relazione R - avente lo stesso schema di A - contenente tutte le n-uple della relazione A per cui è vero il predicato p

• Il predicato p è un’espressione booleana di confronti tra attributi e/o costanti - p: (Città=‘Torino’) ∧ (Età>18) - p: DataRestituzione > DataConsegna+10

Page 10: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

10

Selezione: esempio

Page 11: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

11

Proiezione• La proiezione estrae un sottoinsieme “verticale” della

relazione (estrae colonne della tabella).

Page 12: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

12

Proiezione: definizioneR = πd (A)

• La proiezione genera una relazione R - avente come schema la lista di attributi “d” (sottoinsieme dello schema

di A) - contenente tutte le n-uple della relazione A

• Sono eliminati gli eventuali duplicati dovuti all’esclusione degli attributi non presenti in d - se d include una chiave candidata, non vi sono duplicati

Page 13: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

13

Proiezione: esempio 1

Page 14: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

14

Proiezione: esempio 2Trovare il nome dei dipartimenti in cui è presente almeno un docente: R = πDipartimento (Docenti)

Page 15: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

15

Selezione+proiezione: esempio

Innanzitutto occorre

selezionare i corsi del secondo

semestre…

Trovare il nome dei corsi del secondo semestre

Page 16: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

16

Selezione+proiezione: esempio

…quindi proiettare l’attributo

NomeCorso, ottenendo la relazione

finale desiderata.

Page 17: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

17

Selezione+proiezione: esempio

Page 18: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

18

Selezione+proiezione: esempio (corretto?)

Page 19: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

19

Selezione+proiezione: soluzione errata

Page 20: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

20

Selezione+proiezione: soluzione errata

• L’attributo Semestre non esiste più, quindi non è possibile eseguire l’operazione di selezione

• Perciò l’ordine delle operazioni è importante

Page 21: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Prodotto cartesiano e Join

21

Page 22: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

22

Prodotto cartesiano: definizione

R = A × B • Il prodotto cartesiano di due relazioni A e B genera

una relazione R - avente come schema l’unione degli schemi di A e di B - contenente tutte le coppie formate da una n-upla di A e una n-upla

di B

• Il prodotto cartesiano è - commutativo: A×B = B×A - associativo: (A×B)×C = A×(B×C)

Page 23: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

23

Prodotto cartesiano: esempioTrovare il prodotto cartesiano tra Corsi e Docenti

Page 24: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

24

Prodotto cartesiano: esempio

Page 25: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

25

Join• Il join di due relazioni A e B genera tutte le coppie

formate da una n-upla di A e una n-upla di B “semanticamente legate”

Page 26: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

26

Join: definizione• Il join è un operatore derivato

- può essere espresso utilizzando gli operatori ×, σp, πd

• Il join è definito separatamente perché esprime

sinteticamente molte operazioni ricorrenti nelle interrogazioni

• Esistono diversi tipi di join- natural join - theta-join (e il suo sottocaso equi-join) - semi-join

Page 27: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

27

Join: esempioTrovare le informazioni sui corsi e sui docenti che li tengono

Page 28: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

28

Join: esempio

Page 29: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

29

Join: esempio

• Nota bene: il docente (D105, Neri, Informatica), che non tiene alcun corso, non compare nel risultato del join.

Page 30: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Natural join, theta-join e semi-join

30

Page 31: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

31

Natural join: definizioneR = A ⋈ B

• Il natural join di due relazioni A e B genera una relazione R, avente come schema - gli attributi presenti nello schema di A e non presenti nello schema di B - gli attributi presenti nello schema di B e non presenti nello schema di A - una sola copia degli attributi comuni (con lo stesso nome nello schema di A e

di B) contenente tutte le coppie costituite da una n-upla di A e una n-upla di B per cui il valore degli attributi comuni è uguale

• Il natural join è commutativo e associativo

Page 32: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

32

Natural join: esempio

Nota bene: l’attributo comune MatrDocente è presente una volta sola nello schema della relazione risultante R

Page 33: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

33

Theta-join: definizione

R = A ⋈p B

• Il theta-join di due relazioni A e B genera una relazione R - avente come schema l’unione degli schemi di A e B - contenente tutte le coppie costituite da una n-upla di A e una n-upla di B

per cui è vero il predicato p

• Il predicato p è nella forma X θ Y, dove - X è un attributo di A, Y è un attributo di B - θ è un operatore di confronto compatibile con i domini di X e Y

• Il theta-join è commutativo e associativo

Page 34: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

34

Theta-join: esempio

Page 35: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

35

Theta-join: esempio

Page 36: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

36

Theta-join: esempio

Page 37: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

37

Equi-join: definizioneR = A ⋈p B

• L’equi-join è un caso particolare del theta-join in cui θ è l’operatore di uguaglianza (=).

Page 38: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

38

Semi-join: definizione e proprietàR = A ⋉p B

• Il semi-join di due relazioni A e B genera una relazione R - avente lo stesso schema di A - contenente tutte le n-uple di A per cui è vero il predicato p

• Il predicato p è espresso nella stessa forma del theta-join (confronto fra attributi di A e B)

• Il semi-join può essere espresso in funzione del theta-join: A ⋉p B = πschema(A) (A ⋈p B)

• Il semi-join non gode della proprietà commutativa

Page 39: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

39

Semi-join: esempio

Si osservi che il semi-join effettua la proiezione dei soli attributi del docente

Page 40: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

40

Semi-join: esempio

Page 41: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

41

Semi-join: esempio

Page 42: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

42

Semi-join: esempio

Page 43: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Outer-join

43

Page 44: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

44

Outer-join• Variante del join che permette di conservare

l’informazione relativa alle tuple non semanticamente legate dal predicato di join - completa con valori nulli le n-uple prive di controparte

• Esistono tre tipi di outer-join - left: sono completate solo le n-uple del primo operando - right: sono completate solo le n-uple del secondo operando - full: sono completate le n-uple di entrambi gli operandi

Page 45: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

45

Left outer-join: definizioneR = A ⟕p B

• Il left outer-join di due relazioni A e B genera una relazione R ➡ avente come schema l’unione degli schemi di A e di B ➡ contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p - una n-upla di A che non è correlata mediante il predicato p a n-

uple di B completata con valori nulli per tutti gli attributi di B

• Il left outer-join non è commutativo

Page 46: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

46

Left outer-join: esempioTrovare le informazioni sui docenti e sui corsi che tengono

Page 47: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

47

Right outer-join: definizioneR = A ⟖p B

• Il right outer-join di due relazioni A e B genera una relazione R ➡ avente come schema l’unione degli schemi di A e di B ➡ contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p - una n-upla di B che non è correlata mediante il predicato p a n-

uple di A completata con valori nulli per tutti gli attributi di A

• Il right outer-join non è commutativo

Page 48: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

48

Full outer-join: definizioneR = A ⟗p B

• Il full outer-join di due relazioni A e B genera una relazione R ➡ avente come schema l’unione degli schemi di A e di B ➡ contenente le coppie formate da

- una n-upla di A e una n-upla di B per cui è vero il predicato p - una n-upla di A che non è correlata mediante il predicato p a n-uple di

B completata con valori nulli per tutti gli attributi di B - una n-upla di B che non è correlata mediante il predicato p a n-uple di

A completata con valori nulli per tutti gli attributi di A

• Il full outer-join è commutativo

Page 49: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Unione e intersezione

49

Page 50: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

50

Unione• L’unione di due relazioni A e B seleziona tutte le

n-uple presenti in almeno una delle due relazioni

Page 51: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

51

Unione: definizione e proprietàR = A ∪ B

• L’unione di due relazioni A e B genera una relazione R - avente lo stesso schema di A - contenente tutte le n-uple provenienti da A e da B

• Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

• Le n-uple duplicate sono eliminate • L’unione è commutativa e associativa

Page 52: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

52

Unione: esempioTrovare le informazioni relative ai docenti dei corsi di laurea o di master

N.B. Non vi sono righe duplicate

Page 53: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

53

Intersezione• L’intersezione di due relazioni A e B seleziona

tutte le n-uple presenti in entrambe le relazioni

Page 54: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

54

Intersezione: definizione e proprietà

R = A ∩ B • L’intersezione di due relazioni A e B genera una

relazione R - avente lo stesso schema di A - contenente le sole n-uple appartenenti sia ad A che a B

• Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

• L’intersezione è commutativa e associativa

Page 55: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

55

Intersezione: esempioTrovare le informazioni dei docenti che insegnano sia nei corsi di laurea che nei master

Page 56: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Differenza e anti-join

56

Page 57: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

57

Differenza• La differenza di due relazioni A e B seleziona

tutte le n-uple presenti in A ma non in B

Page 58: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

58

DifferenzaA−B ≠ B−A

Page 59: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

59

Differenza: definizione e proprietà

R = A − B • L’intersezione di due relazioni A e B genera una

relazione R - avente lo stesso schema di A - contenente le n-uple di A che non appartengono a B

• Le due relazioni devono avere lo stesso schema (numero e tipo di attributi)

• La differenza non è né commutativa né associativa

Page 60: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

60

Differenza: esempio 1Trovare le informazioni dei docenti che insegnano nei corsi di laurea ma non nei master

Page 61: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

61

Differenza: esempio 2Trovare le informazioni dei docenti che insegnano nei master ma non nei corsi di laurea

Page 62: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

62

Differenza: esempio 3Trovare matricola, nome e dipartimento dei docenti che non tengono corsi

Page 63: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

63

Differenza: esempio 3

Page 64: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

64

Differenza: esempio 3

← dalla relazione Docenti

← dalla relazione Corsi

Page 65: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

65

Differenza: esempio 3

Page 66: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

66

Anti-join: definizione e proprietàR = A ⋉p B

• L’anti-join di due relazioni A e B genera una relazione R - avente lo stesso schema di A

- contenente tutte le n-uple di A per cui non esiste nessuna n-upla in B per cui è vero il predicato p

• Il predicato p è espresso nella stessa forma del theta-join e del semi-join

• L’anti-join non gode né della proprietà commutativa, né della proprietà associativa

Page 67: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

67

Anti-join: esempioTrovare matricola, nome e dipartimento dei docenti che non tengono corsi

Page 68: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

Divisione e altri operatori

68

Page 69: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

69

Divisione: definizione e proprietà

R = A / B • La divisione della relazione A per la relazione B genera

una relazione R - avente come schema schema(A) − schema(B) - contenente tutte le n-uple di A tali che per ogni n-upla (Y:y) presente in B

esiste una n-upla (X:x,Y:y) in A

• La divisione non gode né della proprietà commutativa, né della proprietà associativa

Page 70: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

70

Divisione: esempioTrovare le matricole degli studenti che hanno superato tutti i corsi del 1° anno

Page 71: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

71

Divisione: esempio

Tutti i corsi del primo anno (C2 e C4) sono stati superati dagli studenti con matricola S1 ed S4.

Page 72: 5 03-Algebra relazionale - crescenziogallo.it · Algebra relazionale • Estende l’algebra degli insiemi per il modello relazionale • Definisce un insieme di operatori che operano

Corso di Sistemi di Elaborazione (I Modulo) - Prof. Crescenzio Gallo

Un

iver

sità

di F

oggi

a - C

dL in

Inge

gner

ia d

ei S

iste

mi L

ogis

tici

per

l’A

groa

limen

tare

72

Altri operatori• Sono stati proposti numerosi altri operatori per

estendere il potere espressivo dell’algebra relazionale - estensione con un nuovo attributo (calcolato), definito da

un’espressione scalare: Peso_Lordo = Peso_Netto+Tara

• Calcolo di funzioni aggregate - max, min, avg, count, sum - eventualmente con la definizione di sottoinsiemi in cui raggruppare i

dati (GROUP BY di SQL)