L'algebra relazionale

Cos'è l'algebra relazionale

L'algebra relazionale è un linguaggio di interrogazione teorico delle basi dati nel modello relazionale.

E' stata ideato da Edgar Codd negli anni '70.

Si tratta di un linguaggio "procedurale" perché descrive il procedimento da seguire per risolvere un problema in un database relazionale.

Nota. E' un linguaggio teorico sul quale si fondano altri linguaggio usati per interrogare e gestire le basi dati come il linguaggio SQL.

Si chiama "relazionale" perché utilizza le tabelle (relazioni matematiche) come operandi e il risultato è un'altra tabella (relazione).

Infine, è un'algebra perché rispetta tutte le proprietà matematiche delle algebre.

Gli operatori dell'algebra relazionale

L'algebra relazionale utilizza diversi operatori che possono essere composti tra loro per costruire espressioni più complesse.

  • Unione
    Determina una relazione (tabella) composta dall'unione delle tuple di due relazioni r1 e r2 che hanno gli stessi attributi X.

    r1 ∪ r2

  • Intersezione
    Determina una relazione (tabella) composta dalle tuple in comune di due relazioni r1 e r2 che hanno gli stessi attributi X.

    r1 ⋂ r2

  • Differenza
    Determina una relazione (tabella) composta dalle tuple che appartegono a una relazione (r1) ma non a un'altra relazione (r2). Le tabelle r1 e r2 devono avere gli stessi attributi X.

    r1-r2

  • Ridenominazione
    Cambia il nome di uno o più attributi da X a Y in una relazione.

    ρ Y←X (r)

  • Prodotto cartesiano
    Crea una relazione composta da tutte le combinazioni di tuple della prima tabella con la seconda.

    r1 x r2

  • Selezione
    Seleziona le tuple/ennuple di una relazione (tabella) che soddisfano una condizione booleana.

    σX>0(r)

  • Proiezione
    Seleziona alcune colonne di una relazione.

    πX (r)

  • Join
    Associa le tuple di due tabelle che hanno gli stessi valori in uno o più attributi.
  • Divisione
    Individua le tuple <x> della prima relazione r1 che associate alle tuple <y> della seconda relazione r2 determinano una tupla <x,y> inclusa in r1.

    r1/r2

Le interrogazioni

In algebra relazionale un'interrogazione è una funzione che genera una relazione risultato E(r) a partire da un insieme di istanze (tuple) della relazione r.

Ogni interrogazione è un'espressione composta da variabili, attributi e operatori.

In genere esistono diverse strade per ottenere un risultato.

Nota. Le espressioni che determinano lo stesso risultato dalle stesse relazioni in ingresso sono dette espressioni equivalenti.

Esempio

Ho una relazione 'anagrafica' con uno schema di attributi composto da nome, cognome, città.

una relazione (tabella) di esempio

Ecco un esempio di interrogazione

σ(nome='Andrea'∧cognome ='Minini') (anagrafica)

Lo stesso risultato posso ottenerlo con un'espressione equivalente.

σ(nome='Andrea')(cognome ='Minini') (anagrafica))

In questo secondo caso ho suddiviso la selezione congiuntiva in una selezione atomica a cascata.

Il risultato finale è sempre lo stesso.

Com esercitarsi in algebra relazionale. Per esercitarmi online nelle operazioni di algebra relazionale posso usare il relational algebra calculator.
un tool online di relational algebra

E così via

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Relational Algebra