2. … da quando ho
cominciato a sviluppare
ho realizzato
prevalentemente
software gestionali.
Tutti avevano
in comune
la parte dedicata
ai documenti.
Un gestionale deve poter
archiviare i dati,
e non vedo altra
possibilità se non
quella di usare
un database.
Simone Matteoni
3. All’interno del database
inseriremo le tabelle
necessarie, come le
anagrafiche clienti,
fornitori e articoli.
Quelle che in genere definisco
di supporto, come aliquote,
tipologie e tipo documenti.
E infine la tabella
che contiene i documenti,
che di norma
a livello logico comprende
entità base come
testa, righe e piede.
Concentriamoci
sulla testa e
vediamo di presentare il
miglior contenuto possibile.
Simone Matteoni
4. Ci sono due scuole di pensiero, una in cui viene utilizzato un singolo attributo e viene
lasciata la gestione al database che lo usa come contatore e che prende il nome di
identity e l'altra scuola, in cui la chiave dell'entità viene costituita da più campi che
descrivono l'oggetto. Io opto ad occhi chiusi per questa soluzione, poi chiaramente la
scelta va valutata di caso in caso. Entrambe le soluzioni hanno pro e contro ma hanno in
comune il concetto di univocità essendo la chiave primaria.
.. in un database possiamo
definire le tabelle e
relazionarle tra loro
creando chiavi esterne
o dipendenze tra loro.
Fondamentale è la chiave
primaria per univocità e
integrità referenziale e su
questa parte concentrerò
tutti i miei sforzi.
Analizziamo ...
Simone Matteoni
5. Il documento dovrà essere
emesso per più aziende,
queste, saranno
configurate in
una tabella dedicata,
quindi riporteremo
il codice come
riferimento esterno,
e siccome vogliamo
che sia chiave,
creeremo una dipendenza.
Simone Matteoni
6. Il documento
verrà emesso
in una certa data,
per praticità e questioni di
numerazione
(anche se non più vincolante)
imposteremo l'esercizio.
Anche in questo caso,
sebbene potremmo
prendere l'anno corrente di
sistema, è più prudente
utilizzare una tabella dedicata,
in cui potremo nel caso
specificare ulteriori dati,
magari da usare come
parametro.
Simone Matteoni
7. Potrei chiaramente
voler emettere
diversi tipi di documento,
quindi come in precedenza
farò una tabella di supporto,
chiave esterna
anche per questa casistica.
Simone Matteoni
8. Capita spesso
che ogni azienda
gestisca più attività IVA
e per ogni attività,
più di un sezionale,
per semplificarci la vita,
utilizzeremo
un unico campo
che avrà riferimento
ad una specifica entità.
Simone Matteoni
9. A questo punto
per le chiavi sopra elencate,
inseriremo il numero di
documento che verrà
mantenuto aggiornato in
apposita tabella e nel caso
scalato per ogni evenienza.
Questo dato,
non sarà un riferimento
ma semplicemente un
attributo della tabella teste.
Simone Matteoni
10. Infine come ultimo
accorgimento,
inserirò un campo di testo
per la gestione
dei famigerati campi
BIS-TER-QUATER ecc..
che, anche se,
non dovrebbero essere più
usati per sicurezza
manteniamo.
Simone Matteoni
11. Questa è a mio avviso
la chiave da realizzare per
avere una testa perfetta.
Simone Matteoni