[Basi di dati] Come si dimostra l'associatività di INNER JOIN?

Messaggioda daffeen » 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.
daffeen
Starting Member
Starting Member
 
Messaggio: 36 di 42
Iscritto il: 09/11/2018, 23:08
Località: Napoli

Re: [Basi di dati] Come si dimostra l'associatività di INNER JOIN?

Messaggioda apatriarca » 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..
apatriarca
Moderatore
Moderatore
 
Messaggio: 5417 di 5455
Iscritto il: 08/12/2008, 20:37
Località: Londra

Re: [Basi di dati] Come si dimostra l'associatività di INNER JOIN?

Messaggioda daffeen » 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?
daffeen
Starting Member
Starting Member
 
Messaggio: 37 di 42
Iscritto il: 09/11/2018, 23:08
Località: Napoli

Re: [Basi di dati] Come si dimostra l'associatività di INNER JOIN?

Messaggioda apatriarca » 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)\).
apatriarca
Moderatore
Moderatore
 
Messaggio: 5418 di 5455
Iscritto il: 08/12/2008, 20:37
Località: Londra


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti