Pagina 1 di 1

[Risolto]Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 8:34
da maxrome84
Salve a tutti, ho un gestionale di fatturazzione in calc che con mooolta calma sto spostando in Base(di cui sono inesperto).
Vorrei fare una riflessione riguardo alla tabella clienti e tabella fatture.
Ora, io inizialmente avevo impostato in fatture la chiave esterna della tabella clienti e quindi relazionato uno a molti.Un cliente più fatture.
Però mi sono reso conto che questo approccio è sbagliato.
Mettiamo il caso che emetto una fattura con i dati del cliente pinco Pallino.
Poi successivamente il cliente pinco pallino modifica ad esempio l'indirizzo.
Ora io magari vado a richiamare la fattura per ristamparla e mi ritrovo dei dati non corretti.(La fattura viene ristampata con il nuovo indirizzo e non con quello vecchio ormai sovrascritto)

Quindi sono costretto nella tabella fatture non solo a riportare la chiave esterna del cliente ma anche tutti i dati che effettivamente scrivo in fattura....
Quindi in tabella fattura ci saranno anche i campi ragione sociale cliente, indirizzo cliente , partita iva cliente ecc.....
(Ridondanza di dati)

Per risolvere, nel mio formulario Nuova Fattura l'unica soluzione che ho trovato è stata quella (con delle macro) di aprire il formulario Clienti, selezionare il cliente desiderato e infine con un'altra macro copiare i dati dal formulario clienti al formulario nuova fattura.
Funziona tutto molto bene ma essendo alla prime armi con base e database mi chiedo se ci sono altre strade da percorrere o soluzioni migliori.(sia per il concetto di ridondanza di dati sia per la soluzione nel formulario)
Grazie a chi vorrà offrire un parere!

Re: Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 9:06
da charlie
Ciao, la prima idea che mi è venuta è quella di un archivio delle fatture emesse, magari in PDF.

Re: Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 10:04
da Mizio1961
Tutti i gestionali funzionano come dici, cioè con quella che tu chiami erroneamente ridondanza di dati.
Ogni documento fiscale o che deve essere conservato per qualsiasi motivo DEVE essere STATICO, quindi i dati sono BLOCCATI al loro stato di emissione.
Per questo in genere si usano almeno due tabelle per tipo documento:
- La tabella TESTATA che contiene i dati generali di riferimento quali sono nel tuo caso i DATI DEL CLIENTE AL MOMENTO DELL'EMISSIONE DEL DOCUMENTO
- La tabella RIGHE che contiene i dati di dettaglio del documento, nel caso di una fattura le righe degli articoli fatturati.
Quindi è giusto l'approccio di cui parli, ma non c'è ridondanza in quanto i dati sono DIVERSI, come hai potuto sperimentare direttamente
Saluti by Mizio

Re: Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 13:50
da maxrome84
Grazie Muzio, mi hai tolto un dubbio! Non lo avevo specificato ma la tabella righe fattura l'ho già prevista.
Invece per quanto riguarda la gestione nel formulario secondo te è l'unica strada quella delle macro?
È giusta come soluzione ?

Re: Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 15:06
da Mizio1961
Si va bene così.
Ci sono sistemi più raffinati, ma l'importante è che funzioni.
Per fare nuove scoperte c'è sempre tempo
;-)

Re: Denormalizazzione database fatture

Inviato: sabato 18 marzo 2017, 15:11
da maxrome84
Grazie ancora!