Algebra Relazionale

15
1 Algebra Relazionale Algebra Relazionale Eugenio Di Sciascio

description

Algebra Relazionale. Eugenio Di Sciascio. Introduzione. L’algebra relazionale è un linguaggio procedurale: le operazioni vengono specificate descrivendo il procedimento da seguire Essa è un’algebra chiusa. E’ costituita da un insieme di operatori definiti su relazioni che producono relazioni. - PowerPoint PPT Presentation

Transcript of Algebra Relazionale

Page 1: Algebra Relazionale

1

Algebra RelazionaleAlgebra RelazionaleEugenio Di Sciascio

Page 2: Algebra Relazionale

2

Introduzione Introduzione L’algebra relazionale è un linguaggio

procedurale: le operazioni vengono specificate descrivendo il procedimento da seguire

Essa è un’algebra chiusa. E’ costituita da un insieme di operatori definiti su relazioni che producono relazioni.

Pertanto il risultato di una operazione può essere ulteriormente manipolato.

I principali operatori sono la selezione e la proiezione (unari) e il join (binario)

Esistono le operazioni tipiche dell’insiemistica, unione, intersezione, differenza e il prodotto cartesiano

Page 3: Algebra Relazionale

3

SelezioneSelezione

Consente di selezionare un sottoinsieme delle tuple di una relazione che soddisfino una condizione di selezione.

L’operazione è espressa in generale come:

