Le basi di dati. Capitolo 1.

Le basi di dati

Glossario metodologico per la progettazione concettuale della base di dati.

 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à.

schema strategia insiede-out

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).

schema base della strategia mista

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.

schema primitive di trasformazione

  • 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).

schema primitive bottom-up

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.

sistemi di classificazione

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.

In generale una stessa entità può essere coinvolta in generalizzazioni diverse, si crea così una gerarchia di generalizzazioni.

  • cardinalità delle relazioni: vengono specificate per ciascuna partecipazione di entità a una relazione; dicono quante volte (numero massimo e numero minimo), in una relazione tra entità, un’occorrenza di una entità può essere legata a occorrenze delle altre entità coinvolte (g. relazione ASSEGNAMENTO tra entità IMPIEGATO e INCARICO: se diciamo che IMPIEGATO ha cardinalità minima 1 e cardinalità massima 5, vogliamo dire che a un impiegato deve essere assegnato almeno 1 incarico ma non più di 5. Se diciamo che INCARICO ha cardinalità minima 0 e cardinalità massima 50, vogliamo dire che un certo incarico può essere assegnato o a nessun impiegato o a un numero inferiore o uguale a 50).

Rappresentazione:

  • cardinalità degli attributi: si può scegliere di specificarle per gli attributi di entità o di relazione; descrivono il numero minimo e massimo di valori dell’attributo associati a ogni occorrenza; nella maggior parte dei casi la cardinalità di attributo (essendo 1,1) viene omessa; in alcuni casi però è bene specificarla, perché può avere valore 0, oppure possono esistere diversi valori di un certo attributo per una occorrenza di entità.

 

  • identificatori delle entità: descrivono i concetti (attributi e/o entità) dello schema, che permettono di identificare in maniera univoca le occorrenze dell’entità. L’identificatore interno di entità può essere singolo o essere un insieme di attributi (g. un identificatore interno per l’entità AUTOMOBILE è Targa, considerando gli attributi Modello, Colore, Targa, in quanto non possono esistere due automobili con la stessa targa ma due con stesso modello e colore).

Se invece uno o più attributi non sono in grado da soli di identificare un’entità, si utilizzano altre entità esterne.

To be continued…

Total
0
Shares
Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Prev
The Times They Are a-Changin’
The times they are a-changin’

The Times They Are a-Changin’

E se è vero che è sempre stato così, fin dai tempi di Eraclito e del suo Panta

Next
Destinazioni turistiche data driven
Data Appeal Studio

Destinazioni turistiche data driven

Quest’inverno Data Appeal Company ha presentato un interessante webinar dedicato

You May Also Like