Modello concettuale, logico e fisico

De Cliomatica - Digital History
Tempo di lettura 6 minuti - per Tiago Luís Gil (tradotto da Daria Mikhaylova)


Ogni base di dati inizia da un foglio di carta con una lista dei desideri. Il database dovrebbe trattare un argomento specifico o una fonte storica particolare, quindi sarà necessario avere informazioni su x, y e z, eventuali campi specifici e magari impostare delle relazioni tra essi. Tutto questo andrà a formare la futura tabella. Il passo successivo è disegnare su un altro foglio di carta ogni tabella della base di dati futura, rappresentarla con un quadrato di grandi dimensioni e indicarne all'interno ogni campo. Si tratta di uno schizzo, simile a quello realizzato da un architetto o da uno stilista, nell’ambito della modellazione di basi di dati questo disegno costituisce il vero e proprio diagramma UML. Il nostro schizzo sarà probabilmente brutto da vedere, quadrato e pieno di segni incomprensibili, ma importanti. Il disegno dovrebbe essere fatto collegialmente insieme ai colleghi, ma questo non è sempre possibile.

Mentre disegniamo dobbiamo pensare alle nostre possibilità e i nostri limiti, nel caso della ricerca storica è indispensabile conoscere le fonti e le loro limitazioni. Secondo Genet e Luzzati [1], serve anche possedere una discreta erudizione storica per svolgere questo lavoro.

Il disegno riportato in basso illustra quale sforzo sia richiesto per ridurre i procedimenti penali nei termini di una base di dati: non propone un modello esaustivo, poiché questo è ovviamente molto più complesso; ma è una semplificazione utile a spiegare i concetti di fondo.

Img3 dbprocedimentipenali.png

Gli imputati e i processi sono "oggetti" diversi, hanno natura diversa, quindi i possibili dati associati a questi oggetti saranno diversi; le tre entità necessitano di essere salvate in tabelle distinte e ma collegate (in relazione) tra loro. I testimoni e i giudici sono esseri umani e quindi simili agli imputati, ma hanno caratteristiche e ruoli diversi all'interno del processo. Troveremo una tabella distinta per ogni ruolo, con i campi specifici. Per esempio, i giudici non fanno le testimonianze, quindi questo campo è assente nella tabella GIUDICI e gli imputati non fanno parte dello sistema giuridico, quindi nella tabella IMPUTATI non c’è informazione sulla corte. E possibile creare una relazione tra gli imputati e i testimoni per verificare se qualche imputato è testimone in un’altro processo.


Modello logico

Il passo successivo è la costruzione del modello logico. A questo stadio, il nostro schema viene perfezionato. Definiamo in modo più dettagliato tutti i campi per ogni tabella: il tipo del campo, il limite del contenuto espresso in caratteri e così via (non abbiamo ancora considerato il lavoro di riempimento delle tabelle - detto raccolta dati -, ma lo tratteremo in seguito). In questa fase indichiamo quali campi sono responsabili delle relazioni tra le tabelle e quale è la caratteristica cardinalità di queste relazioni; se uno a uno, uno a molti o molti a molti. Il modello logico richiede la stessa attenzione del modello concettuale, ad ogni passo dovremmo immaginare il futuro uso della base di dati, e provare ad applicare lo schema alle nostre fonti. Riprendiamo l'esempio della base di dati per i processi penali, il modello logico avrebbe dunque questa forma:

Img4 relazioni processipenali.png

Questo modello è simile a quello concettuale, ma adesso risulta più completo, dettagliato e chiaro; in modo grafico sono opportunamente descritte tutte le relazioni tra le tabelle.


Modello fisico

Il modello fisico rappresenta il database già assemblato, con tutte le tabelle, i campi e le relazioni; che lavora all'interno di un disco rigido del computer, e lì, appunto, opera fisicamente. È la base di dati pronta all'uso, che rispecchia tutto ciò che è stato previsto. Ogni programma per la gestione delle basi di dati ha il suo modo specifico di creare modelli fisici (un esempio è mostrato nel video alla fine della pagina). Quando ci si accinge alla creazione di una base di dati è importante dedicare più tempo alla pianificazione, prendere una serie di fonti, schedarle e quindi testare il modello prima di dedicarsi a una raccolta dati maggiormente sistematica. Consigliamo di selezionare una piccola parte di tutte le fonti (l’1% se si tratta qualche migliaio) e caricarla nella base di dati che abbiamo creato: questa operazione aiuta a capire se il modello che abbiamo concepito funziona. Se le fonti sono nell’ordine delle centinaia e di breve entità, il consiglio è quello di testarne almeno il 3% o il 5%; se sono lunghe il 10%. I test ti permetteranno di creare successivamente un database flessibile, funzionale e che non ingeneri confusione. Il motivo di questa fase di test risiede nel fatto che, anche se conosciamo bene le nostri fonti e abbiamo speso abbastanza tempo per modellare la base di dati, quando andiamo a rappresentarle con tabelle e campi, scopriamo limiti e problemi che prima ci erano sfuggiti. Questo potrebbe avvenire anche solo alla fine del popolamento della base di dati e ciò rappresenterebbe ovviamente un bel problema. Dopo i primi test si raccomanda di cancellare i dati già inseriti, a meno che si sia verificato qualche errore. Il prossimo passo sarà quello di creare un breve manuale di caricamento dati per i colleghi con cui si collabora, soprattutto se ci sono molte persone coinvolte nel lavoro.



Bibliografia

  1. LUZZATI, Michele, «La reconstruction nominative et prosopographique de la population d'une ville médiévale: projet de constitution d'une banque de données pour l'histoire de Pise au XVe siècle», in Bollettino Storico Pisano, 54, 1985, pp. 225-236; GENET, Jean-Philippe, «Histoire, Informatique, Mesure», in Histoire & Mesure, 1, 1/1986, pp. 7-18.



Citazione di questo articolo
Come citare: GIL, Tiago Luís. "Modello concettuale, logico e fisico". In: CLIOMATICA - Portale di Storia Digitale e ricerca. Disponibile in: http://lhs.unb.br/cliomatica/index.php/Modello_concettuale,_logico_e_fisico. il giorno: 8/06/2024. (Tradotto da Daria Mikhaylova)






Informare errori in questa pagina