Algebra relazionale

L’algebra relazionale è quella che ci permette di gestire i dati e si basa su degli operatori che:

  • Sono definiti sulle relazioni
  • Producono come risultato una relazione

Gli operatori primitivi sono:

  • Ridenominazione
  • Unione
  • Differenza
  • Proiezione
  • Restrizione
  • Prodotto
Ridenominazione

La ridenominazione è un operatore espresso dal simbolo che va a rinominare una colonna da a

EXAMPLE

Unione, differenza e intersezione

Dato che le relazioni sono degli insiemi (di ennuple) possiamo applicare gli operatori che di solito usiamo con gli insiemi, dati ed due relazioni dello stesso tipo allora abbiamo che:

Proiezione

La proiezione è un operatore che ci permette di selezionare solo specifici attributi della nostra tabella. Sia una relazione e siano alcuni suoi attributi allora una proiezione di sarebbe:

Selezione

La selezione è un operatore che produce un risultato con lo stesso schema dell’operando iniziale ma con un sottoinsieme di ennuple. Data una formula proposizionale e dato una relazione allora la selezione di rispetto al formula sarebbe:

Prodotto cartesiano

Date due relazione e con l’operatore prodotto cartesiano ci permette di creare

JOIN

Questo operatore ci permette di combinare tuple da relazioni diverse basandosi sui valori degli attributi, ne abbiamo principalmente due tipi:

  • Natural JOIN Sia con attributi ed con attributi allora è una relazione quindi: cioè: le ennuple del risultato sono ottenute combinando le ennuple di e che hanno gli stessi valori negli attributi con lo stesso nome
  • Theta JOIN viene specificato un predicato per la selezione delle ennuple, definito in questo modo: quando la congiunzione è di uguaglianza allora si parla di equi-JOIN questa theta-join è anche una equi-join
Dimostrazione che equi-join è derivata

Siano ed con Allora ponendo:

  • Arriviamo a capire che la equi-join è derivata perché ovvero la equi-join è una theta join con una congiunzione di uguaglianza
Dimostrazione che natural-join è derivata

Siano con attributi ed con attributi , allora è una relazione di attributi costituita da tutte le ennuple tali che: in , in ovvero che: Possiamo affermare che la congiunzione è derivata perché se rinominiamo gli attributi di come ottenendo capiamo subito che usando una equi-join (con ) e una proiezione rispetto otteniamo la stessa cosa che facendo una natural join: essendo la equi-join un operatore derivata allora anche la natural join lo è.

Dimostrazione che l’intersezione è derivata

Data due relazioni ed allora

Query

Una query è una funzione che da una istanza di una database (insiemi di relazioni) ci da una relazione come risultato