Torna indietro   Hardware Upgrade Forum > Software > Programmi e Utility

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-07-2009, 19:11   #1
dark.shark.dsk
Senior Member
 
Iscritto dal: Sep 2004
Messaggi: 324
Openoffice Base - Aiuto per una query tra 2 tabelle

Ciao a tutti,
sono in grande difficoltà con la creazione di una query tra due tabelle e magari qualcuno qui mi sa aiutare...

- Nella tabella1 ho un campo che si chiama "origine", che determina il materiale grezzo che è stato usato per fabbricare un prodotto.

- Nella tabella2 ho tutte le analisi dei vari materiali grezzi (ci sono anche molte ripetizioni della stessa analisi per lo stesso materiale).

Vorrei fare una query che aggiunge ad ogni record della tabella 1, un altro campo con la media delle analisi della sua relativa "origine", in modo da affiancare alla scheda di un prodotto anche le caratteristiche del materiale grezzo usato per produrlo.

Al momento ho fatto una query dalla tabella2 (chiamiamola query1) che raggruppa le origini uguali e che fa una media dei valori delle loro analisi così da avere una tabella con un record per "origine".
A questo punto vorrei creare una query che associa i dati di ogni "origine" della query1, al relativo prodotto finito della tabella 1... Ma non riesco ad eseguire la ricerca...

Mi sapreste dare una mano?
__________________
Non è morto ciò che in eterno può attendere,
E con il passare di strane ere anche la morte muore.
dark.shark.dsk è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2009, 23:04   #2
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Prima di mettermi a battagliare con il pseudo-sql di Base ( ) ti dico che è contrario alle regole di normalizzazione di una base dati l'inserimento in una tabella di campi calcolati. La cosa più saggia da fare è una semplice select con un inner join tra le due tabelle solo in fase di visualizzazione dati.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 09:38   #3
dark.shark.dsk
Senior Member
 
Iscritto dal: Sep 2004
Messaggi: 324
Grazie per la risposta

Purtroppo di teoria dei database ne so pochissimo (normalizzazione questa sconosciuta... ) e fino ad ora mi sono praticamente solo limitato ad inserire dati in database già fatti e poco altro, ma ora mi tocca approfondire le mie conoscenze...

Potresti spiegarmi un pochino meglio cosa intendi con quello che mi hai scritto?
Non pensavo si potesse ragruppare i record di una tabella e fare una query con un altra in un unico passaggio...

Un altra cosa, mi sembra di capire non ti sta troppo simpatico Base...
Conosci qualche alternativa migliore sempre free per gestire i database?
__________________
Non è morto ciò che in eterno può attendere,
E con il passare di strane ere anche la morte muore.
dark.shark.dsk è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 11:20   #4
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Ciao. Allora, un punto di partenza da cui iniziare a capire cosa si intenda per normalizzazione di un database è wikipedia.

http://it.wikipedia.org/wiki/Normali...e_del_database.

Per quanto concerne il tuo problema, sebbene ovviamente non conosca completamente la tua situazione, a grandi linee strutturerei la cosa in questo modo.

Tabella materiali

id_materiale (semplice numero progressivo)
nome_materiale

Tabella_analisi
id (numero progressivo)
id_materiale (il codice che fa riferimento alla chiave primaria della tabella materiali)
valore_numerico

In questo modo, come ti accennavo ieri, potresti fare una semplice join tra le due tabelle e ricavare agevolmente il nome del materiale e la relativa media, mantenendo i dati coerenti.

La query sarebbe questa

