1 / 15

Algebra Relazionale

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.

will
Download Presentation

Algebra Relazionale

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algebra Relazionale Eugenio Di Sciascio

  2. 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

  3. Selezione • 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).

  4. Cognome Cognome Nome Nome Data di nascita Data di nascita Data di assunzione Data di assunzione Davolio Suyama Michael Nancy 02-lug-63 08-dic-48 17-ott-93 01-mag-92 King Fuller Robert Andrew 29-mag-60 19-feb-52 02-gen-94 14-ago-92 Dodsworth Leverling Janet Anne 27-gen-66 30-ago-63 15-nov-94 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 Esempio Impiegati

  5. 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:

  6. Proiezione • 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:

  7. 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.

  8. Cognome Titolo Cognome Nome Nome Posizione Titolo Data di nascita Dott. Davolio Davolio Nancy Nancy Rappresentante Dott.ssa 08-dic-48 Dott.ssa Fuller Fuller Andrew Andrew Direttore vendite Ing. 19-feb-52 Leverling Ing. Leverling Janet Janet Funzionario commerciale Dott.ssa 30-ago-63 Peacock Peacock Margaret Margaret Rappresentante Dott.ssa 19-set-37 Buchanan Buchanan Steven Steven Direttore commerciale Ing. 04-mar-55 Suyama Suyama Michael Michael Rappresentante Dott. 02-lug-63 King King Robert Robert Rappresentante Dott. 29-mag-60 Callahan Callahan Laura Laura Resp. comm. di zona Dott.ssa 09-gen-58 Dodsworth Dodsworth Anne Anne Rappresentante Dott.ssa 27-gen-66 Rossi Rossi mario mario Esempio Impiegato

  9. Nome Cognome Cognome Nome Posizione Titolo Data di nascita Davolio Michael Suyama Nancy Rappresentante Dott.ssa 08-dic-48 Robert Fuller King 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 Sequenze di operazioni • Trattando operazioni in una algebra chiusa è ovviamente possibile scrivere espressioni come sequenza di operazioni

  10. Unione, intersezione, differenza • Operazioni binarie dell’insiemistica • Hanno senso su relazioni compatibili, cioè con identici attributi o almeno appartenenti al medesimo dominio. • Unione: RS produce una relazione che include tutte le tuple presenti in R o in S o in entrambe. • Intersezione: RS 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.

  11. Esempio Studente (S) Laureato (L) SL SL S-L

  12. Prodotto 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.

  13. Esempio

  14. Join • 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

  15. 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.

More Related