Menu Maturando
Crea account gratuitoHai già un account? Accedi

Informatica · 1. Modellazione dei dati e progettazione database

Operazioni relazionali: selezione, proiezione e congiunzione

  • Riassunto
  • Argomento 8 di 8

Si inizia gratis

Hai ripassato. Adesso mettiti alla prova.

Accedi per salvare i progressi e iniziare un quiz.

L'algebra relazionale fornisce gli strumenti teorici per interrogare le tabelle di un database. La selezione opera in orizzontale: filtra le righe, cioè le tuple, mantenendo solo i record che rispettano una condizione. Si indica con σcondizione(Tabella)\sigma_{condizione}(Tabella). In SQL corrisponde alla clausola WHERE, per esempio SELECT FROM studenti WHERE eta >= 18;. La proiezione* opera in verticale: filtra gli attributi, mantenendo solo i campi di interesse, e si indica con πcolonne(Tabella)\pi_{colonne}(Tabella). In SQL si realizza elencando i campi dopo SELECT, come SELECT nome, cognome FROM studenti;. Le due operazioni si combinano spesso: per ottenere nome e cognome dei soli maggiorenni si scrive πnome,cognome(σeta>=18(Studenti))\pi_{nome, cognome}(\sigma_{eta >= 18}(Studenti)), equivalente a SELECT nome, cognome FROM studenti WHERE eta >= 18;.

Congiunzione (Join)

La congiunzione unisce due tabelle usando un campo comune. Si indica con Tabella1⋈condizioneTabella2Tabella1 \bowtie_{condizione} Tabella2: il database confronta le righe, individua la colonna ponte e conserva le combinazioni in cui il valore è identico. In SQL: SELECT Studenti.nome, Classi.sezione FROM Studenti JOIN Classi ON Studenti.id_classe = Classi.id;.

  • Inner Join: mantiene solo le righe che combaciano in entrambe le tabelle.
  • Left Join: mantiene tutte le righe della prima tabella, quella a sinistra.
  • Right Join: mantiene tutte le righe della seconda tabella, quella a destra.
algebra relazionaleselezioneproiezionecongiunzionejoinSQL