Algebra Relazionale e Query SQL
Algebra Relazionale
L'algebra relazionale è una tecnica formale che fornisce un insieme di operazioni matematiche per
manipolare relazioni nei database relazionali.
Le relazioni in un database sono rappresentate come tabelle, dove ogni riga corrisponde a una tupla e
ogni colonna rappresenta un attributo.
L'algebra relazionale fornisce operatori per eseguire operazioni su queste tabelle, consentendo la
selezione, la proiezione, l'unione, l'intersezione e altre operazioni.
NOME TECNICO SIGNIFICATO
RELAZIONE TABELLA
ATTRIBUTO TITOLO DELLA COLONNA
SCHEMA INSIEME DI ATTRIBUTI
TUPLA UNA RIGA
ENNUPLE INSIEME DI RIGHE
CARDINALITÀ NUMERO DI RIGHE DELLA TABELLA
Operatori
1. Selezione (σ): Estrae le righe che soddisfano una determinata condizione
dalla tabella.
2. Proiezione (π): Seleziona specifiche colonne da una tabella, eliminando le
altre.
3. Unione (∪): Combina due tabelle per ottenere una nuova tabella che
contiene tutte le tuple delle tabelle di partenza, eliminando duplicati.
4. Intersezione (∩): Restituisce una tabella contenente solo le tuple
presenti in entrambe le tabelle di partenza.
5. Differenza (-): Restituisce una tabella contenente solo le tuple presenti
nella prima tabella ma non nella seconda.
6. Prodotto Cartesiano (×): Combina ogni tupla della prima tabella con ogni
tupla della seconda tabella, creando una nuova tabella.
7. Join (⨝): Combina tuple da due tabelle basandosi su una condizione
specifica.
Selezione
L’operatore di selezione, σ, permette di selezionare un sottoinsieme delle tuple di una relazione,
applicando a ciascuna di esse una formula booleana F che si compone di predicati connessi da AND,
OR e NOT.
Proiezione
L’operatore di proiezione, π, è ortogonale alla selezione, in quanto permette di selezionare un
sottoinsieme Y degli attributi di una relazione
Unione Intersezione e Differenza
Poiché le relazioni sono insiemi, sono ben definite le operazioni di unione, ∪, e differenza, -. Entrambe
si applicano a relazioni con lo stesso insieme di attributi.
Prodotto Cartesiano
L’operatore di prodotto cartesiano, ×, combina tutte le tuple di due relazioni per crearne una nuova. Il
risultato del prodotto cartesiano contiene tutte le combinazioni possibili di tuple tra le due relazioni di
partenza.
Join
L’operatore di giunzione "join" naturale, ⨝, combina le tuple di due relazioni sulla base
dell’uguaglianza dei valori degli attributi comuni alle due relazioni
Il linguaggio SQL
Il linguaggio SQL, acronimo di Structured Query Language, è uno strumento fondamentale
nell'arsenale di ogni programmatore e professionista dell'informatica.
Nel contesto sempre più interconnesso e orientato ai dati in cui operiamo, la capacità di manipolare e
gestire le informazioni attraverso database è diventata cruciale.
I principali sottolinguaggi di SQL includono:
➢ DDL (Data Definition Language): Questo sottolinguaggio è utilizzato per definire e gestire la
struttura del database. Le principali istruzioni DDL includono:
CREATE: Per creare oggetti nel database, come tabelle, indici o viste.
ALTER: Per modificare la struttura di oggetti esistenti nel database.
DROP: Per eliminare oggetti dal database.
➢ DML (Data Manipulation Language): Questo sottolinguaggio è utilizzato per manipolare i dati
all'interno del database. Le principali istruzioni DML includono:
INSERT: Per inserire nuovi dati in una tabella.
UPDATE: Per modificare i dati esistenti in una tabella.
DELETE: Per eliminare dati da una tabella.
➢ DQL (Data Query Language): Questo sottolinguaggio è specificamente dedicato alle query, ovvero
all'estrazione di dati da una o più tabelle.
L'istruzione principale in DQL è il comando SELECT, che consente di specificare quali colonne
recuperare, da quali tabelle e con quali condizioni.
➢ DCL (Data Control Language): Questo sottolinguaggio è utilizzato per controllare l'accesso ai dati
nel database. Le principali istruzioni DCL includono:
GRANT: Per concedere privilegi agli utenti sul database.
REVOKE: Per revocare privilegi precedentemente concessi.
➢ TCL (Transaction Control Language): Questo sottolinguaggio è utilizzato per gestire le transazioni
nel database. Le principali istruzioni TCL includono:
COMMIT: Per confermare le modifiche effettuate in una transazione.
ROLLBACK: Per annullare le modifiche effettuate in una transazione.
SAVEPOINT: Per impostare un punto di salvataggio all'interno di una transazione.