Gestione birre

Discussioni sulle caratteristiche di database
Rispondi
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Gestione birre

Messaggio da Adso72 »

Premesso che non ho mai lavorato con i database relazionali, ho letto la teoria che sta alla base (chiave unica, relazioni uno-uno, uno-molti, etc) ma praticamente non ho mai messo le mani.

Mi diletto a fare qualche birra per uso personale e, finora, ho gestito le varie cotte con un file Calc (in allegato) in cui ogni cotta è un nuovo foglio in cui inserisco tutte le informazioni di mio interesse ed il foglio mi effettua una serie di calcoli.
Questo, tuttavia, non mi consente di fare alcune ricerche e, ad esempio, inserire degustazioni successive per valutare l'evoluzione della birra.

Avrei pensato, quindi, di spostare il tutto su Base ma ho qualche problemino.
Ho creato le varie tabelle (una per ogni evento: cotta, imbottigliamento, degustazione), popolato quelle di mio interesse e creato le relazioni uno-a-uno con il fil rouge che unisce il tutto, ovvero l'identificativo della cotta.
Mi piacerebbe che, ad esempio, al momento dell'imbottigliamento si possa scegliere la cotta, uscissero in automatico alcune informazioni ed inserire le altre. Non so se questo si possa fare unendo le due tabelle.

Anche per le ricerche ho qualche problema e non saprei come inserire i calcoli di mio interesse.

Potreste darmi qualche consiglio? Ovviamente allego anche il file .odb

Thanks in advance
Allegati
mgbeer.odb
(46.96 KiB) Scaricato 32 volte
testbeer.ods
(28.52 KiB) Scaricato 33 volte
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Gestione birre

Messaggio da charlie »

Ciao, ho dato una'occhiata al database e al foglio che hai postato.
Ho cercato di capire quali sono le esigenze e mi sembra opportuno rivedere l'impostazione delle tabelle e utilizzare le ricerche (query) per i calcoli. Solo alla fine esaminerei i formulari.
Ho bisogno di tempo ...
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Gestione birre

Messaggio da Adso72 »

Grazie mille, innanzi tutto per la tua disponibilità.
Ogni suggerimento è ben accetto, soprattutto per l'impostazione delle tabelle che, a quanto ho capito, sono la parte più importante di un db relazionale
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Gestione birre

Messaggio da charlie »

Ciao, sono partito revisionando le tabelle pricipali (rinominate in T_COTTA, T_IMBOTTIGLIAMENTO, T_DEGUSTAZIONE).
Nelle prime due ho optato per la chiave primaria (ID ...) ad incremento automatico (così in fase di scrittura dati non ci dobbiamo preoccupare di inserirla a mano). Nella terza ho tolto i campi Cotta e Kit che sono già presenti nella tabella T_COTTA (dobbiamo scriverli una volta sola).
Edit: in T_COTTA ho cambiato la tipologia del campo Lettura iniziale da INTEGER a DECIMAL per meglio utilizzarlo nei calcoli successivi (è possibile che modifiche di questo tipo siano necessarie anche nelle altre tabelle).
Controlla e vedi se ci sono altre cose da cambiare (vedo qualche differenza nei campi T_DEGUSTAZIONE e il foglio di Calc che hai allegato).
Allegati
mgbeer_1.odb
(47.49 KiB) Scaricato 33 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Gestione birre

Messaggio da charlie »

In attesa di tue notizie, sono andato un po' avanti e ho riscontrato un problema nello scrivere le query.
Per evitare lunghe digitazioni ed errori nei nomi delle tabelle e nomi campo, è consigliabile utilizzare per gli stessi dei nomi corti.

Esempio: T_IMBOTTIGLIAMENTO potrebbe diventare: T_I, Lettura Finale: LF, Lettura Iniziale: LI, Lettura Finale Corretta: LFC.
Quidi, invece che scrivere in una query:

Codice: Seleziona tutto

... (1.53* "T_IMBOTTIGLIAMENTO"."Lettura Finale") - (0.59* "T_COTTA"."Lettura Iniziale") AS "Lettura Finale Corretta" ...
è più semplice scrivere:

Codice: Seleziona tutto

... (1.53* "T_I"."LF") - (0.59* "T_C"."LI") AS "LFC"
Si fa un po' di fatica inizialmente ma poi se ne apprezzano i vantaggi.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Gestione birre

Messaggio da Adso72 »

ottimo consiglio, per le query.... ancora non ho capito come fare.
Ho rivisto il file secondo i tuoi suggerimenti.

Una domanda: un elemento di una tabella può essere calcolato automaticamente sulla base di altri elementi?

Riallego il file
Allegati
mgbeer_1.odb
(47.4 KiB) Scaricato 32 volte
LibreOffice 67.4 su Linux Mint 21.1
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8785
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Gestione birre

Messaggio da charlie »

Adso72 ha scritto: mercoledì 22 marzo 2023, 11:56 Una domanda: un elemento di una tabella può essere calcolato automaticamente sulla base di altri elementi?
No, per questo lavoro bisogna adoperare le Query.
Una query è prima di tutto una ... finestra aperta su una o più tabelle per vederne il contenuto o parte di esso.
Si può fare in modo "grafico" (con procedura guidata o non) oppure utilizzando il linguaggio SQL.
Se si adopera il metodo grafico, in BASE viene creato automaticamente anche il codice SQL e viceversa.
Poi, in una query si possono fare "operazioni" sui campi della/e tabella/e a cui fa riferimento.
Pertiamo con un esempio pratico sul tuo database.
Dopo aver semplificato (per ora solo in parte) nomi tabella e nomi campo (te ne ho già spiegata la ragione), ho realizzato la prima query Q_C basata sulla tabella T_C (dove C vuol dire Cotta).
Oltre che a visualizzare i campi della tabella, ho inserito il primo campo "calcolato" OG.
Per il calcolo ho utilizzato la "formula" 1 + ( "LI" / ( 258.6 - "LI" * 0.88 ) ) ricavata dal foglio di calcolo e dove LI è il nome campo di Lettura Iniziale.
Allegati
mgbeer_2.odb
(47.28 KiB) Scaricato 41 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
Adso72
Messaggi: 46
Iscritto il: giovedì 21 marzo 2019, 17:12

Re: Gestione birre

Messaggio da Adso72 »

Chiedo venia se non ho più risposto ma è stato un periodo molto pieno dal punto di vista lavorativo e non ho avuto molto tempo.

Mi studio il file .odb e cerco di capire.

Grazie
LibreOffice 67.4 su Linux Mint 21.1
Rispondi