Join è operatore derivato dell’ algebra relazionale, e più precisamente una particolare selezione fatta sulla relazione ottenuta da un prodotto cartesiano. Utilizziamo a titolo d’esempio la seguente base di dati, rappresentata attraverso il modello relazionale:
Un’ applicazione di Join sulla basi di dati in questione può essere:
Viene quindi eseguito un prodotto cartesiano tra la relazione STUDENTE e ESAME, e della tabella cosi ottenuta selezioniamo solo quelle tuple in cui “STUDENTE.matr” è uguale ad “ESAME.matr”. Si noti che attributi omonimi sono resi non ambigui usando la notazione “puntata”: ESAME.Matr, STUDENTE.Mat Più formalmente ciò che produce il comando di Join è una tabella (priva di nome) avente per schema la concatenazione degli schemi di STUDENTE e ESAME e per istanza le tuple ottenute concatenando quelle tuple di STUDENTE e di ESAME che soddisfano il predicato.
LA sintassi del predicato di join è la seguente espressione congiuntiva di predicati semplici:
ATTR1 comp ATTR2
ove ATTR1 appartiene a TAB1
ATTR2 appartiene a TAB2
comp: =, !=, <, <=, >, >=
Il join può essere classificato in due diversi tipi:
EQUI-JOIN : Consente soli confronti di uguaglianza. Il predicato va specificato. L’ esempio riportato sopra è un equi-join.
JOIN NATURALE :equi-join di tutti gli attributi omonimi. Si omette il predicato e si elimina la colonna ripetuta.
Di seguito un esempio di join naturale:
E ancora un esempio di join naturale tra 3 tabelle:
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.