La selezione è uno degli operatori fondamentali dell’algebra relazionale, utilizzato per estrarre un sottoinsieme di tuple (righe) da una relazione, in base a una condizione booleana specificata. A differenza della proiezione, che lavora sulle colonne, la selezione opera sulle righe.

Definizione formale Dato uno schema relazionale R(A₁, A₂, ..., An) e una relazione r su di esso, la selezione σcondizione(r) restituisce l’insieme delle tuple di r che soddisfano la condizione specificata:

   σcondizione(r) = { t ∈ r | t soddisfa la condizione }

dove la condizione può essere un'espressione logica che coinvolge gli attributi della relazione.

Esempi di condizioni

Uguaglianza: Corso = "Fisica" Disuguaglianza: Età > 25 Combinazioni: (Età > 25) ∧ (Corso = "Fisica") Negazioni: ¬(Corso = "Matematica")

Proprietà

Idempotenza: σcond(σcond(r)) = σcond(r) Commutatività: σcond₁(σcond₂(r)) = σcond₂(σcond₂(r)) Distribuzione rispetto a congiunzione e disgiunzione: σcond₁ ∧ cond₂(r) = σcond₁>(σcond₂>(r)) σcond₁ ∨ cond₂(r) ≠ σcond₁>(r) ∪ σcond₂>(r) (non sempre vale)

Esempio Data la relazione Studente: MatricolaNomeCorso1001AnnaMatematica1002LucaFisica1003AnnaFisica La selezione σCorso = "Fisica">(Studente) restituisce: MatricolaNomeCorso1002LucaFisica1003AnnaFisica

Utilizzo La selezione è fondamentale per:

Filtrare righe che soddisfano determinati criteri. Pre-selezionare dati prima di operazioni più complesse (join, unione, ecc.). Simulare clausole WHERE nel linguaggio SQL.

Notazione In algebra relazionale, la selezione si indica con il simbolo σ (sigma) seguito in pedice da una condizione logica:

σcondizione>(r)

Voci correlate Proiezione (algebra relazionale) Modello relazionale

Categoria:Algebra relazionale