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