Modello dati
L’obiettivo di questo lavoro è creare un modello dati adatto all’archiviazione delle informazioni che uno storico trae dall’analisi dei documenti. Abbiamo constatato che un singolo documento contiene una o più attestazioni di variazione di proprietà o diritti su uno o più beni o cose o luoghi, di seguito indicati con “oggetti”, posseduti da soggetti e ceduti ad altri soggetti. Partiamo da un esempio per rendere la cosa più chiara: nel documento XXX si legge che nella data (range 1160/01/01-1160/01/31) i nobili di Burcione e Bozzano cedono ad Alessandro, vescovo di Luni, il poggio di Castiglione che glielo restituisce in forma di feudo con norme relative alla costruzione delle fortificazioni. Questo tipo di informazione,per poter essere archiviata, dovrà essere “spacchettata” in uno o più “eventi” intesi come inizio cessazione o continuazione di una proprietà o diritto di qualcuno su qualcosa.
Quindi l’esempio di sopra darà luogo ai seguenti “eventi”
1. Il nobile di Burcione cessa di possedere (in comproprietà) il poggio di Castiglione data (range 1160/01/01 - 1160/01/31.)
2. Il nobile di Bozzano cessa di possedere (in comproprietà) il poggio di Castiglione data (range 1160/01/01 - 1160/01/31.)
3. Alessandro, Vescovo di Luni, inizia a possedere (piena proprietà) il poggio di Castiglione data (range 1160-01-01 - 1160-01-31)
4. Il nobile Burcione inizia a possedere il diritto di feudo (in comproprietà) sul poggio di Castiglione data (range 1160/01/01 - 1160/01/31)
5. Il nobile Bozzano inizia a possedere il diritto di feudo (in comproprietà) sul poggio di Castiglione data (range 1160/01/01 - 1160/01/31)
Ognuno di questi eventi corrisponde a un record della tabella t_eventi, un evento mette in relazione un oggetto con un soggetto indicando come il primo inizi, cessi o continui a essere di proprietà (o un diritto) del secondo. Il punto di partenza comunque è il documento.
Il database dblunigiana è composto dalle seguenti tabelle e relativi attributi:
t_documenti
id_doc:integer, id del documento chiave primaria
nome_doc: varchar, nome identificativo documento (richiesto)
luogo: varchar, luogo dove è stato redatto il documento (opzionale)
regesto: text , regesto del documento (richiesto)
data_da_a[]: date[], vettore contenente le date di inizio e fine del range temporale in cui è databile il documento
doc_integrale: varchar, link al documento integrale (opzionale)
edizione: varchar, edizione del documento (opzionale)
biblio: varchar, bibliografia del documento (opzionale)
note: text, considerazioni varie (opzionale)
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_oggetti
id_ogg:integer, id dell'oggetto, chiave primaria
nome_ogg: varchar, nome-descrizione dell'oggetto (richiesto)
cat_ogg: varchar, categoria dell'oggetto, lista chiusa presente in elenchi.e_categoria_oggetto (richiesto)
tipo_ogg: varchar, categoria dell'oggetto, lista chiusa presente in elenchi.e_categoria_oggetto (richiesto)
note: text, considerazioni varie (opzionale)
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_soggetti
id_sog:integer, id del soggetto, chiave primaria
nome_sog: varchar, nome-descrizione del soggetto (richiesto)
note: text, considerazioni varie (opzionale)
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_istituzioni
id_ist:integer, id dell'istituzione, chiave primaria
nome_sog: varchar, nome dell'istituzione (richiesto)
note: text, considerazioni varie (opzionale)
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_eventi
id_eve: integer, id dell'evento, chiave primaria (richiesto)
id_doc: integer, id del documento chiave esterna riferita al documento (richiesto)
id_ogg: integer, id dell'oggetto chiave esterna riferita all'oggetto (richiesto)
id_sog: integer, id del soggetto chiave esterna riferita al soggetto (richiesto)
id_ist: integer, id del documento chiave esterna riferita al documento(richiesto)
E' possibile che un evento sia relativo ad un'istituzione ma non ad un soggetto o viceversa; per questo, visto che sono campi richiesti, entrambi prevedono un record "nessuno".
trascr_sog: varchar, trascrizione originale del soggetto
data_da_a[]: date[], vettore contenente le date di inizio e fine del range temporale in cui è databile l'evento.
azione: varchar, indica se si tratta di inizio,fine o continuazione di una proprietà, lista chiusa presente in elenchi.e_azione (richiesto)
tipo_proprieta: varchar, tipo della proprietà, lista chiusa presente in elenchi.e_tipo_proprieta (richiesto)
prop_condivisa: boolean (richiesto)
note: text, considerazioni varie (opzionale).
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_toponimi
id_top:integer, id del toponimo, chiave primaria
nome_top: varchar, nome dell'istituzione (richiesto)
note: text, considerazioni varie (opzionale)
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record
t_prossimita
id_eve: integer, id, chiave primaria (richiesto)
id_doc: integer, id del documento chiave esterna riferita al documento (richiesto)
id_ogg: integer, id dell'oggetto chiave esterna riferita all'oggetto (richiesto)
id_top: integer, id del toponimo chiave esterna riferita al toponimo (richiesto)
tipo_proprieta: varchar, posizione dell'oggetto rispetto al toponimo, lista chiusa presente in elenchi.e_tipo_proprieta (richiesto)
note: text, considerazioni varie (opzionale).
data_ins: date, data inserimento del record nel database
utente_ins: integer, codice dell'utente che ha inserito il record