INova n° 45 – Le basi di dati. Capitolo 1.

Le basi di dati. Capitolo 1.

Glossario metodologico per la progettazione concettuale della base di dati.

 

di Federico Alberto

 

Definizione

Una base di dati è definibile come un insieme strutturato di dati il cui contenuto risponde alle esigenze informative di molteplici utenti e la cui struttura è disegnata in modo da garantire alcune fondamentali proprietà, tra cui l’integrazione (possibilità di associare logicamente dei dati), la non ridondanza (minimizzare la duplicazione di dati identici), la consistenza (intesa come assenza di contraddizioni tra i dati), la condivisione dei dati e l’indipendenza di questi dalle applicazioni.

Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito di operatori e di vincoli d’integrità (le regole che gli oggetti della realtà rispettano e che allo stesso modo gli oggetti della rappresentazione devono rispettare).

Premessa

I dati in una base dati sono definibili secondo più livelli (almeno tre, secondo gli standard indicati dall’American National Standard Institute, ANSI):

1) livello interno, con le indicazioni relative all’organizzazione fisica dei dati;

2) livello concettuale, con la definizione del modello globale dei dati;

3) livello esterno, mediante il quale i dati sono rappresentati secondo le diverse modalità con cui vengono percepiti dai diversi utenti.

 

L’argomento è molto complesso e pertanto ci si soffermerà sul livello concettuale. Anche ragionando in termini di progettazione, parlando quindi operativamente, si possono distinguere nello specifico tre fasi nella costruzione di una base di dati:

  • Progettazione concettuale: lo scopo è quello di rappresentare la realtà di interesse in termini di una descrizione completa e formale, ma indipendente dai criteri di rappresentazione utilizzati nei sistemi di gestione di basi di dati. Il risultato è uno schema, appunto detto concettuale. In questo caso si lavora sul contenuto della base dati, mentre l’uso che gli utenti e applicazioni fanno della base dati viene considerato solo per verificare che lo schema contenga tutte le informazioni necessarie per eseguire le operazioni che serviranno.
  • Progettazione logica: significa tradurre lo schema concettuale nel modello di rappresentazione dei dati adottato dal sistema di gestione di base di dati (software) che si sceglie di utilizzare. Nella progettazione logica lo schema concettuale in ingresso riassume le specifiche sui dati, mentre le specifiche sulle operazioni si utilizzano, insieme alle previsioni sul carico applicativo, per ottenere uno schema logico che renda tali operazioni eseguibili in maniera efficiente.
  • Progettazione fisica: porta alla creazione di uno schema che specifica i parametri fisici di memorizzazione dei dati; questo modello dipende dai criteri di organizzazione fisica dei dati del sistema di gestione scelto.

 

La prima fase di trattamento di dati è utile proprio perché può essere utilizzata a scopo documentativo, cioè una volta capito il meccanismo, lo schema concettuale è facilmente comprensibile anche da non specialisti di base di dati. Ed è proprio su questo punto che si concentra l’articolo.

 

  1. Progettazione concettuale della base di dati

Il punto di partenza di una progettazione concettuale è la raccolta e l’analisi dei requisiti: si intende l’individuazione dei problemi che l’applicazione da realizzare deve risolvere e le caratteristiche che deve avere. I requisiti provengono da fonti come: confronti con utenti del futuro sistema (target), documentazione esistente e realizzazioni preesistenti (in questa fase è fondamentale l’interazione con gli utenti). Si dovrà procedere con due azioni logicamente successive:

  • Raccolta: specifiche caratteristiche espresse in linguaggio naturale (quindi frasi spesso ambigue e disorganizzate);
  • Analisi: chiarimento e organizzazione delle specifiche dei requisiti. Utile in questa fase la creazione di un glossario dei termini (valutando ed eliminando eventuali sinonimi) e il raggruppamento dei requisiti in insiemi omogenei.

 

  1. Costruzione dello schema concettuale

Il modello concettuale più diffuso è il modello entità – relazione. Fornisce una serie di strutture (costrutti) che permettono di descrivere la realtà di interesse (il livello più vicino alla realtà) in maniera facile, prescindendo dai criteri di organizzazione dei dati nei calcolatori.

Queste strutture vengono utilizzate per definire gli schemi che descrivono l’intera organizzazione e la strutturadelle occorrenze, ovvero i valori assunti dai dati.

I costrutti principali di questo modello sono:

  • entità: rappresentano classi di oggetti (fatti, cose, persone), che hanno elementi comuni. Una occorrenza di un’entità è un oggetto della classe che l’entità rappresenta. (g. Entità = CITTA’ – Occorrenza = SAVONA). Ogni entità ha un nome che la identifica univocamente e viene rappresentata graficamente mediante un rettangolo con il nome dell’entità all’interno.
  • relazioni: rappresentano legami logici, tra due o più entità. (g. RESIDENZA è un esempio di relazione che può esistere tra CITTA’ e IMPIEGATO). È possibile avere relazioni che coinvolgono più di due entità.

 

 

Ogni relazione ha un nome che la identifica univocamente e viene rappresentata tramite un rombo con all’interno il nome della relazione e da linee che connettono la relazione con ciascuna delle sue componenti. (Nella scelta dei nomi di relazione è preferibile usare sostantivi invece che verbi per non indurre a individuare un verso alla relazione). Possono esistere relazioni diverse che coinvolgono le stesse entità. (esempi di rappresentazione).

 

 

Ci possono essere relazioni non simmetriche, è quindi necessario stabilire i due ruoli che l’entità coinvolta gioca nella relazione, questo può essere fatto associando degli identificatori alle linee uscenti della relazione. È possibile avere relazioni che coinvolgono più entità e saranno rappresentate in questo modo.

 

 

  • attributi: descrivono le proprietà elementari di entità o relazioni. (g. Cognome, Stipendio, Età sono attributi dell’entità IMPIEGATO.) Data e Voto sono attributi per la relazione ESAME (tra STUDENTE e CORSO).

 

Sono così rappresentati.

 

Può essere utile, in alcune occasioni, raggruppare attributi di una medesima entità o relazione che presentano affinità nel loro significato o uso. (e.g. Indirizzo come attributo composto di Via, Numero civico, Cap.

 

 

Questi tre costrutti di base permettono già di costruire schemi per descrivere realtà di una certa complessità. Ma altri costrutti considerati dal modello sono:

  • generalizzazioni: rappresentano legami logici tra un’Entità genitore, più generale, detta quindi generalizzazione di…; e una o più Entità figlie, che rappresentano dei casi particolari, detti (e.g. l’entità PERSONA è una generalizzazione delle entità UOMO e DONNA; PROFESSIONISTA è generalizzazione delle entità AVVOCATO, MEDICO e INGEGNERE.) Ogni proprietà dell’entità genitore (attributi, identificatori, relazioni..) è anche una proprietà delle entità figlie.

La rappresentazione grafica è la seguente.