La condizione di selezione può prevedere comparazione tra attributi compatibili o con costanti, oltre a essere ottenuta collegando varie condizioni mediante connettivi logici (and, or, not).

)relazione(selezione_di_condizione

Page 4: Algebra Relazionale

4

Esempio Esempio Cognome Nome

Data di nascita

Data di assunzione

Davolio Nancy 08-dic-48 01-mag-92

Fuller Andrew 19-feb-52 14-ago-92

Leverling Janet 30-ago-63 01-apr-92

Peacock Margaret

19-set-37 03-mag-93

Buchanan Steven 04-mar-55 17-ott-93

Suyama Michael 02-lug-63 17-ott-93

King Robert 29-mag-60 02-gen-94

Callahan Laura 09-gen-58 05-mar-94

Dodsworth

Anne 27-gen-66 15-nov-94

Rossi mario

ImpiegatiCognome Nome

Data di nascita

Data di assunzione

Suyama Michael

02-lug-63 17-ott-93

King Robert 29-mag-60 02-gen-94

Dodsworth

Anne 27-gen-66 15-nov-94

piegatoImdataassasctanda 930305600101

Page 5: Algebra Relazionale

5

Selezione (2)Selezione (2)

L’operazione viene applicata a ciascuna tupla individualmente.

La relazione risultante mantiene lo schema di quella di partenza, i.e. il grado rimane invariato.

La cardinalità risultante è invece di quella di partenza.

La selezione è commutativa:)R()R(

condcondcondcond 1221

Page 6: Algebra Relazionale

6

ProiezioneProiezione

Consente di selezionare un sottoinsieme delle colonne (attributi) di una relazione elencati in una lista di attributi di proiezione

L’operazione è espressa in generale come:)relazione(

attributi_di_lista

Page 7: Algebra Relazionale

7

Proiezione (2)Proiezione (2)

L’operazione modifica, in generale, il grado, i.e. il numero di attributi.

L’operazione modifica, in generale, anche la cardinalità (perché?)

L’operazione non è commutativa.

Page 8: Algebra Relazionale

8

EsempioEsempioCognome Nome Posizione Titolo Data di nascita

Davolio Nancy Rappresentante Dott.ssa 08-dic-48

Fuller Andrew Direttore vendite Ing. 19-feb-52

Leverling Janet Funzionario commerciale Dott.ssa 30-ago-63

Peacock Margaret Rappresentante Dott.ssa 19-set-37

Buchanan Steven Direttore commerciale Ing. 04-mar-55

Suyama Michael Rappresentante Dott. 02-lug-63

King Robert Rappresentante Dott. 29-mag-60

Callahan Laura Resp. comm. di zona Dott.ssa 09-gen-58

Dodsworth Anne Rappresentante Dott.ssa 27-gen-66

Rossi mario

ImpiegatoCognome Nome

Davolio Nancy

Fuller Andrew

Leverling Janet

Peacock Margaret

Buchanan Steven

Suyama Michael

King Robert

Callahan Laura

Dodsworth Anne

Rossi mario

Titolo

Dott.

Dott.ssa

Ing.

)impiegato(nome,cognome

)impiegato(titolo

Page 9: Algebra Relazionale

9

Sequenze di operazioniSequenze di operazioniTrattando operazioni in una algebra chiusa

è ovviamente possibile scrivere espressioni come sequenza di operazioni

))impiegato((."dott"titolonome,cognome

Cognome Nome Posizione Titolo Data di nascita

Davolio Nancy Rappresentante Dott.ssa 08-dic-48

Fuller Andrew Direttore vendite Ing. 19-feb-52

Leverling Janet Funzionario commerciale Dott.ssa 30-ago-63

Peacock Margaret Rappresentante Dott.ssa 19-set-37

Buchanan Steven Direttore commerciale Ing. 04-mar-55

Suyama Michael Rappresentante Dott. 02-lug-63

King Robert Rappresentante Dott. 29-mag-60

Callahan Laura Resp. comm. di zona Dott.ssa 09-gen-58

Dodsworth Anne Rappresentante Dott.ssa 27-gen-66

Rossi mario

Nome Cognome

Michael Suyama

Robert King

Page 10: Algebra Relazionale

10

Unione, intersezione, differenzaUnione, intersezione, differenza

Operazioni binarie dell’insiemistica Hanno senso su relazioni compatibili, cioè con

identici attributi o almeno appartenenti al medesimo dominio.

Unione: RS produce una relazione che include tutte le tuple presenti in R o in S o in entrambe.

Intersezione: RS produce una relazione che include tutte le tuple presenti sia in R che in S.

Differenza: R-S produce una relazione che include tutte le tuple presenti in R, ma non in S.

Page 11: Algebra Relazionale

11

EsempioEsempiomat cognome città

119310 di sciascio bari125314 rossi bari199111 verdi foggia

mat cognome città119310 di sciascio bari125314 rossi bari501111 bianchi lecce

Studente (S) Laureato (L)

SLmat cognome città

119310 di sciascio bari125314 rossi bari199111 verdi foggia501111 bianchi lecce

SLmat cognome città

119310 di sciascio bari125314 rossi bari

S-Lmat cognome città

501111 bianchi lecce

Page 12: Algebra Relazionale

12

Prodotto cartesianoProdotto cartesiano

E’ una operazione binaria su insiemi, ma non richiede la compatibilità delle relazioni partecipanti..

Essa è denotata con il simbolo X.Il grado della relazione risultante è pari

alla somma dei gradi delle due relazioni partecipanti.

La cardinalità è pari al prodotto di quelle delle due relazioni partecipanti.

Page 13: Algebra Relazionale

13

EsempioEsempio

Page 14: Algebra Relazionale

14

JoinJoin

E’ l’operazione utilizzata per combinare coppie di tuple provenienti da relazioni collegate in singole tuple.

Consente di elaborare le “associazioni” tra relazioni.

<condizione> è dello stesso tipo di quella già vista per la selezione

)SR(SRcondizionecondizione

Page 15: Algebra Relazionale

15

Join (2)Join (2)

Il join con una condizione generica è detto theta join

Quando la condizione sia una uguaglianza l’operazione è detta equi join.

Questa operazione includerà due volte, nella tabella risultante, gli attributi su cui è posta la condizione di uguaglianza.

Quando l’operazione si limita a riportare una volta l’attributo di comparazione nella tabella risultante parleremo di join naturale.