Premessa
Portale di appartenenza: Basi di dati.
Cosa troverai in questa nota:
- La definizione dei 7 operatori di base dellβalgebra relazionale e delle loro proprietΓ .
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 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 con istanza , 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.
1.1 - ProprietΓ distributive della selezione
La selezione gode della proprietΓ distributiva rispetto a diversi altri operatori dellβalgebra relazionale.
ProprietΓ distributiva della selezione rispetto alla proiezione
Data una relazione e un sottoinsieme di attributi , vale la proprietΓ distributiva della selezione con predicato rispetto alla proiezione se e solo se il predicato riguarda unicamente gli attributi che appartengono allβinsieme :
ProprietΓ distributiva della selezione rispetto all'unione
ProprietΓ distributiva della selezione rispetto all'intersezione
Date due relazioni ed , vale la proprietΓ distributiva della selezione con predicato rispetto allβintersezione :
ProprietΓ distributiva della selezione rispetto alla differenza
Date due relazioni ed , vale la proprietΓ distributiva della selezione con predicato rispetto alla differenza :
ProprietΓ distributiva della selezione rispetto al prodotto cartesiano
Dal momento che il theta-join deriva dalla composizione di selezione e prodotto cartesiano, la proprietΓ distributiva della selezione rispetto al theta-join segue pressochΓ© le stesse regole della proprietΓ distributiva della selezione rispetto al prodotto cartesiano.
ProprietΓ distributiva della selezione rispetto al theta-join
1.2 - Selezione multipla
Definizione: selezione multipla
ProprietΓ di idempotenza della selezione multipla
ProprietΓ commutativa della selezione multipla
Data una relazione e una selezione multipla rispettivamente con predicati e , allora vale la proprietΓ commutativa della selezione multipla, per la quale si possono scambiare le due selezioni (ossia si possono scambiare i due predicati e ):
ProprietΓ associativa della selezione multipla
1.3 - ProprietΓ di sostituzione degli operatori con la selezione multipla
Grazie alla selezione, Γ¨ possibile sostituire altri operatori per ottimizzare le interrogazioni e velocizzare le operazioni compiute dal DBMS.
ProprietΓ di sostituzione dell'unione con la selezione
ProprietΓ di sostituzione dell'intersezione con la selezione
ProprietΓ di sostituzione della differenza con la selezione
2 - Proiezione
Definizione: proiezione
Esempio di proiezione
Osservazione: cardinalitΓ del risultato della proiezione
Data una relazione con istanza 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à .
ProprietΓ di conservazione della cardinalitΓ nella proiezione di una superchiave
Data una relazione con istanza 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β.
2.1 - ProprietΓ distributive della proiezione
La proiezione gode della proprietΓ distributiva rispetto a diversi altri operatori dellβalgebra relazionale.
ProprietΓ distributiva della proiezione rispetto all'unione
Date due relazioni ed e un sottoinsieme di attributi , vale la proprietΓ distributiva della proiezione rispetto allβunione :
ProprietΓ distributiva della proiezione rispetto al prodotto cartesiano
Date due relazioni ed (con ) e due sottoinsiemi di attributi e , vale la proprietΓ distributiva della proiezione rispetto al prodotto cartesiano :
ProprietΓ distributiva della proiezione rispetto al theta-join
Date due relazioni ed (con ) e due sottoinsiemi di attributi e , vale la proprietΓ distributiva della proiezione rispetto al theta-join su un predicato :
2.2 - Proiezione multipla
Definizione: proiezione multipla
Data una relazione ed operatori di proiezione su sottoinsiemi di attributi , la proiezione multipla Γ¨ una composizione delle proiezioni sulla relazione :
ProprietΓ di idempotenza della proiezione multipla
Data una relazione e una proiezione multipla su uno stesso sottoinsieme di attributi , allora vale la proprietΓ di idempotenza della proiezione multipla, per la quale tutte le proiezioni possono collassare in unβunica proiezione sul sottoinsieme di attributi :
3 - Unione
Definizione: unione
Date due relazioni ed con rispettivamentcon rispettivamente istanze ed , lβunione Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza lβunione insiemistica dei record contenuti in ed .
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 con rispettivamentcon rispettivamente istanze ed , lβintersezione Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza lβintersezione insiemistica dei record contenuti in ed .
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 con rispettivamentcon rispettivamente istanze ed , la differenza Γ¨ un operatore relazionale che produce una relazione che ha:
- Per schema .
- Per istanza la differenza insiemistica dei record contenuti in ed .
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 ) con rispettivamente istanze ed , 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 .
Esempio di prodotto cartesiano
Lβoperatore di 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 Γ¨:
ProprietΓ commutativa del prodotto cartesiano
Date due relazioni ed (con ), vale la proprietΓ commutativa per il prodotto cartesiano :
Infatti, ricordiamo che, allβinterno delle relazioni di Codd:
7 - Ridenominazione
Definizione: ridenominazione
Data una relazione con istanza 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 .
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 Collettivo Studentesco Informatica).