Meglio una tabella o due?

UnaoDueTabelle

Sollecitato da un carissimo amico di SeiSette (che mi ha chiesto un consiglio sull’archiviazione di dati), ho pensato di scrivere alcune righe evidenziando il mio punto di vista su quante tabelle si devono usare per archiviare i dati.

E’ chiaro che non si deve essere tesi a fare economia di campi e tabelle, e che i dati devono essere archiviati il più possibile separati e catalogati, per non precludersi la possibilità di poterli poi elaborare a piacere.

Se però è vero che per i campi è sempre meglio uno in più piuttosto che uno in meno, per le tabelle la cosa deve essere ragionata.

Faccio un esempio sperando di chiarire.

Se ho una tabella di anagrafica, in cui il dato principale è la matricola di un dipendente (oppure il codice di un prodotto o la sigla di un progetto o altro…), cercherò di mettere tutti i campi caratteristici di quella determinata matricola nella stessa tabella, di averli tutti nello stesso record…

UnaoDueTabelle

Se devo aggiungere delle caratteristiche al record non devo creare un’altra tabella ma aggiungere campi a quella che ho già creato.

UnaoDueTabelle

Queste sono tipicamente tabelle contenenti dati principali ed il concetto è quindi di cercare di porre tutte le caratterizzazioni sullo stesso record nella tabella principale.

In questi casi è meglio una tabella piuttosto che due.

Diverso ragionamento devo fare se registro dati secondari (più eventi relativi al dipendente della tabella principale).

Per esempio:

per quella determinata matricola (dipendente) voglio registrare i giorni lavorativi, quante ore ha lavorato e che lavori ha eseguito.

In questo caso dovrò creare una nuova tabella, dove il dato principale diviene la data,
dove metterò tutti i campi che conterranno tutte le caratterizzazioni dell’evento,
ma soprattutto il campo che conterrà la matricola del dipendente a cui mi riferisco (campo che servirà per relazionarmi e legarmi, al bisogno, con la tabella principale delle matricole). 

Queste sono tipicamente tabelle contenenti dati secondari (più eventi o comunque più registrazioni relative ad un singolo record di una tabella principale).

UnaoDueTabelle

Se devo registrare poi gli addestramenti che i vari dipendenti fanno, è consigliabile creare una nuova tabella di dati secondari evitando di mettere eventi di diversa natura nella stessa tabella.

UnaoDueTabelle

In questi casi, (quando si tratta di eventi di natura diversa), è consigliabile creare più tabelle rendendo più semplice l’organizzazione dei dati.

Buona giornata a tutto il mondo…
Roberto 🙂