001 indice analitico pagina a iper://home.aeh|1 acquisto libro iper://home.aeh|0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Capitolo XVI 
I programmi di gestione di basi di dati
 
 
 
 
1. Database e DMBS 
 
Il termine database (in italiano base di dati o banca dati) indica un archivio di dati, prevalentemente alfanumerici, riguardanti uno stesso argomento o più argomenti correlati tra loro, la cui gestione - che implica operazioni di inserimento, di modifica e di ricerca dei dati — viene svolta per mezzo di appositi software. Con il termine DMBS (Database Management System) s’intendono sistemi di gestione di grandi quantità di dati, condivisibili da diverse applicazioni e da una pluralità di utenti, incrementabili senza restrizioni. I dati possono essere distribuiti tra diversi calcolatori collegati e in rete. Le banche dati si vanno negli ultimi anni sempre più integrando con internet. Molti siti sul web sono strutturati come database, ad esempio gli OPAC (On line Public Access Catalogue) che sono cataloghi elettronici delle biblioteche.  
La creazione e la gestione di una grande base di dati, che implica anche la facoltà di modificarne i contenuti, è a cura del suo Amministratore, definito DBA (Data Base Administrator). Dalla parte opposta ci sono gli utenti che accedono all’archivio per consultarlo. Questo implica necessariamente la creazione di un sistema di controllo degli accessi per evitare che determinate informazioni possano essere ottenute da chi non è autorizzato, oppure che vengano modificate da chi non ne è il responsabile. 
Sul mercato si sono imposti diversi software per la gestione delle basi di dati, alcuni relativamente facili da usare (Access, File Maker), altri di tipo professionale (MS SQL Server, Oracle, Informix, IBM DB2). Molti sono anche gli open source, il più diffuso nel mondo è MySQL, seguito da PostgreSQL; in Italia si è affermato anche picoSQL, prodotto dalla Picosoft di Pisa. Alla vasta schiera di programmi gratutiti si è aggiunto recentemente StarOffice Base - inserito nel pacchetto StarOffice scaricabile liberamente da Google - di uso molto semplice e simile ad Access per interfaccia e procedure.  
Per interagire con il database la maggior parte dei programmi mette a disposizione ambienti operativi user-friendly con tabelle e maschere; i software di tipo professionale sono dotati anche di una riga di comando in cui si può lavorare in SQL, che è un linguaggio internazionale standard per la gestione delle basi di dati. MySQL presenta un ambiente grafico essenziale comprendente esclusivamente la riga di comando; è però possibile scaricare un altro software — My SQL GUI Tools - che offre gli strumenti per sviluppare al suo interno un’interfaccia amichevole.  
Nei paragrafi seguenti ci occuperemo degli aspetti basilari dei più diffusi database di tipo relazionale, i quali sono strutturati in tabelle collegate tra loro. 
 
2. Le tabelle 
 
Una base di dati è composta da una o più archivi che sono insiemi di dati omogenei, strutturati in forma di tabelle. Aprendo un file di un database viene visualizzata per solito una finestra dove sono elencate le tabelle che ne fanno parte (fig. 112 n. 1). Facendo doppio clic con il mouse sull’icona di una di esse ne viene visualizzato il contenuto. Un piccolo database di un saggio di scavo può essere costituito ad esempio da quattro tabelle, ciascuna delle quali relativa a un tipo di scheda: SAS (Saggio Stratigrafico); US (Unità Stratigrafica); USM (Unità Stratigrafica Muraria); RA (Reperto Archeologico). 
La tabella, nella sua modalità di visualizzazione ordinaria, ha la forma di un foglio elettronico (“foglio dati”), organizzato per righe e colonne (n. 3). Le righe vengono definite record e rappresentano le varie entità dell’archivio; le colonne, definite campi, sono gli attributi delle entità. Ad esempio nella tabella delle unità stratigrafiche dello scavo ogni record corrisponde a una determinata US, identificata dal relativo numero; i campi sono le singole voci della scheda (definizione e posizione, criteri di distinzione, modo di formazione, ecc.). I dati possono essere immessi o modificati selezionando con il mouse le relative caselle e scrivendo al loro interno. 
Un comando su una delle barre degli strumenti, solitamente in alto (n. 3), permette di visualizzare la struttura della tabella (n. 2). In questa finestra vengono specificate le caratteristiche dei vari campi e se ne possono creare nuovi. Vanno stabiliti il tipo di dati che devono essere contenuti in ogni campo (numerici, di testo, data e ora, di collegamento ipertestuale, memo, ecc.) e il numero massimo di caratteri numerici o di testo che è consentito immettere nelle relative caselle (dimensione campo). Nel caso di testi molto lunghi, come quelli relativi alle voci “descrizione”, “osservazione” e “interpretazione” delle schede US, conviene impostare un tipo di comando che consenta di scrivere testo senza limiti (definito “memo” sia in Access che in StarOffice Base). Gli archivi possono contenere anche delle immagini. Queste saranno direttamente incorporate nella tabella (oggetto OLE) oppure si potrà istituire un link a un file esterno (collegamento ipertestuale). 
Ogni record della tabella dovrà inoltre distinguersi da tutti gli altri per mezzo di un numero identificativo (ID) sulla base di una numerazione progressiva a riempimento automatico che non è possibile modificare (contatore). Deve essere creato un apposito campo per l’ID che viene normalmente denominato con queste due lettere seguite dal nome della tabella o da una sigla che consente di distinguerlo dagli ID delle altre tabelle del database (nel caso ad esempio della tabella delle unità stratigrafiche sarà denominato IdUS). Al campo ID viene assegnata anche una chiave primaria (accanto viene visualizzata un’icona con la chiave): è una funzione che controlla che il numero identificativo sia sempre diverso per ogni record, anche in caso di cancellazioni e modifiche. L’ID, come vedremo più avanti, serve a mettere in relazione le tabelle del database. 
 
