Il codice: chiave del database

di Giorgio Davanzo

Nel linguaggio gestionale il codice rappresenta una stringa numerica o alfanumerica di lunghezza opportuna che viene usata per raggruppare informazioni associate ad una specifica entità. Codice-chiave-database Al giorno d'oggi il metodo migliore per condividere grosse quantità di informazioni è memorizzarle su supporti elettronici sotto forma di file strutturati in database.

Tutte le volte che facciamo una ricerca in internet, effettuiamo un login, leggiamo messaggi, più o meno consapevolmente accediamo ad uno o più database.

Questi sempre più capaci contenitori, fruibili online tramite Internet, archiviano qualsiasi dato digitalizzabile: immagini, testi, suoni ...

Un database può ad esempio arrivare a contenete i dati relativi a ciascun abitante della Terra.
In presenza di miliardi di record, si può rintracciare una singola entità filtrando i dati in base ad una serie di parametri, oppure inserendo un codice univoco assegnato.
Esempio: se volessi cercare il mio record nel database anagrafico della popolazione mondiale, filtrerei per nome, per cognome, quindi per data di nascita, etc., fino ad arrivare a far apparire un unico risultato, il mio.
Se invece conoscessi il codice univoco che mi è stato assegnato, potrei digitare solo quello; se cerco nel database dei codici fiscali posso inserire il mio codice personale.

Codice univoco

I codici identificativi, codici articoli, codici clienti, codici fiscali, codici di targa automobilistica, leggibili o meno da noi umani (i codici a barre sono fatti per essere letti da dispositivi elettronici), devono garantire una corrispondenza certa con l'entità associata.

Per avere la corrispondenza univoca è necessario che un unico ente si occupi dell'assegnazione dei codici: la Motorizzazione assegna le targhe auto, l'Agenzia delle Entrate assegna i codici fiscali, etc.
N.B.: caratteristica fondamentale dei database è quella di poter relazionare le informazioni tra tabelle differenti legandole tramite le chiavi primarie delle varie tabelle (spesso tramite il codice); grazie a questa proprietà è possibile incrociare dati anagrafici con dati patrimoniali, bancari o fiscali.
Per fare ciò bisogna avere accesso agli archivi, ad esempio per motivi di sicurezza o antifrode.

Organizzare la codifica

Prima di partire con la codifica è preferibile avere le idee abbastanza chiare:

- come voglio impostare la struttura del codice? - quante entità dovrò codificare nel periodo di attività della codifica?

Avere una stima della quantità dei codici mi può aiutare a rendere compatto il mio codice.
Se volessi codificare 10 entità mi basterebbe un solo digit numerico da 0 a 9.
Se le entità diventassero 11?
Dovrei cambiare in corso d'opera la struttura del codice e per esperienza vi dico che questa è un'operazione da NON fare o comunque sconsigliata.

Dovendo comunque trovare una soluzione, potrei espandere la base dati, comprendendo i caratteri alfabetici: il carattere A potrebbe rappresentare l'undicesimo elemento, oppure portare il numero dei digit a due (ammesso che sia stato previsto lo spazio).

In entrambi i casi mi troverei a gestire una modifica variando nell'intero sistema le condizioni iniziali.


La compattezza del codice è strettamente legata al massimo valore codificabile e alle caratteristiche della base dati.

Se utilizzo una base dati binaria il codice risulterà molto più lungo rispetto ad un codice su base alfanumerica.

Codice casuale progressivo o parlante

Tranne il codice casuale, cioè quello assegnato in maniera randomica dal computer, tutti gli altri tipi di codice ci comunicano informazioni.

La targa automobilistica, essendo un codice di tipo progressivo, ci indica se un'auto è stata immatricolata prima o dopo di un'altra.

Il codice parlante invece ci comunica in modo più o meno esplicito una serie di informazioni; il codice fiscale ad esempio contiene informazioni riguardanti nome e cognome, data e luogo di nascita, genere (M/F).
N.B.: il codice fiscale, nato per essere univoco, non lo é per i cittadini tipo Mario Rossi nato a Roma. In Italia ci sono 30.000 casi di omocodia fiscale (stesso codice); questo limita l'affidabilità dei calcolatori di codice fiscale.

Utilità del codice identificativo

Se nelle aziende o nei sistemi gestionali il codice serve ad esempio ad associare ad un prodotto descrizioni, prezzi e disponibilità a magazzino, i codici di identificazione personale possono servire a verificare in tempo reale che i regolamenti comunitari siano rispettati.

Per accedere ad alcuni servizi é necessario esibire i documenti di identità (ad esempio in aeroporto), quando si viaggia in auto è obbligatorio esporre il numero di targa per garantire il rispetto delle regole del codice stradale.

Bisogna sottolineare che codici come il numero di targa a noi personalmente non sono di grossa utilità perché per rintracciare il nostro veicolo utilizziamo tutta un'altra serie di informazioni: modello, colore ma soprattutto sappiamo dove abbiamo parcheggiato l'ultima volta. Per finire il telecomando, utilizzando un segnale codificato, ci da conferma sbloccando le portiere.

Un sistema autovelox ha solo bisogno di rilevare il codice di targa in modo preciso ed i equivocabile.
Se consideriamo che la natura, con grande fantasia, ci crea con caratteristiche uniche, la nuova sfida tecnologica è quella di rilevare il codice univoco personale di ogni individuo tramite sistemi di monitoraggio.

In Cina tramite sistemi di telecamere piazzate in luoghi pubblici si stanno esplorando i tratti somatici di tutta la popolazione per tentare di ottenere un'identificazione sicura univoca e immediata.