Codice:
select  m.nome_materiale,avg(a.valore_numerico) as media
from materiali as m
inner join analisi as a
on m.id_materiale = a.id_materiale
group by a.id_materiale
order by a.id_materiale
testata su mysql ma sono tutte istruzioni sql standard. Per quanto riguarda Base non ci ho mai dovuto lavorare ma da quel poco che ho visto non mi piace per nulla (esempio banale trovo molto diseducativo nell'apprendimento dell'sql che metta i nomi dei campi e delle tabelle tra apici e anche la sua interpretazione dell'sql la trovo molto "personale"). De gustibus.


Infine, per quanto concerne le alternative free, dipende dalle tue esigenze e dalle competenze di chi dovrà mettere mani al database. Sicuramente access e base forniscono un'interfaccia grafica più user-friendly ma se potessi ti orienterei su mysql, il più utilizzato rdbms open source al mondo. Ovviamente non saresti costretto a lavorare tramite riga di comando ma potresti ricorrere ad uno dei tanti front-end messi a disposizione. Personalmente mi trovo benissimo con sqlyog

http://download.html.it/software/vedi/2355/sqlyog/

che ti permette di gestire tramite interfaccia grafica la creazione di tabelle, la loro esportazione e quant'altro. P.S. Non so se lo stesso discorso valga per Base come per Access ma con mysql scordati di poter trascinare i campi nella griglia per la generazione delle query. Dovrai scrivertele tu ma ti si aprirà tutto un altro mondo.
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 12:59   #5
dark.shark.dsk
Senior Member
 
Iscritto dal: Sep 2004
Messaggi: 324
Capisco...
Ora sto cercando di adattare il codice che mi hai dato al mio database, e sembra che vada bene

Già questo è un buon risultato.

Per quanto riguarda l'adozione di mysql e sqlyog (ma si sa che droghe prendeva il tipo che gli ha dato sto nome?), ci farò un pensiero, anche se purtroppo non ho molto tempo per mettermi ad imparare il codice sql puro e già mi incasino ad ottenere cio che voglio dai programmi più user friendly...

Sarebbe molto interessante sapere se fosse possibile ad un certo punto "convertire" il mio db fatto in Base in mysql. Per cause di forza maggiore ho dovuto già iniziare ad inserire dati nel db fatto con Base, e se non è possibile esportare i dati che già ho, l'idea di mettermi a reinserirli tutti a mano in un altro db già mi fa scartare a priori la cosa.
__________________
Non è morto ciò che in eterno può attendere,
E con il passare di strane ere anche la morte muore.
dark.shark.dsk è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 15:00   #6
john_revelator
Senior Member
 
L'Avatar di john_revelator
 
Iscritto dal: Jul 2007
Messaggi: 1092
Quote:
Originariamente inviato da dark.shark.dsk Guarda i messaggi
Capisco...
Sarebbe molto interessante sapere se fosse possibile ad un certo punto "convertire" il mio db fatto in Base in mysql. Per cause di forza maggiore ho dovuto già iniziare ad inserire dati nel db fatto con Base, e se non è possibile esportare i dati che già ho, l'idea di mettermi a reinserirli tutti a mano in un altro db già mi fa scartare a priori la cosa.
Ti ripeto. Non conosco per niente Base. Ho dato una rapida occhiata nei vari menù e non ho trovato nessuna voce relativa al backup o all'esportazione. Tuttavia potresti cliccare sulla tabella che ti interessa col tasto destro, fare copia e incollare su calc. A questo punto salvi il file in formato csv e mysql è perfettamente in grado di importare i dati da tale formato.

Il primo link che ho trovato è questo
http://www.sastgroup.com/tutorials/i...-tabella-mysql

ma per maggiori dettagli ti rimando al manuale ufficiale

http://dev.mysql.com/doc/refman/5.1/en/load-data.html
john_revelator è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 18:27   #7
dark.shark.dsk
Senior Member
 
Iscritto dal: Sep 2004
Messaggi: 324
Anche se dici di non saperne di Base, ne sai comunque più di me di database in generale...

Già la manovara di copiare la tabella in un foglio di calcolo, salvarlo in csv ed importarlo con mysql è una bella scoperta...
Almeno so che se un giorno o l'altro avrò il tempo per imparare molto meglio l'sql, esiste un modo per tirare fuori i dati dal mio database di Base ed esportarli altrove...

Grazie per le info!
__________________
Non è morto ciò che in eterno può attendere,
E con il passare di strane ere anche la morte muore.
dark.shark.dsk è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 19:18   #8
emmedi
Senior Member
 
Iscritto dal: Dec 2000
Città: Pozzomaggiore (SS)
Messaggi: 12588
Solo per dire che base è in grado di interfacciarsi a mysql; per maggiori informazioni consulta la guida presente in questa pagina:
http://www.softcombn.com/joomla/inde...d=28&Itemid=46
emmedi è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2009, 22:44   #9
dark.shark.dsk
Senior Member
 
Iscritto dal: Sep 2004
Messaggi: 324
Grasssie per il link
Mi sa che oltre alla perte relativa all'interfaccia con i db mysql cercherò di dare una lettura a tutta la guida..
__________________
Non è morto ciò che in eterno può attendere,
E con il passare di strane ere anche la morte muore.
dark.shark.dsk è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Paramount non molla: Netflix è pr...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v