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
