Differenza in algebra relazionale

La differenza è un operatore insiemistico binario dell'algebra relazionale che contiene le tuple presenti nella relazione r1 ma non nella relazione r2. $$ r_3 = r_1 - r_2 $$

Le due relazioni operandi r1 e r2 hanno tuple omogenee. In pratica, le due tabelle hanno lo stesso numero di attributo e lo stesso dominio degli attributi visti da sinistra verso destra.

Il risultato della differenza è una relazione composta dalle tuple presenti nella prima relazione ma non nella seconda.

La compatibilità tra relazioni non è sui nomi degli attributi. Le relazioni operandi possono anche avere nomi di attributi diversi tra loro. Se i nomi degli attributi (colonne) sono diversi, per convenzione l'operatore della differenza usa i nomi degli attributi della prima relazione (r1).

Lo schema del risultato è uguale a quello della prima relazione (tabella).

Se una tupla con gli stessi valori è presente in entrambe le relazioni r1 e r2, è considerata una sola volta nella tabella della differenza r3.

Nota. Questo operatore dell'algebra relazionale è detto insiemistico perché ha lo stesso significato della differenza nella teoria degli insiemi.

    Un esempio pratico

    Prendo in considerazione due relazioni S e T con lo stesso numero di attributi e gli stessi domini.

    La relazione S ha 5 tuple e la relazione T ha 4 tuple.

    le relazioni operandi dell'esempio

    Nota. Le tuple delle due relazioni S e T sono omogenee perché il numero degli attributi e il dominio dei dati è lo stesso visti da sinistra verso destra. In questo caso le tabelle hanno anche lo stesso nome degli attributi ma non è importante.

    La differenza è una relazione composta dalle tuple presenti nella prima tupla (r1) ma non nella seconda (r2).

    Il risultato è una relazione composta da 3 tuple.

    la tabella intersezione

    Le tuple [a,100] e [d,200] sono escluse dalla differenza perché sono presenti sia in S che in T.

    Esempio 2

    Per rendere più chiaro il concetto inverto l'ordine degli operandi.

    La differenza T-S restituisce la seguente tabella

    la differenza T-S

    La tabella differenza T-S comprende tutti gli elementi di T senza le tuple [a,100] e [d,200] presenti anche in S.

    E così via.

     


     

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

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Relational Algebra