copiare tre tabelle senza legami in un unica tabella

processore

Utente Attivo
11 Ott 2012
51
0
0
salve.
avrei bisogno di un consiglio.

ho 3 tabelle distinte senza legami tra loro.
le 3 tabelle hanno identici campi (es: nome, cognome, ecc).
queste 3 tabelle vengono popolate da web da 3 utenti diversi, ogni utente popola la sua tabella.
alla fine della giornata un amministratore tramite pulsante aggiorna copia il contenuto delle 3 tabelle in unica tabella.

io avrei pensato di fare in questo modo.

insert into TAB4 select * form tab1 where data_inserimento > data_aggiornamento
insert into TAB4 select * form tab2 where data_inserimento > data_aggiornamento
insert into TAB4 select * form tab3 where data_inserimento > data_aggiornamento

volevo chiedervi se e meglio fare una tabella dove inserisco ,ogni volta che l'amministratore copia le 3 tabelle , la data di aggiornamento
cosi anche se aggiorna dopo 5 giorni lui va a prendere la data ultimo aggiornamento e prende tutti i dati inseriti dopo l'ultimo aggiornamento.

oppure e meglio fare che ogni volta che l'amministratore preme il pulsante viene riscritta tutta la tabella TAB4 ?
 
Conviene fare tutto in un'unica tabella distinguendo le tuple di un utente dalle altre da un campo (UTENTE) dove ci sarà l'identificativo dell'utente.
In questo modo non ci sarà bisogno di unirle dopo ed è anche la soluzione ottimale.
 
lo so che sarebbe meglio come dite voi.
pero l'azienda lo vuole cosi.

e poi ci sono 3 tabelle perche vengono popolate da 3 utenti con postgis e ogni utente ha la sua tabella postgis.

e poi queste 3 tabelle le devo mettere in unica grande tabella
 
1) volevo chiedervi se e meglio fare una tabella dove inserisco ,ogni volta che l'amministratore copia le 3 tabelle , la data di aggiornamento
cosi anche se aggiorna dopo 5 giorni lui va a prendere la data ultimo aggiornamento e prende tutti i dati inseriti dopo l'ultimo aggiornamento.

2) oppure e meglio fare che ogni volta che l'amministratore preme il pulsante viene riscritta tutta la tabella TAB4 ?
Nella 1) vorresti fare un'altra tabella oltre a quella che unisce le 3?
Se sì non conviene in quanto la data la puoi sempre ricavare dalle tuple della tabella unita controllando la data e selezionando quella "maggiore" (max_data).
Quindi la volta successiva che l'amministratore unisce le 3 tabelle cancelli tutto da quella unita (se non servono i dati vecchi) e inserisci quelli che hanno la data maggiore di max_data.
Quindi in pratica la soluzione ideale da utilizzare è la 2).
Anche se potresti gestire il tutto in modo completamente diverso togliendo le 3 tabelle identiche e creandone una soltanto ma per come è ora potresti utilizzare la soluzione 2).
 

Discussioni simili