[Risolto]Denormalizazzione database fatture
Inviato: sabato 18 marzo 2017, 8:34
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!
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!