Proiezione in algebra relazionale

La proiezione è un operatore unario ortogonale dell'algebra relazionale che seleziona alcuni attributi (colonne) di una relazione (tabella). Il simbolo della proiezione è la pi greco ∏ con in pedice la lista degli attributi e tra parentesi il nome della relazione $$ ∏ _{attributi} (relazione) $$ oppure PROJ $$ PROJ _{attributi} (relazione) $$

Il risultato della proiezione è una tabella contenente al più tutte le ennuple della relazione in ingresso senza duplicazioni ma soltanto alcune colonne.

Gli attributi (colonne) non indicati nella proiezione sono eliminati.

Pertanto, lo schema della relazione proiettata ha meno attributi rispetto alla relazione operando.

Nota. Se le tuple selezionate presentano delle duplicazioni, nella tabella proiettata sono eliminate. In questo caso il numero delle tuple (cardinalità) della proiezione è inferiore alla tabella operando in ingresso. Quindi, non è detto che la cardinalità sia sempre la stessa. La cardinalità della proiezione coincide sicuramente con la relazione in ingresso se gli attributi indicati nella proiezione sono una superchiave della relazione, perché in questo caso sicuramente hanno valori diversi.

L'operatore di proiezione è detto "ortogonale" perché decompone la tabella in verticale (decomposizione verticale).

La proiezione è complementare alla selezione che, invece, attua una decomposizione orizzontale della tabella.

    Un esempio pratico

    Ho una tabella S contenente tre attributi {b,d,e} e 5 tuple.

    la tabella di esempio

    Per ottenere la tabella con il solo attributo d scrivo.

    πd (S)

    Il risultato è una tabella con la sola colonna d.

    la proiezione nell'algebra relazionale

    Esempio 2 (selezione più attributi)

    Per selezionare gli attributi {b,e} li scrivo nella proiezione separandoli con una virgola.

    πb,e (S)

    Il risultato è una tabella con due colonne.

    esempio di proiezione con più colonne

    Esempio 3 (proiezione e selezione)

    In questo esempio utilizzo la proiezione e la selezione in un'unica operazione composta.

    Seleziono le tuple con valore d<200 poi proietto il risultato nella sola colonna d.

    πd (σd<200 (S))

    La prima operazione da svolgere è la selezione tra parentesi tonde.

    Poi segue la proiezione sulla tabella ottenuta dalla selezione.

    Il risultato finale è la colonna d con le sole tuple che rispondono alla condizione d<200.

    il risultato della proiezione e selezione

    In questo modo ho realizzato la decomposizione verticale e orizzontale della tabella.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Relational Algebra