Premessa
Portale di appartenenza: Basi di dati.
Cosa troverai in questa nota:
- I 7 operatori di base dellβalgebra relazionale.
Prerequisiti: per comprendere pienamente il contenuto di questa nota, oltre le conoscenze minime che do per scontato che tu sappia giΓ , ti consiglio di aver letto in precedenza queste altre note:
Buona lettura! βοΈπ€
Definizione: operatori di base
Nellβalgebra relazionale, gli operatori di base con cui costruire le interrogazioni sono:
- Selezione : per selezionare alcune tuple di una relazione secondo un determinato predicato.
- Proiezione : per visualizzare i valori di tutte le tuple di una relazione solo rispetto a determinati attributi.
- Unione : per effettuare unβunione insiemistica tra due relazioni.
- Intersezione : per effettuare unβintersezione insiemistica tra due relazioni.
- Differenza : per effettuare una differenza insiemistica tra due relazioni.
- Prodotto cartesiano : per effettuare un prodotto cartesiano tra due relazioni.
- Ridenominazione : per rinominare un attributo di una relazione.
1 - Selezione
Definizione: selezione
Esempio di selezione
Osservazione: cardinalitΓ del risultato della selezione
Data una relazione , la cardinalitΓ della relazione prodotta dallβoperazione di selezione Γ¨:
In particolare:
- La cardinalità è pari a (cioè la relazione è vuota) se il predicato è sempre falso.
- La cardinalità è pari a (cioè viene restituita la stessa relazione passata come argomento) se il predicato è sempre vero.
2 - Proiezione
Definizione: proiezione
Data una relazione e un sottoinsieme di attributi , la proiezione Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema lβinsieme degli attributi .
- Per istanza lβinsieme dei record di ma solo rispetto ai campi (ossia, per ogni record , la tupla ).
Viene usata per visualizzare i valori di tutte le tuple di una relazione solo rispetto a determinati attributi.
Esempio di proiezione
Osservazione: cardinalitΓ del risultato della proiezione
Data una relazione e un sottoinsieme di attributi , a prima vista la cardinalitΓ della relazione prodotta dallβoperazione di proiezione sembrerebbe uguale alla cardinalitΓ della relazione argomento, ovvero:
Invece, la cardinalitΓ della proiezione Γ¨:
CiΓ² avviene perchΓ©, da una proiezione, puΓ² risultare una relazione in cui alcuni campi hanno valori uguali e, essendo lβistanza della relazione risultante un insieme, non puΓ² avere multipli elementi uguali, quindi gli elementi multipli collassano in un unico elemento.
Esempio di proiezione con collasso
Sia la seguente relazione.
La relazione ottenuta dallβoperazione Γ¨ la seguente.
Si può notare come le tuple e sono collassate in un unico valore, generando così una relazione di cardinalità , mentre la relazione di partenza aveva cardinalità .
Osservazione: conservazione della cardinalitΓ nella proiezione di una superchiave
Data una relazione e un sottoinsieme di attributi , la cardinalitΓ della proiezione di una superchiave viene conservata, ossia se gli attributi proiettati formano una superchiave, allora si ha che:
CiΓ² Γ¨ intuibile dal fatto che, per definizione, una superchiave non puΓ² contenere elementi ripetuti, quindi la cardinalitΓ della sua proiezione rimane invariata perchΓ© non ci sono ripetizioni da βeliminareβ.
3 - Unione
Definizione: unione
Date due relazioni ed , lβunione Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza lβunione insiemistica dei record contenuti in ed .
Viene usata per effettuare unβunione insiemistica tra due relazioni.
Esempio di unione
Osservazione: cardinalitΓ del risultato dell'unione
Date due relazioni ed , la cardinalitΓ della relazione prodotta dallβoperazione di unione Γ¨:
CiΓ² avviene perchΓ©, da unβunione, puΓ² risultare una relazione in cui alcuni campi hanno valori uguali e, essendo lβistanza della relazione risultante un insieme, non puΓ² avere multipli elementi uguali, quindi gli elementi multipli collassano in un unico elemento.
Esempio di unione con collasso
Sia la seguente relazione.
Sia la seguente relazione.
La relazione ottenuta dallβoperazione Γ¨ la seguente.
Si può notare come la tupla è collassata in un unico valore, generando così una relazione di cardinalità , mentre la somma delle cardinalità delle relazioni di partenza è .
4 - Intersezione
Definizione: intersezione
Date due relazioni ed , lβintersezione Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza lβintersezione insiemistica dei record contenuti in ed .
Viene usata per effettuare unβintersezione insiemistica tra due relazioni.
Esempio di intersezione
Osservazione: cardinalitΓ del risultato dell'intersezione
Date due relazioni ed , la cardinalitΓ della relazione prodotta dallβoperazione di intersezione Γ¨:
CiΓ² avviene perchΓ©, per esempio, i record della relazione potrebbero essere interamente contenuti nellβistanza di , quindi la loro intersezione corrisponderebbe esattamente alla relazione , e viceversa.
5 - Differenza
Definizione: differenza
Date due relazioni ed , la differenza Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza la differenza insiemistica dei record contenuti in ed .
Viene usata per effettuare una differenza insiemistica tra due relazioni.
Esempio di differenza
Osservazione: cardinalitΓ del risultato della differenza
Date due relazioni ed , la cardinalitΓ della relazione prodotta dallβoperazione di differenza Γ¨:
Osservazione: derivazione dell'intersezione dalla differenza
Lβoperatore di intersezione puΓ² essere derivato dalla differenza. Infatti, date due relazioni ed , vale:
6 - Prodotto cartesiano
Definizione: prodotto cartesiano
Date due relazioni ed con , il prodotto cartesiano Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema lβunione insiemistica dei due schemi e .
- Per istanza la giustapposizione (combinazione) dei record contenuti in con quelli in .
Viene usata per effettuare un prodotto cartesiano tra due relazioni.
Esempio di prodotto cartesiano
Il prodotto cartesiano non sembra avere unβutilitΓ pratica diretta, ma sarΓ utile nella definizione di altri operatori molto importanti.
Osservazione: cardinalitΓ del risultato del prodotto cartesiano
Date due relazioni ed con , la cardinalitΓ della relazione prodotta dallβoperazione di prodotto cartesiano Γ¨:
7 - Ridenominazione
Definizione: ridenominazione
Data una relazione e un sottoinsieme di attributi , la ridenominazione Γ¨ un operatore relazionale che produce una relazione che ha:
Esempio di ridenominazione
Osservazione: cardinalitΓ del risultato della ridenominazione
Data una relazione , la cardinalitΓ della relazione prodotta dallβoperazione di ridenominazione Γ¨:
Notazione: evitare la ridenominazione con la dot-notation
Lβoperatore di ridenominazione, utile nel caso in cui ci sono attributi omonimi in diverse relazioni, appesantisce la lettura delle espressioni algebriche.
Per questo motivo, anzichΓ© rinominare si puΓ² usare la dot-notation: date due relazioni ed con un attributo omonimo , le due copie di questβultimo si possono distinguere nelle operazioni usando le notazioni ed .
Approfondimento
Se vuoi saperne di piΓΉ:
Fonti:
- π« Lezioni e slide del Prof. Pensa Ruggero Gaetano del corso di Basi di Dati (canale B), Corso di Laurea in Informatica presso lβUniversitΓ di Torino, A.A. 2024-25:
- π« Appunti di Luca Barra del corso di Basi di Dati, Corso di Laurea in Informatica presso lβUniversitΓ di Torino, A.A. 2022-23 (caricati sul repository GitHub del Team Studentesco Informatica).