OPERATORE JOIN : permette di combinare più relazioni anche senza avere gli stessi attributi. Ci sono diverse varianti di join:
- Join naturale,
- join in cui,
- join esterno,
- self-join,
- teta-join,
- equi-join.
=> Join naturale : R1 < NAT > R2 è una relazione sullo schema S1 U S2 così si uniscono le colonne delle due relazioni In questo caso la condizione di join implicita è che gli attributi omonimi vadano in join.
R1R2IMPIEGATOREPARTOREPARTOPIANOROSSIVENDITEPRODUZIONE2NERIPRODUZIONEVENDITE1BIANCHIPRODUZIONEIMPIEGATO REPARTO PIANO → R1 >< R2
schema soluzione= unione degli attributi
stato soluzione= solo le tuple che sull'attributo di join hanno valore uguale.
PATERNITÀMATERNITÀPADREFIGLIOMADREFIGLIOADAMOCAINOEVACAINOADAMOABELEEVASETPATERNITÀ DI MATERNITÀPADREMADREFIGLIOADAMOEVACAINOIl join può essere VUOTO o COMPLETO
se Tutte le tuple di R1 (o tutte di R2) contribuiscono a qualche riga di R1 >< R2
• OPERATORE JOIN: permette di combinare più relazioni anche senza avere gli stessi attributi. Ci sono diverse varianti di join:
- join naturale,
- join in mono,
- join esterno,
- self-join,
- theta join,
- equi-join.
=> join naturale: R <sub>A</sub> R2 è una relazione sullo schema S1 ∪ S2 così si uniscono le colonne delle due relazioni. In questo caso la condizione di join implicita è che gli attributi omonimi vadano in join.
R1R2IMPIEGATOREPARTOROSSIVENDITENERIPRODUZIONEBIANCHIPRODUZIONEREPARTOPIANOPRODUZIONE2VENDITE1IMPIEGATOREPARTOPIANOROSSIVENDITE1NERIPRODUZIONE2BIANCHIPRODUZIONE2=> R1 <sub>A</sub> R2
schema soluzione = unione degli attributi
stato soluzione = solo le tuple che sull’attributo di join hanno valore uguale
PATERNITÀPADREFIGLIOADAMOCAINOADAMOABELEMATERNITÀMADREFIGLIOEVACAINOEVASETPATERNITÀ DI MATERNITÀPADREMADREFIGLIOADAMOEVACAINOIl join può essere vuoto o completo
Lo se tutte le tuple di R1 (o tutte di R2) contribuiscono a qualche riga di R1 <sub>A</sub> R2
estrema opposto
⟹ JOIN IN ARIO : operatore tra n relazioni :
- Commutativo : R2 ⋈ R1 = R1 ⋈ R2
- Associativo : (R3 ⋈ R2) ⋈ R1 = R3 ⋈ (R2 ⋈ R1)
⟹ JOIN ESTERNI : ancora non ve li spiego
⟹ SELF JOIN : Join di una tabella con se stessa.
Viene utilizzato in un universo tentativo per risalire in qualche modo
ad esempio alla propria gerarchia (Es: albero genealogico GENITORE DI GENITORE ).
⟹ THETA JOIN : è una generica condizione che non è obbligatoriamente uguaglianza.
Può essere visto anche come combinazione di SELEZIONE e PRODOTTO CARTESIANO :
theta join = Selezione + Prodotto cartesiano
Lo join di due relazioni senza attributi in comune.
⟹ EQUI - JOIN : è il caso standard di un join con condizione di uguaglianza
- molto simile al join naturale con la differenza che nel join naturale
- vanno implicitamente in join gli attributi con ugual nome , nell'equi- join
- bisogna indicarli.
-
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 1)…
-
Riassunto esame Basi di dati, Prof. Maratea Antonio, libro consigliato Fondamenti di Basi di Dati (Appunti Parte 3)…
-
Riassunto esame Basi di dati, Prof. Persia, libro consigliato Sistemi di basi di dati e applicazioni, Angelo Chiane…
-
Riassunto esame Algoritmi e strutture dati, Prof. Cabodi Giampiero, libro consigliato Appunti di Algoritmi e strutt…