Discussioni su argomenti di Informatica
27/05/2020, 01:54
Ciao, mi piacerebbe conoscere una dimostrazione dell'associatività dell'operatore INNER JOIN in SQL, ovvero
A°(B°C) = (A°B)°C
dove ° è l'operazione di giunzione.
Ciò è ulteriormente equivalente a fare (AxBxC) per poi applicare il Join, ma ancora una volta non sono riuscito a dimostrarlo.
Vi ringrazio anticipatamente.
27/05/2020, 03:03
Questo genere di dimostrazioni si basano di solito sull'applicazione diretta della definizione sulle tre tabelle per vedere che i due lati della tua espressione sono effettivamente uguali..
27/05/2020, 10:11
apatriarca ha scritto:Questo genere di dimostrazioni si basano di solito sull'applicazione diretta della definizione sulle tre tabelle per vedere che i due lati della tua espressione sono effettivamente uguali..
Grazie mille per la risposta! Quindi non c'è alcun modo per dimostrare ciò nel modo più generale possibile?
29/05/2020, 23:31
La tua operazione è costruita a partire dal prodotto cartesiano e dalla selezione. Se riscrivi la tua espressione usando queste operazioni di base ti scontri con il problema di dimostrare il seguente:
Siano \(A\) e \(B\) due relazioni e \(F\) una qualche condizione su \(B\). Allora \(A \times (\sigma_F B) = \sigma_F (A \times B)\). Analogamente, se \(G\) fosse una condizione su \(A\) avremmo \( (\sigma_G A) \times B = \sigma_G (A \times B)\).
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.