3. Le maschere 
 
La tabella a forma di foglio elettronico è un ambiente di lavoro alquanto scomodo sia per immettere dati che per visualizzarli, soprattutto nel caso in cui questa è composta da numerosi campi, alcuni dei quali destinati a contenere una grande quantità di caratteri di testo. Per questo motivo si lavora preferibilmente con le maschere (altrimenti definite formulari, in inglese form). 
La maschera è una finestra che visualizza i dati pertinenti a un singolo record, cioè a una entità del database (fig. 113 n. 2). Nella schermata appaiono le intestazioni dei vari campi in associazione a delle caselle contenenti i dati relativi al record selezionato in quel momento. Per immettere o modificare i dati si selezionano con il puntatore le relative caselle e si scrive al loro interno. Delle frecce di scorrimento poste sulla barra di stato in basso permettono di spostarsi tra un record e l’altro. Nella sostanza la maschera corrisponde a una tradizionale scheda cartacea. 
Le maschere possono essere create in maniera quasi automatica tramite una procedura guidata (n. 1); si accede a una sequenza di finestre di dialogo in cui sono proposte all’utente alcune elementari opzioni: si dovranno scegliere i campi della tabella che dovranno essere visualizzati nella maschera e poi il formato e lo stile grafico. 
La forma della maschera così creata potrebbe non risultare soddisfacente. Si può allora trasformarla per mezzo di una serie di strumenti di editing che consentono di modificare la forma e le dimensioni delle etichette (intestazioni dei campi) e delle relative caselle di testo, ma anche di aggiungere titoli, intestazioni a piè di pagina, pulsanti di comando, sottomaschere, simboli grafici e numerosi altri elementi (n. 2). 
La progettazione delle maschere è una operazione importante quando si costruisce un grande database, in quanto questa sarà l’interfaccia adoperata da un gran numero di utenti per accedere ai vari contenuti dell’archivio. Deve essere dotata di pulsanti che consentono l’apertura di altre tabelle, di svolgere interrogazioni, di accedere eventualmente anche a file d’immagine. Le finestre che contengono lunghi testi scritti dovranno avere dimensioni adeguate, l’uso appropriato del colore aiuta a identificare i vari elementi, la disposizione delle etichette e delle relative caselle deve seguire un ordine logico (fig. 114).  
Le informazioni vanno organizzate con criteri razionali che facilitino le immissioni dei dati, semplifichino le ricerche ed evitino errori di compilazione. Le informazioni principali, che specificano in maniera sintetica le caratteristiche dell’entità catalogata — ad esempio definizione, posizione, tipo, ecc. - e che sono più comunemente oggetto di ricerca per mezzo di apposite interrogazioni, devono essere compilate facendo ricorso a una terminologia univoca, rigorosa e coerente. Ad esempio nel campo “definizione” una tomba andrà sempre denominata con lo stesso termine; si utilizzerà pertanto sempre la parola “tomba” e non alcune volte “tomba”, qualche altra volta “sepoltura”, altre volte ancora “sepolcro”. 
E’ conveniente pertanto predisporre in alcuni campi della maschera le c.d. caselle combinate le quali contengono un elenco predefinito di parole; l’utente dovrà necessariamente scieglierne una e non potrà immettervi caratteri di testo. In questo modo sarà eliminato il rischio di errori e sarà assicurata l’uniformità delle definizioni. 
Altri due ambienti operativi frequentemente utilizzati all’interno di un database sono le query e i report. Le prime sono delle tabelle strutturate per effettuare una ricerca nel database tramite interrogazioni. Le seconde sono delle schede che riportano una serie di dati e che sono progettate in funzione della stampa. 
 
4. Relazioni tra tabelle 
 
Nei database è possibile istituire dei collegamenti tra tabelle utilizzando dei campi comuni costituiti dagli identificatori. Ogni tabella dovrà comprendere oltre al proprio ID altri campi in cui siano riportati gli identificatori delle tabelle da collegare. 
Il collegamento viene attuato in un’apposita finestra del database, attivabile per mezzo del comando Relazioni, dove vengono mostrate tutte le tabelle con l’elenco dei rispettivi campi. Per creare delle relazioni tra tabelle si tracciano con il puntatore delle linee che collegano gli identificatori aventi lo stesso nome. 
Una relazione uno a molti collega un record dell’archivio principale a un numero illimitato di record dell’archivio secondario (fig. 115a). Ad esempio l’unico record della tabella SAS è collegato ai molti record della tabella USM e ai molti record della Tabella US. Ciascun record della tabella US è a sua volta collegato a molti record della tabella RA. 
Il risultato del collegamento così istituito è che tutte le tabelle secondarie sono visualizzabili e modificabili anche all’interno della tabella principale. La visualizzazione dell’archivio secondario può avere luogo anche dalla maschera dell’archivio principale per mezzo di pulsanti appositamente progettati. La relazione uno a molti determina pertanto un collegamento di tipo gerarchico che permette una navigazione esclusivamente verticale del database. 
Un altro tipo di relazione è invece quella molti a molti. In questo caso un singolo record della tabella A può collegarsi a molti record della tabella B, contemporaneamente un singolo record della tabella B può essere in relazione con molti record della tabella A. Per istituire questo tipo di relazione bisogna creare una tabella intermedia contenente gli ID di entrambe le tabelle A e B e allacciare per mezzo di questa i reciproci collegamenti (fig. 115b).  
All’interno di un database ad esempio un archivio di presenze archeologiche, un archivio bibliografico e un archivio di immagini possono essere collegati con relazioni di tipo molti a molti per mezzo di tre tabelle intermedie contenenti i vari ID di quelle principali. In questo modo sarà possibile accedere dall’archivio delle presenze archeologiche ai molti dati bibliografici relativi a una singola presenza. Ma contemporaneamente dall’archivio bibliografico si potrà accedere alle molte presenze archeologiche segnalate in un singolo articolo. 
Le relazioni di tipo molti a molti danno luogo a collegamenti orizzontali favorendo una navigazione più libera e articolata del database. Le banche dati di grandi dimensioni, costitute da decine di tabelle e migliaia di dati, fanno necessariamente ricorso a entrambi i tipi di relazioni e richiedono una intelligente progettazione a priori in modo da valutare tutte le esigenze dei potenziali utilizzatori e organizzare di conseguenza i necessari percorsi. Occorre inoltre sempre tenere conto del fatto che il database progettato può essere destinato a integrarsi con altri archivi all’interno di sistemi informativi più complessi e quindi bisogna garantirne l’interoperabilità.  
Alla fig. 116 è mostrata l’architettura del database della Carta Archeologica della valle del Sinni, in Basilicata, realizzata dalla Cattedra di Topografia Antica della Seconda Università di Napoli e dalla Cattedra di Topografia dell’Italia antica dell’Università di Bologna. La grande quantità di tabelle e i relativi collegamenti sono organizzati secondo uno schema logico che tiene conto delle esigenze dei ricercatori. Il perno del database è costituito dalla tabella delle presenze che è collegata direttamente alla cartografia e quindi costituisce il punto più importante di scambio tra i dati alfanumerici e la loro rappresentazione cartografica. Il numero delle tabelle è commisurato a quello delle tipologie rintracciate sul terreno. Il sistema può essere in ogni momento modificato operando accorpamenti oppure introducendo nuove tabelle. La complessità di tale struttura resta ignota all’utente il quale navigherà all’interno del database per mezzo di maschere user-friendly (fig. 114) che interagiscono con la cartografia del GIS e nelle quali potrà formulare interrogazioni. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
figura 112 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
figura 113 
 
 
 
 
 
 
 
 
 
 
 
figura 114 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
figura 115a 
 
 
 
 
 
 
figura 115b 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
figura 116 
 
 
 
 
 
 
 
 precedente
 
inizio pagina
successiva