3 - 2 Linguaggi per la modellazione dei dati - DIMES...

36
1 LINGUAGGI PER LA MODELLAZIONE DEI DATI AZIENDALI Carlo Batini, Daniele Tatti 1. Introduzione alla fase di analisi dati e funzioni Nel ciclo di vita di un sistema informativo, la fase di analisi ha lo scopo di descrivere in maniera formale ed esente da ambiguità (per quanto possibile) le specifiche del sistema, intendendo per specifiche del sistema l’insieme dei servizi che gli utenti del sistema informativo richiedono ad esso. Esempio Gli utenti di un sistema informativo che fornisca servizi di posta elettronica richiedono di poter spedire messaggi a qualunque destinazione, specificando l’indirizzo finale in modo semplice e simbolico, avendo la possibilità di allegare file con diverso formato, potendo ottenere una ricevuta di ritorno, avendo la sicurezza che il messaggio non è letto se non dal ricevente, ecc. Esempio Gli utenti di un sistema di prenotazione analisi cliniche hanno l’esigenza di disporre di una prenotazione nel più breve tempo possibile, eventualmente con servizio presso l’abitazione, su un insieme di analisi che può richiedere diverse tipologie di prelievi, con diverse modalità di tariffazione a seconda del tipo di assistenza di cui dispongono, ecc. L'analisi coinvolge usualmente tre diverse caratteristiche del sistema informativo, riguardanti rispettivamente i dati oggetto del sistema, le funzioni che devono esse svolte dal sistema, usualmente mediante elaborazioni di varia natura, le risorse tecnologiche utilizzate per realizzare tali funzioni. Più precisamente: i dati riguardano tutte le tipologie di informazioni codificate e strutturate utilizzate dalle funzioni di elaborazione e memorizzate temporaneamente o permanentemente nel sistema informativo. Nel sistema di posta elettronica di cui all’esempio 1 tipologie significative di dati riguardano gli indirizzi degli utenti, i siti ove sono allocate le caselle degli utenti, diverse caratteristiche degli utenti, quali l’istituzione cui appartengono, il client associato all’utente, il profilo, le modalità di accounting, ecc. le funzioni riguardano tutte le tipologie di elaborazioni, interrogazioni, acquisizioni, stampe o archiviazioni, trasferimenti di informazioni disponibili nel sistema per gli

Transcript of 3 - 2 Linguaggi per la modellazione dei dati - DIMES...

Page 1: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

1

LINGUAGGI PER LA MODELLAZIONE DEI DATI AZIENDALI

Carlo Batini, Daniele Tatti

1. Introduzione alla fase di analisi dati e funzioni

Nel ciclo di vita di un sistema informativo, la fase di analisi ha lo scopo di descrivere in maniera formale ed esente da ambiguità (per quanto possibile) le specifiche del sistema, intendendo per specifiche del sistema l’insieme dei servizi che gli utenti del sistema informativo richiedono ad esso. Esempio Gli utenti di un sistema informativo che fornisca servizi di posta elettronica richiedono di poter spedire messaggi a qualunque destinazione, specificando l’indirizzo finale in modo semplice e simbolico, avendo la possibilità di allegare file con diverso formato, potendo ottenere una ricevuta di ritorno, avendo la sicurezza che il messaggio non è letto se non dal ricevente, ecc. Esempio Gli utenti di un sistema di prenotazione analisi cliniche hanno l’esigenza di disporre di una prenotazione nel più breve tempo possibile, eventualmente con servizio presso l’abitazione, su un insieme di analisi che può richiedere diverse tipologie di prelievi, con diverse modalità di tariffazione a seconda del tipo di assistenza di cui dispongono, ecc. L'analisi coinvolge usualmente tre diverse caratteristiche del sistema informativo, riguardanti rispettivamente i dati oggetto del sistema, le funzioni che devono esse svolte dal sistema, usualmente mediante elaborazioni di varia natura, le risorse tecnologiche utilizzate per realizzare tali funzioni. Più precisamente: • i dati riguardano tutte le tipologie di informazioni codificate e strutturate utilizzate

dalle funzioni di elaborazione e memorizzate temporaneamente o permanentemente nel sistema informativo. Nel sistema di posta elettronica di cui all’esempio 1 tipologie significative di dati riguardano gli indirizzi degli utenti, i siti ove sono allocate le caselle degli utenti, diverse caratteristiche degli utenti, quali l’istituzione cui appartengono, il client associato all’utente, il profilo, le modalità di accounting, ecc.

• le funzioni riguardano tutte le tipologie di elaborazioni, interrogazioni, acquisizioni, stampe o archiviazioni, trasferimenti di informazioni disponibili nel sistema per gli

Page 2: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

2

utenti. Nel sistema di posta elettronica le tipologie di funzioni riguardano la composizione, l’invio, la lettura e la stampa di un messaggio, la selezione, l’inserimento, l’apertura e il salvataggio di un allegato, la consultazione e la gestione di una rubrica di indirizzi di posta, e così via;

• le risorse tecnologiche sono i sistemi di elaborazione, memo rizzazione, trasmissione, di ingresso uscita, che devono essere acquisiti installati e gestiti per rendere il sistema funzionante. Nel sistema di posta elettronica. Le risorse sono i client associati agli utenti, i server (es. il domain name server, le reti locali, i collegamenti con reti geografiche, ecc.

In genere, la fase di analisi viene associata alle prime due tipologie di risorse, ma abbiamo citato anche le risorse tecnologiche per completezza, essendo un qualunque sistema informativo associabile alle tre risorse costituite dai dati, dalle funzioni, e dalle tecnologie informatiche. Dati e funzioni devono essere specificati in questa fase del ciclo di vita, perché senza una qualche forma di specifica non è possibile procedere alle fasi successive. Possiamo dire che l’oggetto fondamentale della attività di analisi è proprio quello di fornire una specifica dei dati e delle funzioni, a partire da una descrizione usualmente informale delle esigenze degli utenti, descrizione che chiameremo requisiti degli utenti. I requisiti degli utenti sono usualmente espressi come esito di interviste, e sono quasi sempre espressi in linguaggio naturale orale o scritto. Anche la specifica dati funzioni può essere fornita in linguaggio naturale scritto, ovvero a voce, ovvero può semplicemente, per piccoli sistemi, essere definita "nella testa" del singolo analista. Questi modi di descrivere la specifica sono da evitare perché non sarà più possibile (o sarà molto complicato e fonte di contenziosi) successivamente verificare in fase di test o collaudo in che misura il sistema operante rispetta le specifiche iniziali. Specificare in modo non ambiguo dati e funzioni costituenti un sistema informativo può farsi: • con un prototipo, cioè con un sistema funzionante, realizzato con ridotto numero di

risorse ed in tempi brevi, che in genere non rispetta i livelli di qualità legati alla efficienza e alla robustezza, e che invece "in piccolo" realizza tutte le funzionalità del sistema, su tutte le tipologie dei dati.

• con un modello formale di specifica, cioè mediante la loro descrizione in termini di un insieme di strutture di rappresentazione dei dati e delle funzioni, strutture di rappresentazione usualmente descritte in un linguaggio dotato di una sintassi e semantica formale, che nel loro insieme sono chiamate modello. Le descrizioni formali dei dati e delle funzioni nel modello scelto sono chiamate schema dei dati e schema delle funzioni. Uno schema dei e uno schema delle funzioni sono perciò una descrizione formale dei dati e delle funzioni di interesse in un particolare sistema informativo, definite a partire dai requisiti degli utenti.

Quando le specifiche sono descritte per mezzo di un modello formale, la scelta del modello è importante anche per scegliere le modalità o fasi con cui condurre la analisi.

Page 3: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

3

In particolare, è possibile scegliere un unico modello per descrivere dati e funzioni, cioè un modello che abbia al suo interno strutture di rappresentazione che permettano di descrivere sia le proprietà statiche (ciò che abbiamo chiamato i dati) delle risorse informative gestite dal sistema informativo, sia le loro proprietà dinamiche o comportamentali (le funzioni), ovvero due modelli distinti, uno per i dati e uno per le funzioni. A seconda della scelta, sarà diverso il percorso o metodo con cui condurre la analisi, e il suo prodotto finale. Per quanto riguarda il prodotto finale della analisi, nel caso di due modelli diversi per i dati e per le funzioni, si arriverà a produrre due schemi distinti, quelli che abbiamo appunto chiamato schema dei dati e schema delle funzioni. Nel caso di un unico modello, si produrrà evidentemente uno schema complessivo. Per quanto riguarda il metodo, in entrambi i casi sarà necessario che le specifiche dei dati e delle funzioni rispettino una imp ortante proprietà chiamata completezza delle specifiche. Le specifiche sono dette complete quando ogni requisito sui dati descritto nelle specifiche dati ha corrispondentemente rappresentati nelle specifiche funzioni tutti i requisiti funzionali ad esso logicamente correlati, e viceversa. In altro parole, non può accadere che vi sia una funzione per la quale non sono rappresentati i dati da essa utilizzati, e viceversa. Per arrivare a produrre specifiche dati e funzioni complete sarà necessario seguire opportune strategie, nei due contesti che abbiamo delineato. Ad esempio nel caso si utilizzino due modelli si potrà seguire la strategia evidenziata in figura 1.

Requisiti

PRIMO

SECONDO

TERZO SECONDO

FINALE

SCHEMA DATI SCHEMA FUNZIONI

FINALE

SCHEMA FUNZIONI

SCHEMA FUNZIONI

SCHEMA DATI

SCHEMA DATI

SCHEMA DATI

PRIMO

Figura 1 - Strategia per l’analisi dati funzioni nel caso di utilizzo di due modelli distinti

Page 4: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

4

2. L’analisi dei dati In questo contributo presenteremo un modello per la descrizione di sistemi informativi nella fase di analisi dei dati. Prima di parlare del modello, e del suo utilizzo, introdurremo alcun i concetti preliminari utili nel contesto dei sistemi informativi, quali archivio e base di dati.

2.1. Archivi e basi di dati

La parola archivio è utilizzata in informatica ad indicare un insieme di dati aventi tutti la stessa struttura, chiamati spesso record , ognuno strutturato a sua volta in un insieme di campi elementari caratterizzati da un particolare valore. Ad esempio in un archivio anagrafico i record sono gli insiemi di dati relativi alle singole persone, i campi sono il nome, il cognome, il luogo e data di nascita, l’indirizzo, il CAP e il luogo di residenza. I valori che possono essere assunti dai campi appartengono a domini, quali gli interi, le stringhe di caratteri, i booleani. Le informazioni rappresentate in un archivio possono essere organizzate in molti modi: ad esempio, ordinandole per cognome, ovvero per data di nascita. Si suole perciò distinguere negli archivi un aspetto che chiameremo concettuale, che descrive la natura delle informazioni rappresentate, ed un aspetto fisico, che descrive le modalità di rappresentazione. Secondo un' altra coordinata, possiamo distinguere in un archivio un aspetto intensionale, che riguarda il significato delle informazioni rappresentate nell’archivio, indipendentemente dal loro valore (ad es. l’archivio PERSONE, l’archivio FORNITORI, il campo DATA-DI-NASCITA, il campo COGNOME), ed un aspetto estensionale, costituito dai valori rappresentati ('PAOLO’, 'ROMA, '7 giugno 1949', '00134'). La parte intensionale non cambia nel tempo, mentre la parte estensionale è soggetta a continui aggiornamenti, aggiunte, cancellazioni di informazioni. Esempio Nella nostra vita quotidiana accade spesso che le informazioni da noi gestite siano frammentate in diversi 'contenitori': agende, bollette, calendari, fogli sparsi. Ed è proprio tale frammentazione che pone talvolta vari problemi nella gestione delle informazioni. Se ad esempio teniamo due agende, una a casa e una al posto di lavoro, la variazione di un numero di telefono ci obbligherà a due diversi aggiornamenti. Un analogo problema è sorto per le Amministrazioni statali, le imprese manifatturiere e produttrici di servizi, gli enti di credito, che hanno progressivamente utilizzato i sistemi informatici per automatizzare archivi di varia natura, iniziando dai dati operativi (ad esempio, i dati necessari alla produzione di un certificato richiesto da un cittadino in una anagrafe comunale) fino agli archivi utilizzati per esigenze di previsione e pianificazione (ad esempio, i dati sulle nascite e sulle morti in un dato intervallo di anni, necessari per prevedere lo sviluppo edilizio e le esigenze di istruzione). La tecnologia disponibile ha incoraggiato inizialmente una automazione che possiamo definire "a pelle di leopardo": ogni volta che nasceva una nuova esigenza, veniva realizzata una nuova applicazione (un insieme di programmi), e creati uno o più archivi

Page 5: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

5

utilizzati dalla applicazione. In questo modo (vedi un esempio in figura 2: il simbolo di cilindro è tradizionalmente utilizzato per rappresentare archivi) accade che le stesse informazioni possano essere rappresentate in diversi archivi, dando luogo a ridondanza di rappresentazione, rischi di incoerenze nelle diverse rappresentazioni della stessa informazione, e scarsa trasparenza da parte di un utente nella possibilità di utilizzare informazione prodotta da altri, essendo tale informazione sotto il diretto controllo del settore organizzativo che la ha originata.

UFFICIO GESTIONE

DEL PERSONALE

Matricola

Cognome

Nome

Titolo studio

Livello

Stato civile

Valutazioni

UFFICIO

ORGANIZZAZIONE

Ufficio

Cognome Nome Matricola Livello Mansione

UFFICIO

AMMINISTRAZIONE

DEL PERSONALE

LivelloMatricolaCognomeNomeAssegniPremioMeseOre

Figura 2 - Struttura di un insieme di archivi tradizionali

Le basi di dati nascono proprio per dare una risposta a questi problemi. Una base di dati (vedi anche figura 3) può essere definita come un insieme di archivi in cui ogni informazione di interesse viene rappresentata una sola volta, e acceduta da un insieme di applicazioni secondo criteri di riservatezza che sono stabiliti in modo centralizzato. La base di dati è dunque anzitutto un concetto organizzativo, prima ancora che tecnologico: integrare le informazioni aziendali in un unico contenitore logico significa aumentare la possibilità di circolazione delle informazioni e quindi integrare maggiormente la stessa organizzazione. Peraltro, è possibile fare questo in modo efficace solo disponendo di opportuni sistemi software di gestione, detti sistemi di gestione di basi di dati, o DBMS, Data Base Management System, sviluppati negli anni '70 ed '80, e ormai diventati di uso comune. Un sistema di gestione di basi di dati permette ai vari utenti di utilizzare in modo coordinato i dati memorizzati, per mezzo di linguaggi di manipolazione ed interrogazione efficienti e facili da utilizzare.

Page 6: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

6

APPLICAZIONE 1

APPLICAZIONE 1

APPLICAZIONE 1

Figura 3 - Struttura di una base di dati

Anche in una base di dati, come in un insieme di archivi tradizionali, possiamo distinguere un aspetto intensionale, detto anche schema logico (o schema) della base di dati, ed un aspetto estensionale, costituito dai dati memorizzati. I sistemi software di gestione di basi di dati utilizzano per descrivere lo schema logico un insieme di modelli chiamati usualmente modelli logici: i più utilizzati sono stati nel passato il modello gerarchico, il modello reticolare e oggi il modello relazionale. In figura 4 riportiamo una stessa realtà di interesse rappresentata per mezzo dei modelli gerarchico e relazionale; la realtà che vogliamo rappresentare è quella delle librerie, che vendono libri, scritti da vari autori. I due modelli descrivono tale realtà nel seguente modo: 1. nel modello gerarchico si distinguono due tipi di strutture di rappresentazione, i

record e i legami logici tra record. I record hanno il significato già introdotto all’inizio del capitolo, sono cioè insiemi di campi; i legami logici descrivono le corrispondenze definite tra record. Nel nostro esempio, si hanno tre record, LIBRERIA, LIBRO, AUTORE, e due legami, uno tra LIBRERIA e LIBRO, che descrive per ogni libreria, i libri venduti, e l’altro tra LIBRO e AUTORE, che descrive per ogni libro, i suoi autori.

2. nel modello relazionale le informazioni di interesse sono raggruppate in relazioni, rappresentate in modo naturale da tabelle. Ogni relazione (LIBRERIA, LIBRO, ecc.) è costituita da un insieme di attributi, che costituiscono i dati elementari rappresentabili (nel caso di LIBRERIA, PARTITA-IVA, NOME, INDIRIZZO). Le relazioni sono utilizzate uniformemente nel modello per rappresentare entrambe le strutture del modello gerarchico, i record e i legami logici. Ad esempio il record LIBRERIA del modello gerarchico è rappresentato con una relazione LIBRERIA nel modello relazionale (e gli attributi corris pondono esattamente ai campi), e l’insieme tra i record LIBRERIA e LIBRO è rappresentato con una seconda relazione DISPONIBILITÀ, in cui, come si vede, la corrispondenza tra ogni libreria

Page 7: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

7

ed i libri che presso di essa sono disponibili è rappresentata riportando nella relazione l’attributo NOME-LIBRERIA (che corrisponde a NOME nella relazione LIBRERIA) e l’attributo CODICE-LIBRO (che corrisponde a CODICE-L nella relazione LIBRO).

MODELLO RELAZIONALEMODELLO GERARCHICO

PARTITA-IVA NOME INDIRIZZO

LIBRERIA

CODICE-L TITOLO NUMEROCOPIE

EDITORE

CODICE-A NOME COGNOMEDATA

NASCITA SESSO

LIBRO

AUTORE

CITTA'

PAGINE

NOME- CODICE NUMEROLIBRERIA LIBRO COPIEDISPONIBILITA'

TITOLO COGNOMESCRITTO

AUTORE CODICE NOME COGNOME NAZIONALITA' SESSO

LIBRO CODICE-L TITOLO EDITORE PAGINE

LIBRERIA PARTITA-IVA NOME INDIRIZZO CITTA'

Figura 4 - Librerie e libri descritti nei modelli gerarchico e relazionale

2.2. I modelli concettuali e le astrazioni In fase di analisi, per rappresentare le specifiche, si preferisce non utilizzare i modelli logici, in quanto troppo vicini al modo in cui i dati sono rappresentati nel sistema informatico, ed in particolare nel sistema di gestione della base di dati. Le specifiche vengono piuttosto descritte per mezzo di un modello ancora astratto, formale, indipendente dal modello scelto per la realizzazione tecnologica, producendo in questo modo uno schema concettuale dei dati; nella fase di progettazione, lo schema concettuale viene tradotto in termini dello schema logico, rappresentazione dei dati espressa nel modello logico. In questa sezione esamineremo il meccanismo fondamentale di rappresentazione dei modelli concettuali, le astrazioni; nella prossima sezione esamineremo un particolare modello concettuale, il modello Entità Relazione. I modelli concettuali non sono rivolti tanto a descrivere la realizzazione informatica, quanto piuttosto la realtà di interesse; sono, per cosi' dire, modelli rivolti verso la realtà, più che verso il sistema di gestione di basi di dati. Per essere in grado di rappresentare classi di dati in modo semplice, comprensibile, indipendente dalla tecnologia informatica, un modello concettuale deve essere in grado di descrivere astrazioni. Intendiamo per astrazione un procedimento mentale che permette di evidenziare alcune proprietà, ritenute significative, degli oggetti osservati, escludendone altre giudicate non rilevanti. Ogni processo di astrazione è applicato ad un insieme di oggetti ed il suo risultato è la definizione di un nuovo oggetto, che, come spesso si dice, si trova ad un livello di astrazione superiore rispetto agli altri.

Page 8: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

8

Come esempio di astrazione (vedi Figura 5.a) consideriamo il processo mediante il quale a partire dalle singole persone e considerando le proprietà che le accomunano, si giunge al concetto di persona, cioè alla definizione di una classe, che rappresenta un insieme di oggetti (le singole persone). Il precedente tipo di astrazione, presente in tutti i modelli concettuali, è chiamato astrazione di classificazione. Altre due astrazioni usualmente considerate sono: • la aggregazione, mediante la quale si può giungere alla definizione di una classe

come astrazione di un insieme di parti componenti o proprietà. Ad esempio, definite le classi NOME, COGNOME, ETÀ, SESSO, STIPENDIO, una loro astrazione di aggregazione è la classe PERSONA (vedi Figura 5.b).

• la generalizzazione, mediante la quale si può giungere alla definizione di una classe come unione di un insieme di classi, ognuna delle quali è contenuta della classe data. Cosi', ad esempio, definite le classi UOMO e DONNA, possiamo definire come loro generalizzazione la classe PERSONA (vedi Figura 5.c).

Corrispondentemente, possiamo definire i procedimenti inversi alle precedenti astrazioni, che permettono di raffinare concetti in termini di concetti più elementari. Ad esempio, tra essi, possiamo definire la specializzazione come il procedimento che permette di definire oggetti a partire da classi.

PERSONA

Classificazione

Astrazione di classificazione

PERSONA

Generalizzazione

UOMO DONNA

Astrazione di generalizzazione Astrazione di aggregazione

PERSONA

Aggregazione

NOME COGNOMEETA' SESSO

(a) b) (c)

Figura 5 - Le astrazioni utilizzate nei modelli concettuali

Come si vede, si può arrivare ad uno stesso concetto (quello di PERSONA), per mezzo di tre procedimenti di astrazione diversi, ognuno dei quali, cioè, utilizza una diversa astrazione. Si può anche osservare che ognuna delle tre astrazioni coglie un aspetto della realtà che non può essere rappresentato per mezzo delle altre due.

2.3. Il modello Entità Relazione In questa sezione descriviamo un particolare modello concettuale, che adotta in certa misura le astrazioni descritte nella sezione precedente. Una caratteristica interessante del modello è la adozione per i concetti di una rappresentazione grafica, che riportiamo in Figura 6.

Page 9: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

9

STRUTTURA DI CLASSIFICAZIONE SIMBOLO

ENTITA' nome

GENERALIZZAZIONE

RELAZIONE nome

ATTRIBUTO

SEMPLICEnome

ATTRIBUTO

AGGREGATO nome nomenome

SOTTOINSIEME

Figura 6 - Rappresentazione grafica dei concetti nel modello Entità Relazione

Nel modello sono definiti cinque tipi di strutture di rappresentazione: entità, relazioni, attributi, sottoinsiemi, generalizzazioni. Sono anche definibili alcuni vincoli di integrità, che rappresentano proprietà esprimibili sui concetti presenti nello schema. Nel seguito esamineremo un particolare tipo di vincolo di integrità, le cardinalità. Entità Le entità corrispondono a classi di oggetti del mondo reale (oggetti che chiameremo in seguito istanze della entità) che hanno proprietà omogenee ai fini della applicazione. Tra queste le proprietà elementari (cioè non strutturabili in proprietà più atomiche) sono dette attributi semplici. A un attributo semplice è associato un insieme di valori, detto anche dominio, che rappresentano l’insieme dei valori elementari che l’attributo può assumere. Cosi', ad esempio, PERSONA è una entità tipica di uno schema anagrafico, e NOME, COGNOME, ETÀ, SESSO, sono proprietà elementari che noi siamo interessati

Page 10: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

10

a descrivere di ogni persona, e quindi sono nel modello attributi della entità PERSONA; la entità può quindi vedersi come astrazione di classificazione delle singole persone e come astrazione di aggregazione delle quattro proprietà NOME, COGNOME, ETÀ, SESSO. Accanto agli attributi semplici è comodo poter definire attributi composti, che costituiscono aggregazioni di attributi. Ad esempio DATA può vedersi come attributo composto dagli attributi GIORNO, MESE, ANNO. Relazioni Le relazioni corrispondono a classi di fatti del mondo reale che sono significativi ai fini della applicazione; tali fatti mettono in relazione istanze di due o più entità. Ad esempio, in un censimento della popolazione possiamo essere interessati ad esprimere la relazione tra le persone e le città in cui sono nati, e chiamare tale relazione È-NATO; tale relazione può vedersi come astrazione di aggregazione applicata alle due entità PERSONA e CITTÀ. Accanto ad essa, possiamo essere interessati ad altre relazioni definite sulle stesse entità: ad esempio la relazione tra la persona e il luogo di residenza (relazione RISIEDE), la relazione tra persona e luoghi in cui ha avuto residenza (HA-RISIEDUTO). Mostriamo lo schema costituito dalle tre relazioni e le due entità in Figura 3.9. Ancora riguardo alle relazioni, è bene osservare che accanto a relazioni definite tra due entità, come tutte le precedenti, ci possono essere relazioni definite su più di due entità. Un esempio è la relazione FORNITA, tra le entità FORNITORE, PARTE, PRODOTTO. Una parte può essere fornita da diversi fornitori, e per diversi prodotti. Se vogliamo cogliere la situazione più generale possibile, dobbiamo rappresentare questo tipo di fatti per mezzo di terne di informazioni (un fornitore, una parte, un prodotto), e dunque, nello schema, per mezzo di una relazione tra tre entità. In questo caso, la relazione ha un attributo, che rappresenta la generica QUANTITÀ che un fornitore fornisce per una certa parte e per un certo prodotto. Esempio Mostriamo alcuni esempi di schemi concettuali. Lo schema di Figura 7 rappresenta la realtà informativa di un campionato di calcio.

Page 11: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

11

Fig. 3.10: Schema concettuale di un campionato di calcio

PARTITA

TRA

SQUADRA

GIRONEGIORNATANUMERO

GIOCA_IN_CASA

NOMECITTA'

ALLENATORE

DATAGIORNO

MESEANNO

DATANASCITA

GIORNOMESE

ANNO

NOMECOGNOMERUOLO

GIOCATORE

GIOCAIN

Figura 7 - Lo schema concettuale di un campionato di calcio

Nello schema compaiono: 1. La entità SQUADRA rappresenta l’insieme delle squadre che partecipano al

campionato. Delle squadre vogliamo conoscere il NOME (ad esempio Juventus, Roma, Milan), la CITTÀ (nei tre casi precedenti Torino, Roma, Milano), ed il COGNOME dell’allenatore.

2. La entità GIOCATORE rappresenta i giocatori che giocano nelle squadre (in tutte le squadre). Per ogni giocatore vogliamo ricordare il NOME, il COGNOME, la DATA-DI-NASCITA (attributo composto dagli attributi GIORNO, MESE, ANNO) ed il RUOLO che ricopre nella squadra. Riguardo al RUOLO, facciamo per il momento la ipotesi che ogni giocatore abbia un unico ruolo, sempre fisso nel tempo. Facciamo anche la ipotesi che anche l’insieme dei ruoli sia fisso nel tempo

Page 12: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

12

(ad es. Portiere, Terzino sinistro, Ala destra, ecc.), ed in tutte le squadre si adottino gli stessi ruoli.

3. La entità PARTITA rappresenta l’insieme delle partite svolte nel campionato (ad esempio ROMA - MILAN della seconda giornata del girone di ritorno, JUVENTUS - VERONA della settima giornata del girone di andata, ecc.). Di ogni partita si vuole ricordare il GIRONE e la GIORNATA in cui si è svolta, la DATA (anche in questo caso distinta in GIORNO, MESE ed ANNO), ed il NUMERO della partita nell’ambito della giornata (ad esempio prima partita, seconda partita, ecc.).

Accanto alle precedenti entità sono definite nello schema le seguenti relazioni: 1. GIOCA-IN tra le entità GIOCATORE e SQUADRA, che rappresenta per ogni

giocatore la squadra in cui gioca, ovvero, simmetricamente, per ogni squadra l’insieme dei giocatori che giocano nella squadra.

2. TRA, definita tra le due entità SQUADRA e PARTITA, che rappresenta per ogni partita le squadre coinvolte (ad es. nella partita ROMA - MILAN sono coinvolte le squadre ROMA e MILAN). La relazione TRA ha un attributo, chiamato GIOCA-IN-CASA, che per ognuna delle due squadre coinvolte nella partita dice se la squadra gioca o meno in casa. Il dominio di questo attributo è formato dai due valori [SI, NO]. È importante convincersi che l’attributo GIOCA-IN-CASA è una proprietà della relazione TRA, e non della entità PARTITA o della entità SQUADRA. Infatti per assegnargli un valore noi dobbiamo conoscere la partita e la squadra cui si riferisce: è perciò una proprietà della relazione tra le due entità.

Generalizzazioni Le Generalizzazioni mettono in relazione un insieme di entità (dette nel seguito entità figlie) con una nuova entità (detta entità padre) che di esse è astrazione appunto di generalizzazione. Possiamo ad esempio affermare che PERSONA è generalizzazione di UOMO e DONNA, ovvero che LUOGO è generalizzazione di COMUNE e STATO ESTERO. Nelle generalizzazioni potranno essere definiti attributi e relazioni che sono significativi solo per una delle entità figlie. È questo il caso dello schema di Figura 8 in cui l’attributo SITUAZIONE-MILITARE (che rappresenta lo stato della persona dal punto di vista del servizio militare: esente, arruolato, ecc.) ha senso solo per gli uomini.

PERSONA

UOMO DONNA

SITUAZIONE MILITARE Figura 8 - Un esempio di generalizzazione

Page 13: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

13

Una fondamentale proprietà delle generalizzazioni è la seguente: in una astrazione di generalizzazione, ogni proprietà della entità padre è anche proprietà delle entità figlie. Per proprietà intendiamo gli attributi, le relazioni e le generalizzazioni cui partecipa la entità. Così se ETÀ è attributo di PERSONA e PERSONA è generalizzazione di UOMO e DONNA, ETÀ è chiaramente attributo anche di tali due nuove entità. Si noti che una entità può essere l’entità padre di più generalizzazioni: ad esempio, in una applicazione scolastica, la entità PERSONA può essere da una parte generalizzazione nelle entità PROFESSORE e STUDENTE, e dall’altra nelle entità UOMO e DONNA. Sottoinsiemi Un sottoinsieme è un caso particolare di generalizzazione, quella che sussiste tra l’entità padre e una sola entità figlia. Ad esempio la entità ATTACCANTE è sottoinsieme di GIOCATORE nello schema del campionato, perché ogni giocatore attaccante è anche un giocatore, ma esistono giocatori che non sono attaccanti (per fortuna!). Anche per i sottoinsieme è definita la proprietà in precedenza definita per le generalizzazioni. Ad esempio tutti gli attributi e le relazioni associati a GIOCATORE nello schema di Figura 3.10 vanno automaticamente associati anche alla entità ATTACCANTE. Esempio Considerare lo schema Entità Relazione di Figura 9.

UOMO DONNA

MILITARE LAVORATRICEFA

SERVIZIO

PERSONA

NATA

NATO

RISIEDE

CITTA'

NOME

PROVINCIAREGIONE

NOME

COGNOME

ETA'

ALTEZZA

ETA'

ETA'

Figura 9 - Schema concettuale dell'esempio

Page 14: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

14

Lo schema rappresenta varie proprietà di uomini e donne rilevanti, ad esempio, nell’analisi di un sistema anagrafico. Ipotizziamo che l’interesse degli utenti di tale sistema sia legato agli effetti del servizio di leva obbligatorio sulla capacità delle famiglie di produrre reddito. Vorremmo rappresentare quindi le persone, le città in cui vivono, la loro relazione con il servizio militare ecc. Attraverso astrazioni di classificazione vengono perciò definite alcune entità principali (PERSONA, CITTÀ), mentre operazioni di generalizzazione producono le altre entità (UOMO, DONNA, MILITARE, LAVORATRICE). Da questo primo frammento di schema possiamo poi passare a considerare le proprietà fondamentali delle entità fin qui trovate, ricordando che le entità sono null’altro che aggregazioni di attributi (definizione intensionale di entità). Del numero potenzialmente illimitato di attributi, è facile identificare quelli più immediatamente rilevanti per il nostro universo del discorso: il nome ed il cognome (elementi di identificazione personale), l’età e l’altezza (legati all’idoneità al servizio di leva), la provincia e la regione di residenza (vincoli alla destinazione finale del militare di leva). Si può notare che accanto all’entità CITTÀ non sono state introdotte anche le entità PROVINCIA e REGIONE, malgrado i citati vincoli sulle destinazioni dei militari di leva facciano riferimento ala regione di residenza. Nel caso di classi di oggetti la cui estensione è delimitata, magari in seguito a norme o a standard di qualsiasi natura, come è il caso della CITTÀ o della REGIONE, vale una evidente regola di economia che suggerisce di elevare al rango di entità soltanto una, normalmente la più numerosa, e rappresentare le altre come attributi della prima. Al termine di questo passo, gli attributi sono sparsi nello schema senza un particolare ordine. Passando alle relazioni, si può notare che i concetti anagrafici di luogo di residenza e di luogo di nascita sono stati rappresentati non tramite nuove entità (ad esempio CITTÀ_DI_RESIDENZA) ma come relazioni tra entità esistenti (PERSONA e CITTÀ): appare chiaramente che la relazione è il costrutto che permette di introdurre nuove classi “mettendo a fattore” quelle già definite. Detto questo, si lascia al lettore la scelta di procedere con i seguenti passi. 1. Ristrutturare lo schema tenendo conto della proprietà fondamentale delle

generalizzazioni descritta in precedenza. 2. Lo schema rappresenta solo le lavoratrici donne; modificare lo schema

rappresentando ora tutti i lavoratori, uomini e donne. 3. Tra le proprietà delle città, l’attributo regione può essere visto anche come un

attributo del concetto PROVINCIA. Ristrutturare lo schema in tal senso. Cardinalità Le cardinalità sono proprietà di relazioni; la cardinalità minima di una entità definita in una relazione è il minimo numero di volte che ogni occorrenza della entità può essere coinvolta in una occorrenza della relazione. Il valore 0 significa che può esistere una occorrenza di entità non coinvolta in alcuna occorrenza di relazione. Il valore 1 (n) significa che non può esistere occorrenza senza essere coinvolta in 1 (n) relazioni. Analoga definizione vale per la cardinalità massima. Le cardinalità minime e massime n ed m di una entità in una relazione sono indicate con il simbolo (n,m) accanto alla entità. Ad esempio, nella relazione TRA dello schema di Figura 3.11, le cardinalità sono:

Page 15: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

15

1. (2,2) per la entità PARTITA (una partita si svolge esattamente tra due squadre). 2. (1,1) per la entità SQUADRA (una squadra è coinvolta esattamente una volta in una

partita). Nella relazione GIOCA-IN le cardinalità sono: 1. (11, n) per la entità SQUADRA (una squadra deve avere come minimo 11 giocatori,

ma in generale ne ha molti di più). 2. (1,1) per la entità GIOCATORE (un giocatore, in un campionato, gioca esattamente in una squadra).

3. La progettazione di schemi concettuali: un esempio Vogliamo in questa sezione approfondire alcuni problemi connessi con le attività legate all’utilizzo di schemi, descritte nella precedente sezione. Ci riferiamo in particolare alle attività di progettazione. Nel corso del progetto di uno schema noi siamo interessati a produrre schemi che siano la fedele e completa descrizione dei requisiti, ed allo stesso tempo siano chiari e facili da comprendere. Riguardo alla facilità di comprensione, occorre notare che nel modello Entità Relazione le stesse informazioni possono essere rappresentate in generale in molti modi possibili. Consideriamo ad esempio gli schemi di Figura 10.

Secondo schema Primo schema

COGNOMEPERSONA

CITTA'

NOME

ETA'

NATO

NOME

SESSOCITTA' NASCITA

PERSONA

UOMO DONNA

SITUAZIONE MILITARE

NOMECOGNOMEETA'

PROVINCIA-NASCITA

Figura 10 - Due schemi concettuali che rappresentano gli stessi requisiti

I due schemi rappresentano le stesse informazioni, alcune volte allo stesso modo, altre volte con strutture diverse. Infatti, ad esempio: 1. la città in cui è nata una persona è rappresentata nel primo schema per il tramite di

una relazione associata a PERSONA, nel secondo semplicemente mediante un attributo.

Page 16: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

16

2. gli uomini sono rappresentate nel primo schema come le persone di sesso maschile, nel secondo mediante la entità UOMO.

I due schema hanno lo stesso contenuto informativo (rappresentano cioè lo stesso insieme di requisiti), ed ognuno enfatizza determinati aspetti mettendone, per cosi' dire, altri in secondo piano. Passando ora più specificatamente al progetto di uno schema, vogliamo ora mostrare e discutere a titolo di esempio alcune strategie con cui possiamo procedere nel corso del progetto. Le più importanti strategie sono le seguenti: 1. La strategia top-down produce lo schema finale attraverso una serie di raffinamenti

successivi (vedi Figura 11a), partendo da uno schema iniziale con pochi concetti molto astratti, e raffinando via via lo schema con trasformazioni che aumentano progressivamente il grado di dettaglio nella rappresentazione della realtà di interesse. Mostriamo in Figura 3.15 alcuni esempi di trasformazioni elementari (o primitive, nel seguito) tipiche della strategia top-down. Come si vede, ogni primitiva raffina un concetto elementare (una entità o relazione) in una struttura più complessa.

2. La strategia bottom-up (Figura 11b) procede rappresentando ogni aspetto elementare della realtà di interesse per mezzo di un semplice schema concettuale, procedendo poi a fondere questi schemi fin quando non si ottiene lo schema finale.

a) (b)

Figura 11 - Le strategie top-down e bottom-up

Esempio Mostriamo un esempio di applicazione delle due metodologie progettando lo schema concettuale di una applicazione anagrafica, in cui si vuole rappresentare dati relativi ad

La strategia top-down

RAFFINAMENTI

La strategia bottom-up

Page 17: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

17

un insieme di persone. Partiamo dalle seguenti specifiche. Vogliamo rappresentare un insieme di dati relativi ad una applicazione anagrafica. In particolare i dati riguardano: 1. Le persone, di cui si vuole rappresentare il nome, il cognome, il sesso, e l’età. 2. I posti dove le persone vivono e dove sono nati. I posti possono essere di due tipi:

comuni, o stati esteri. Nel caso siano comuni, si vuole ricordare la provincia e regione in cui è situato il comune. Nel caso di stati esteri, si vuole rappresentare la popolazione.

3. Per le persone occupate si vuole ricordare il posto dove lavorano; per le persone non occupate si vuole ricordare se abbiamo o meno lavorato nel passato.

DATIANAGRAFICI

DATISULLE PERSONE

DATISUI LUOGHI

Figura 12 - La trasformazione top-down primitiva

Possiamo inizialmente rappresentare l'applicazione per mezzo di una unica entità (vedi Figura 12), che racchiude l’intero significato dello schema, chiamata DATI ANAGRAFICI. Possiamo poi raffinare questa entità per mezzo di una trasformazione che individua all’interno della applicazione due gruppi di dati, DATI-SULLE-PERSONE e DATI-SUI-LUOGHI, in relazione tra di loro. Se ora consideriamo i concetti dello schema possiamo osservare quanto segue: 1. La entità DATI-SULLE-PERSONE può essere raffinata in tre entità distinte,

PERSONA, OCCUPATO e NON-OCCUPATO, tra cui è definita una gerarchia di generalizzazione.

2. La entità DATI-SUI-LUOGHI può esser raffinata, con un ragionamento simile, in una gerarchia di generalizzazione formata da LUOGO, STATO-ESTERO e DATI-SUI-COMUNI. Quest' ultimo nome è meno preciso dei precedenti perchè al contrario degli stati esteri, vogliamo rappresentare vari tipi di proprietà dei comuni: comune è perciò ancora un concetto provvisorio, che va ulteriormente raffinato.

3. La relazione RIFERITO-A è troppo generica; la possiamo raffinare in tre relazioni distinte, NATO, VIVE e LAVORA. Le prime due sono riferite alla entità PERSONA, la terza alla entità OCCUPATO.

Le trasformazioni applicate sono mostrate in Figura 13a. Come risultato di queste trasformazioni otteniamo lo schema di Figura 13b.

Page 18: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

18

(a) Un insieme di trasformazioni top-down

(b) Lo schema dopo la applicazione delle trasformaziomi

NATO

LAVORA

PERSONA

OCCUPATO NONOCCUPATO

PERSONA

STATO DATI SUICOMUNIESTERO

LUOGO

VIVE

Trasformazione primitiva

sulle persone

DATISULLE

PERSONE

PERSONA

OCCUPATONON

OCCUPATO

Trasformazione primitivasui luoghi

DATI SUI

LUOGHI

LUOGO

STATOESTERO

DATI SUICOMUNI

Trasformazione primitivasulle relazioni

RIFERITOA

NATO VIVE LAVORA

Figura 13 - Un insieme di trasformazioni top-down ed il corrispondente schema prodotto

Lo schema di Figura 13 non descrive ancora tutto il contenuto informativo delle specifiche. In particolare: 1. Non abbiamo ancora descritto gli attributi di PERSONA. 2. Per quanto riguarda i comuni, noi vogliamo rappresentare sia la provincia che la

regione. Possiamo rappresentare queste informazioni espandendo la entità DATI-SUI-COMUNI in due entità COMUNE e PROVINCIA, associando alle due entità gli attributi NOME-COMUNE, NOME-PROVINCIA e REGIONE.

3. Infine, dovremo aggiungere gli attributi alla entità NON- OCCUPATO. Aggiungendo ora allo schema finale tali concetti e le cardinalità, otteniamo lo schema di Figura 14.

Page 19: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

19

POPOLAZIONE

NATO

LAVORA

PERSONA

OCCUPATO NONOCCUPATO

PERSONA

STATOCOMUNEESTERO

LUOGO

VIVE

NOME

COGNOME

SESSOETA'

NOME

HA LAVORATO?

NOME

REGIONE

(1,1)

(1,n)

(1,n)

(1,n)

(1,1)

(1,1)

IN

PROVINCIA

(1,n)

(1,1)

Figura 14 - Lo schema finale

Applicando la strategia bottom-up, possiamo procedere secondo il seguente ordine: 1. le proprietà elementari, cioè gli attributi; 2. un primo insieme di aggregazioni, rappresentate dalle entità; 3. le generalizzazioni ed i sottoinsiemi definiti tra entità; 4. un secondo insieme di aggregazioni rappresentate dalle relazioni.

Seguendo questo procedimento c'è in genere necessità di ristrutturare di volta in volta lo schema, poiché una visione unitaria della proprietà dello schema si può avere solo quando i diversi concetti siano stati rappresentati; ad esempio (vedi figura 15), è possibile che siano stati individuate le due entità UOMO e DONNA, e ad entrambe siano state associati gli stessi attributi. Dopo aver individuato la entità PERSONA, generalizzazione di entrambe, è necessario ristrutturare lo schema assegnando gli attributi alla nuova entità.

NOMECOGNOME

SESSOETA'

HA LAVORATO?OCCUPATO

NON

OCCUPATO

PERSONA

Figura 15 - Ristrutturazione degli attributi

Page 20: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

20

Riassumendo i vantaggi e gli svantaggi delle due strategie, possiamo affermare che la strategia top-down, disciplinando le modalità di raffinamento dello schema, produce sempre schemi che rappresentano l’intera applicazione in modo integrato e strutturato, senza richiedere la necessità di modifiche o aggiornamenti su parti dello schema; allo stesso tempo, è talvolta difficile da applicare in maniera rigorosa, proprio per questa sua caratteristica di richiedere sempre una visione complessiva della realtà di interesse. Il metodo bottom-up è in un certo senso nella situazione opposta: apparentemente è facile da applicare, ma può dar luogo a sorprese.

4. Possibili ulteriori utilizzi degli schemi dei dati nei sistemi informativi

In questo capitolo abbiamo visto l’attività di produzione di uno schema dei dati come strettamente legata alla attività di analisi. In effetti gli schemi dei dati possono essere prodotti e utilizzati anche in diversi altri contesti. Essi sono: • la individuazione del contenuto informativo comune a due o più basi di dati; • la individuazione delle ridondanze e delle incoerenze tra più basi di dati; • la produzione dello schema dati della organizzazione; • l’integrazione di due o più schemi dati. Per ciascuno di essi vediamo il significato, l’utilità nel ciclo di vita dei sistemi informativi come possa essere svolta la attività, e qualche esempio di utilizzo.

4.1. Individuazione del contenuto informativo comune a due o più basi di dati Abbiamo detto che le basi di dati del sistema informativo di una grande organizzazione sono sempre sviluppate nel tempo in maniera disorganica. Per esempio la sola Pubblica Amministrazione centrale italiana gestisce circa 600 basi di dati di dimensione maggiore di un gigabyte, sviluppate negli ultimi 30 anni. Può essere utile per molte ragioni comprendere quale sia il contenuto informativo comune a due o più basi di dati, ed in particolare: • per capire se sia opportuno unificare o fondere le due basi di dati, allo scopo di

aumentare il numero di interrogazioni o elaborazioni che possono essere effettuate sull’insieme delle due basi di dati, e semplificarne la gestione e l’aggiornamento.

• per capire, anche mantenendo distinte le due basi di dati, quali interrogazioni o elaborazioni ulteriori potrebbero essere fatte collegando le due basi di dati in un sistema distribuito.

• Per capire quali ulteriori informazioni dovrebbero essere descritte in una o in entrambe le basi di dati per accrescere il contenuto informativo complessivo delle basi di dati.

Per individuare le eventuali ridondanze, intendendo per ridondanza la presenza delle stesse tipologie di informazioni nelle diverse basi di dati. In un sistema distribuito, la presenza di ridondanze è una scelta che va fatta con molta cura, perché ogni ridondanza obbliga a gestire gli aggiornamenti delle diverse copie della stessa informazione attraverso elaborazioni che possono essere anche molto complesse, quanto più l’informazione è duplicata nel sistema. Avendo a disposizione gli schemi concettuali di

Page 21: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

21

partenza, il contenuto informativo comune può essere individuato analizzando le entità e le relazioni dei due schemi e selezionando le entità e relazioni con gli stessi nomi, e quelle che pur non avendo gli stessi nomi risultato corrispondere allo stesso concetto del mondo reale (sinonimi).

4.2. Individuazione delle incoerenze tra più basi di dati

In questo caso vogliamo comprendere quanto le scelte progettuali effettuate in termini di informazioni rappresentate negli schemi abbiamo portato ad introdurre scelte concettuali diverse nella rappresentazione della stessa tipologie di informazione. Per esempio, in una base dati anagrafica è possibile modellare l’indirizzo di residenza con diverse modalità concettuali: a. con un unico attributo INDIRIZZO, rappresentato con una stringa di caratteri di

lunghezza fissata (esempio, 50 caratteri alfabetici) b. con quattro attributi VIA, NUMERO CIVICO, CODICE AVVIAMENTO

POSTALE, CITTÀ, rappresentati rispettivamente con una stringa di caratteri, un numero, un numero, una stringa di caratteri.

c. Con opportune varianti delle scelte precedenti. Spesso nel passato, al fine di ottimizzare lo spazio occupato in memoria, sono state effettuate scelte di tipo a, che portano ad una riduzione del numero degli attributi. Ma anche in questo caso, se ci si trovava a realizzare diverse basi di dati in cui compariva lo stesso attributo Indirizzo, potevano essere scelte per le stringhe di caratteri diverse lunghezze. Nella Pubblica amministrazione centrale esistono decine di basi di dati in cui è rappresentato un attributo indirizzo: le basi di dati fiscali, quelle catastali, quelle previdenziali, e cosi via. Una diversa rappresentazione delle stesse informazioni in basi di dati diverse porta a diversi effetti indesiderati: prima di tutto non è più possibile, o, meglio, diventa molto più difficile, collegare le basi di dati per il tramite della informazione rappresentata in modo incoerente, perché essa può assumere valori diversi. In secondo luogo, diventa molto oneroso l’aggiornamento delle diverse copie. In terzo luogo diventa onerosa qualunque progetto di integrazione delle basi di dati, perché è necessario ricostruire la versione corretta della informazione.

4.3. Integrazione di due o più schemi dati

Avere a disposizione gli schemi concettuali delle basi di dati diventa importante anche in qualunque attività di integrazione delle stesse.(vedi figura 16).

Page 22: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

22

(b) Unica base dati centralizzata

(c) Base dati distribuita

(f) Uso di traduttori (g) Base di dati con estrazione di dati(h)Data warehouse

(e) Base dati federataadaccoppiamento debole

(a) Basi di dati separate

DBMS

DBMS

DBMS

DBMS

DBMS

DBMS

(c) Base dati federata adaccoppiamento forte

DBMS

DBMS

DBMS

DBMS

DBMS

DBMS

DBMS

DBMS

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Utenti

Figura 16 - Forme di integrazione tra basi di dati

La forma più stretta di integrazione tra basi di dati si ottiene mediante la integrazione delle diverse basi di dati in una unica base dati (figura 16.b), cioè il ritorno alla precedente situazione di totale centralizzazione. In questo caso, avere a disposizione gli schemi concettuali delle basi di dati da integrare permette di arrivare ad una integrazione di natura semantica tra le diverse basi di dati, che tiene cioè conto del significato delle informazioni presenti, e facilita perciò la comprensione tra gli utenti e la correttezza delle elaborazioni. Per fare un esempio, se nelle attuali basi di dati compaiono due archivi in uno dei quali sono riportati in distinte tabelle i fatturati di un insieme di aziende nei dodici distinti mesi dell’anno, espressi in migliaia di lire e nell’altro tale insieme di informazioni è rappresentato in una unica tabella, espressi in milioni, nella base dati integrata tali differenze di rappresentazione vengono rimosse, dando luogo ad una unica omogenea rappresentazione. Questa forma di integrazione è in realtà molto difficile da attuare, per la grande rapidità con cui dati e basi di dati evolvono nelle organizzazioni, e spesso inopportuna o non realizzabile, per la autonomia che utenti e gruppi di utenti intendono mantenere sulle basi di dati da essi create e aggiornate. Una variante della precedente scelta è quella delle basi di dati distribuite, in cui la base dati è ancora gestita da un unico DBMS, ma può essere frammentata in tante basi di dati locali. Ciò in genere migliora l’efficienza per accessi locali, ma rende più complessi problemi di aggiornamento su diverse basi di dati. In questa soluzione, usualmente, lo

Page 23: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

23

schema concettuale dell’insieme delle basi di dati è l’elemento di partenza per compiere le scelte razionali sulle modalità di distribuzione. Tutte le soluzioni successivamente esposte indeboliscono progressivamente il tipo di integrazione tra le diverse basi di dati. In una base dati federata ad accoppiamento forte le diverse basi di dati vengono gestite autonomamente da diversi DBMS, ma esiste un nuovo componente software che ha la possibilità di accedere omogeneamente alle diverse basi di dati, coordinandone le operazioni. In questo caso lo schema concettuale è indispensabile per permettere a tale componente software di comprendere dove siano allocate nella federazione le diverse tipologie di informazione, e in quale formato concettuale e logico. In una base di dati federata ad accoppiamento debole, rispetto alla precedente, il nuovo componente garantisce soltanto una visione virtuale integrata, ma non ha potere di intervento gestionale sui sistemi che rimangono fortemente autonomi. Le tecnologie a gateway (traduttori o filtri tecnologici) permettono di tradurre richieste formulate in un linguaggio per un DBMS A in termini di richieste per il linguaggio adottato dal DBMS B. Hanno il vantaggio che non richiedono nessuno o limitato sviluppo di software aggiuntivo, ma richiedono componenti ad hoc per ogni singola relazione tra sistemi distinti, e fanno perdere la trasparenza resa possibile dalle soluzioni precedenti. Il meccanismo più debole di integrazione tra basi di dati è quello della estrazione e trasferimento di dati, con aggiornamento periodico della base dati locale a partire dalla base dati remota. In tutte le precedenti forme di integrazione, questa viene instaurata operando sulle basi di esistenti con nuovi componenti architetturali. Nei data warehouse (magazzini o depositi di dati) viene creata (periodicamente) una nuova base dati, che nasce dalla integrazione stretta delle basi di dati esistenti, e tale nuova base dati viene resa accessibile con potenti linguaggi per l’analisi e la estrazione di informazioni rilevanti a fini decisionali. La produzione dello schema concettuale integrato delle basi di dati è il passo preliminare fondamentale a tutte le attività di produzione del data warehouse.

4.4. Produzione dello schema dati della organizzazione Nella vita di una organizzazione, esistono momenti, ad esempio nella fase di pianificazione dei sistemi informativi, in cui si ha necessità di acquisire una visione integrata e di alto livello, indipendente ciò dalle tecnologie utilizzate e dalle scelte contingenti effettuate, dello stato del sistema informativo della organizzazione. Si pensi ad una Pubblica Amministrazione nella quale sia in corso un processo di riorganizzazione delle competenze, modifica delle strutture organizzative con fusione di alcune, introduzione di strutture di coordinamento, accorpamento delle stesse funzioni in una unica struttura, ecc. In tali situazioni, può essere molto utile costruire lo schema concettuale di alto livello delle informazioni trattate nella organizzazione, chiamato talvolta “Enterprise schema”

Page 24: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

24

o Schema di organizzazione. Naturalmente tale schema può essere prodotto a diversi livelli di dettaglio, e quindi, nella sua versione più estesa può contenere centinaia di entità e relazioni differenti. È ragionevole arrivare alla definizione di uno Schema di organizzazione in cui il numero di entità e relazioni sia contenuto nell’ordine delle decine, non superando mai le 40-50, che possono considerarsi una soglia al di sopra della quale diventa molto complesso e costoso produrre lo schema. Le entità e relazioni che compariranno nello Schema di organizzazione saranno di conseguenza macroentità e macrorelazioni, cioè entità e relazioni che nascono dalla aggregazione di informazioni elementari utilizzate nella organizzazione. Come conseguenza del procedimento di costruzione accennato, lo Schema di organizzazione contiene le tipologie di informazioni più importanti trattate nella organizzazione. Collegando in una matrice tali tipologie di informazione, ma soprattutto le entità, con i processi che creano, aggiornano e utilizzano le informazione (vedi figura 17) si ha una visione sintetica ma efficace dei flussi informativi tra processi, che permette di individuare le entità aggiornate da più processi, ovvero i gruppi di processi ed entità caratterizzati da alta coesione interna, chiamati in alcune metodologie Aree di business. Una simile matrice può essere prodotta collegando le Unità Organizzative e le Entità.

Processi/ Entità Entità1 Entità2 Entità3 Entità4 Entità5 Entità6 Entità7

Processo1 Crea Crea Usa Processo2 Usa Usa Crea Usa Processo3 Usa Aggiorna Usa Crea Processo4 Usa Crea Processo5 Crea Crea Usa

Figura 17 - Matrice Processi/Entità

Esempio Negli anni 1993–1995 l’AIPA ha condotto una rilevazione dello stato dei sistemi informativi della Pubblica Amministrazione centrale che ha portato a costruire circa 260 schemi concettuali delle principali basi di dati, con circa 4200 entità e relazioni rappresentate. Tali schemi sono stati successivamente raggruppati secondo criteri di omogeneità di materia in 31 diverse aree (vedi figura 17): protocollo, organi collegiali, fisco, dogane, ecc., producendo per ciascuna area uno schema concettuale. Tale schema concettuale è il risultato della integrazione di tutti gli schemi di partenza che appartengono alla stessa area, e di una successiva attività di selezione delle macroentità principali dello schema integrato. La scelta delle aree è stata effettuata secondo criteri di similitudine degli schemi, e come conseguenza la numerosità degli schemi che sono ricaduti in ciascuna area (riportata in figura insieme al numero delle entità) è molto disomogenea. A questo punto i 31 schemi concettuali di area sono stati ulteriormente integrati in 19 schemi di materia, ove le materie sono state scelte sulla base di classificazioni esistenti

Page 25: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

25

nella Pubblica Amministrazione: risorse di supporto, risorse finanziarie, giustizia, sicurezza, ecc. Per ciascuna materia, è stato costruito uno schema concettuale secondo i due procedimenti di integrazione e scelta delle macroentità principali. Tale procedimento è stato utilizzato per costruire gli ulteriori schemi integrati corrispondenti ai servizi sociali ed economici, ai servizi generali, i servizi diretti, raggruppati successivamente in un unico schema dei servizi, che insieme allo schema delle risorse è stato infine integrato in quello che possiamo definire lo Schema di organizzazione della Pubblica Amministrazione, rappresentato a tre diversi livelli di aggregazione.

TR

ASF

ER

IME

NT

O F

ON

DI

A

EN

TI

LO

CA

LI

PE

R E

NT

I P

UIB

BL

ICI

CA

PIT

OL

I D

I SP

ESA

TRASPORTI COMUNICAZIONIPRODUZIONELAVOROCULTURAEDILIZIA

AMBIENTEISTRUZIONESANITA'SICUREZZA GIUSTIZIADIFESAAFFARI ESTERI

ASSICURAZIO- NE SOCIALE

CERTIFICA- ZIONE

SERVIZI SOCIALI E TERRITORIALI

STATISTICARISORSE DI SUPPORTO

RISORSE FINANZIARIE

RISORSE STRUMENTALI E IMMOBILIARI

RISORSE UMANE

PRO

TO

CO

LL

O

OR

GA

NI

CO

LL

EG

IAL

I

FISC

O

DO

GA

NE

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 1° LIVELLO

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 2° LIVELLO

SCHEMA INTEGRATO DELLE BASI DI DATI DELLA PA DI 3° LIVELLO

RISORSE SERVIZI

SERVIZI GENERALI SERVIZI DIRETTISERVIZI SOCIALI ED ECONOMICI

STR

UM

EN

TI

AU

TO

ME

ZZ

I

BE

NI

IMM

OB

ILI

DIP

EN

DE

NT

I

FOR

MA

ZIO

NE

RA

PP

RE

SEN

TA

NZ

E

EN

TI

TE

RR

ITO

RIA

LI

CE

RT

IFIC

AZ

ION

I

CA

TA

STO

PR

EV

IDE

NZ

A

RE

LA

ZIO

NI

EST

ER

E I

N I

TA

LIA

RE

LA

ZIO

NI

ITA

LIA

NE

AL

L' E

STE

RO

AT

TIV

ITA

' GIU

RID

ICA

CR

IMIN

AL

ITA

'

SIC

UR

EZ

ZA

IN

TE

RN

A

ASS

IST

EN

ZA

SER

VIZ

IO S

AN

ITA

RIO

IST

RU

ZIO

NE

AM

BIE

NT

E

BE

NI

CU

LT

UR

AL

I

LA

VO

RO

AZ

IEN

DE

AG

RIC

OL

E

AZ

IEN

DE

IN

DU

STR

AL

I

TR

ASP

OR

TI

SERVIZI SOCIALI SERVIZI ECONOMICI

2/93

2/12

8/29

3

6/69

3/18

2

3/30

2/89

3/59

2/65

37/3

36

3/75

6/95

4/12

1 3/66

9/11

8

4/36

6/53 10

/76

6/76

6/13

0

5/56

6/15

5

3/13

4

8/21

3

10/1

00

9/11

8

3/53

9/11

2

10/1

78

Figura 18 - Le attività per la produzione degli schemi concettuali della Pubblica Amministrazione

Riportiamo in figura lo schema più astratto, in cui comp aiono le entità: • Soggetto, cui corrispondono i soggetti fisici e giuridici che chiedono servizi alla

Pubblica amministrazione. • Bene, che corrisponde all’insieme dei Beni mobili e Immobili su cui la Pubblica

Amministrazione ha responsabilità ed eroga servizi. • Documento, che corrisponde all’insieme dei documenti che la Pubblica

Amministrazione utilizza e produce nei processi amministrativi. • Riferimento Territoriale, costituito dall’insieme di tutte le modalità

amministrative e geografiche con cui è possibile descrivere il territorio (es, comune, provincia, particella catastale, ecc.).

• Unità Organizzativa, che descrive tutte le suddivisioni organizzative in cui si articola la Pubblica Amministrazione centrale (ministeri, direzioni generali, divisioni, uffici, unità periferiche).

Page 26: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

26

BeneSoggetto

Documento

Unitàorganizzativa

Riferimentoterritoriale

Figura 19 - Lo schema concettuale delle macroentità principali della Pubblica Amministrazione

Rappresentiamo infine in figura 20 una descrizione grafica di matrice Unità Organizzative/Entità, in cui per le entità Organizzative sono rappresentate le Pubbliche amministrazioni Centrali (descritte da acronomi, es. MF è il Ministero delle Finanze) e le entità sono la macroentità Persona Fisica e tutte quelle per cui Persona fisica è negli schemi una Generalizzazione: si vede ad esempio come moltissime siano le amministrazioni che hanno competenza amministrativa sui lavoratori. La figura è un possibile punto di partenza per procedere ad una razionalizzazione nella gestione delle informazioni sulle persone fisiche che porti alla individuazione di una o un numero limitato di amministrazioni con responsabilità di aggiornamento sulle singole sottoentità e alla creazione di una rete di accesso per tutte le amministrazioni che abbiano rilevante esigenze di utilizzo.

Persona fisica

scuola

giustizia

affari esteri

lavoro

pensioni

Salute ed assistenza

fisco

politica

vitasociale

pensionato

di guerra

invalidità civile

Ricorrente per invalidità civile

164

91

161

520

162

163MI, MT, MD

lavoratore

disoccupato

studente

autonomodipendente

detenuto

contribuente

straniero

assistitocasalinga

candidato

volontario

italiano

residente all’estero

straniero

con handicap

condannato

in attesa di giudizio

borsista

segnalato

utente anagrafetributaria

Contribuente ufficio iva

appartenente catasto

Segretario comunale

tossicodipendente

Tossicodipendente segnalato

Alla ricerca di nuova occupazione

Alla ricerca di prima occupazione

Richiedente cittadinanza

Richiedente visto

1902

4

6

7

910

1 112

1 6

182 0 2 4 252 7

353637

393 8

40

45

474 8

5 1

53

54

5 5

59

6 3

64

65

68

7172

73

7480

8 2

87

88

89

93 9697

98

101

104105

108

110

120

131137

153

160

171

165

173

174

180

501

506507

515516

526

600

603

602

650

651

653

654

663

5

1 9

52

6 6

81

86

90

92

99

111

132

136

142

170

172

531

656

MAE, MF, MGG, MI,

MIBCA, MLP, MLPS, MT,MTN, MCE,MD, MURST

MAE, MURST, MPI

MAE, MGG,MI

MAE, MI, MLPS

MF, MTMGG, MI,MIBCA , MT, MTN

MI

MI, MS

601

2 1

109

Figura 20 - Entità che ricadono nella tipologia delle persone fisiche e amministrazioni interessate alla loro

creazione, aggiornamento e utilizzo nei processi amministrativi su cui hanno competenza

Page 27: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

27

5. Uno studio di caso In questa sezione verrà discusso un caso di analisi e modellazione dei dati ispirato alla gestione del personale della pubblica amministrazione. Come vedremo, questo tema presenta allo stesso tempo degli aspetti familiari ed intuitivi insieme ad aspetti di una certa complessità e problematicità.

5.1. Introduzione

L’ambito informativo di cui ci vogliamo occupare è stato oggetto di innumerevoli analisi in conseguenza della sua evidente centralità sociale e politica. Le recenti norme sul pubblico impiego, ad esempio la legge 421/1992 e il decreto legislativo 29/1993, hanno affrontato finalità di razionalizzazione della gestione e di contenimento della spesa che non possono evidentemente prescindere dalla disponibilità di migliori strumenti informatici e quindi di un’analisi approfondita della realtà. A questo fine la Presidenza del Consiglio dei Ministri ha dato impulso a diverse attività realizzative e di studio, e l’Autorità per l’Informatica nella Pubblica Amministrazione ha curato tra l’altro una rilevazione delle funzioni di amministrazione del personale e uno studio delle basi di dati del personale nella pubblica amministrazione. Alcuni dati possono fare intuire le dimensioni di questo ambito di analisi. Come è noto, della gestione del trattamento economico del personale pubblico è investito istituzionalmente il Ministero del Tesoro, e precisamente la Ragioneria Generale dello Stato per quanto riguarda circa 60.000 dipendenti degli uffici centrali e la Direzione Generale dei Servizi Periferici per circa 1.300.000 dipendenti degli uffici periferici. Anche le singole amministrazioni però gestiscono talvolta parte delle stesse informazioni, e in ogni caso devono gestire molte altre informazioni non di competenza del Ministero del Tesoro. Nel complesso sono utilizzate a questi fini non meno di 37 basi di dati che presentano un’enorme varietà di copertura dei dati e delle funzioni effettivamente presenti rispetto a quelle desiderabili. Le origini di questa situazione sono facilmente riconducibili alla naturale autonomia delle singole amministrazioni, alla loro diversa consistenza in termini di personale, e alla lunga storia dei sistemi per la gestione del personale, storicamente tra i primi ad essere stati automatizzati e poi informatizzati. Per dare un’idea della complessità funzionale insita nella gestione del personale della pubblica amministrazione, si può notare che la rilevazione appena citata ha identificato, limitatamente al comparto dei ministeri, ben 150 funzioni elementari, suddivise in tre livelli di aggregazione, che possono essere visti come una sorta di modello funzionale di riferimento. Al livello più alto sono state distinte otto macrofunzioni: 1. gestione delle presenze ed assenze 2. acquisizione del personale e cessazione del rapporto di lavoro 3. sviluppi professionali e modificazione del rapporto 4. trattamento economico di servizio 5. trattamento di previdenza e di quiescenza; infermità e causa di servizio 6. contenzioso e disciplina

Page 28: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

28

7. formazione del personale 8. funzioni accessorie Ciascuna delle 150 funzioni elementari identificate al livello di maggiore dettaglio, invece, deve la propria esistenza ad una lista di disposizioni normative che ne regola lo svolgimento. Per fare solo alcuni esempi, sono considerate funzioni elementari la gestione • del trattamento economico di missione (regolato dalla legge 836/1973), • dei ricorsi amministrativi straordinari presso il Presidente della Repubblica (quattro

riferimenti normativi a partire dal regio decreto 1054/1924), • della liquidazione dell’indennità di rischio per centralinisti non vedenti (legge

113/1985), • delle assenze per incarichi di direzione presso aziende sanitarie locali (decreto

legislativo 502/1992). Quando i requisiti di un sistema sono il risultato di una stratificazione durata molti decenni, come in questo caso, non può stupire che anche gli archivi, da quelli cartacei alle basi di dati, soffrano di disorganicità. Lo studio sulle basi di dati del personale ha evidenziato infatti come alcune amministrazioni, soprattutto nel passato, abbiano gestito fino a dieci basi di dati diverse al proprio personale, spesso dedicando una specifica base di dati alla gestione di un aspetto minore, ad esempio le donazioni volontarie di sangue dei dipendenti.

5.2. Raccolta dei requisiti Soprattutto in un ambito così complesso, l’analisi dei dati non può partire che da una descrizione testuale delle attività e delle funzioni di gestione del personale, che potrà presentare inizialmente carattere di incompletezza e di incoerenza. Come si è visto, parte integrante dei requisiti è l’intero corpo normativo che regola il settore del pubblico impiego, e che comprende molte decine di testi di interpretazione talvolta non immediata. Per il nostro scopo, ci limiteremo qui a considerare i requisiti fondamentali, già anticipati in precedenza. Un sistema informativo del personale della pubblica amministrazione deve gestire tutte gli aspetti riassunti dalle macrofunzioni elencate precedentemente e che risultano dalle norme vigenti (leggi, regolamenti, contratti collettivi eccetera). Questa formulazione dei requisiti ha una prima conseguenza niente affatto banale: il sistema informativo del personale della pubblica amministrazione è regolato da requisiti normativi in parte comuni a tutte le amministrazioni, e quindi la sua realizzazione attuale, come insieme debolmente coordinato di sistemi informativi eterogenei, è da riguardarsi come accidentale. Alcune delle funzioni del sistema del personale, solitamente indicate come funzioni “di governo” e che comprendono ad esempio la pianificazione delle assunzioni o l’elaborazione del conto annuale, oppure la definizione di indirizzi strategici nella formazione del personale, indicano chiaramente la natura “unitaria” di tale sistema informativo, pur nel rispetto dei confini di responsabilità di

Page 29: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

29

ciascuna amministrazione. Si tratta quindi di un buon esempio di sviluppo “a pelle di leopardo” di un sistema informativo. Ricordando quanto detto nella sezione 3 sulla progettazione dei dati, possiamo ora applicare i due procedimenti top-down e bottom-up e sottoporre a verifiche di coerenza e di completezza gli schemi di dati via via disegnati. Nel nostro caso, in considerazione del materiale a nostra disposizione rappresentato dagli studi specifici condotti sull’argomento, faremo un esempio di applicazione del procedimento top-down. L’obiettivo finale sarà un modello dei dati “unitario” che possa rappresentare i dati relativi a tutte le funzioni identificate dallo studio citato, e rispetto al quale sia anche possibile valutare il grado di copertura e di integrazione dei sistemi del personale di ciascuna amministrazione. Accenneremo anche al procedimento bottom-up che ha condotto allo schema unitario del personale. Analogamente, facendo riferimento alla sezione 4, esamineremo ulteriori usi degli schemi di dati nei sistemi informativi.

5.3. Modellazione dei dati e raffinamento di schemi

Partiamo da un primo schema il cui scopo è delimitare in modo chiaro l’ambito informativo. Lo schema contiene un solo oggetto, l’entità “lavoratore dipendente pubblico”.

Lavoratore dipendentepubblico

Figura 21 - Entità iniziale

Per definire meglio questa entità da un punto di vista intensionale è possibile ora aggiungere i primi attributi. Notare che a questo stadio tutti i dati rilevanti devono necessariamente comparire come attributi dell’unica entità, e ciò può rendere illeggibile lo schema. È quindi conveniente procedere gradualmente prima al raffinamento del modello e poi all’arricchimento delle entità con i rispettivi attributi. Gli attributi identificati fin qui sono quelli indispensabili all’identificazione del lavoratore.

matricolacognome

nomedata di nascita

codice fiscale

sesso

stipendioufficio

Lavoratore dipendentepubblico

Figura 22 - Attributi iniziali dell'entità

Page 30: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

30

Passiamo a considerare alcune naturali generalizzazioni. Accade il più delle volte che l’entità che rappresenta l’ambito informativo di un sistema si trovi al centro di una catena di generalizzazioni che introduce nel modello nuove entità. Per fare un esempio, dal momento che evidentemente anche un dipendente di una azienda privata può concorrere a posti nella pubblica amministrazione, un’amministrazione che bandisce concorsi pubblici può essere tenuta a gestire dati relativi a qualifica ed anzianità di dipendenti privati. È opportuno quindi introdurre un’entità “lavoratore”, i cui attributi rappresenteranno dati su lavoratori generici, mantenendo gli attributi specifici dell’ambito di interesse nella entità “lavoratore dipendente pubblico”.

cognome

nomedata di nascita

codice fiscale

sesso

matricolastipendio

ufficio

Lavoratore dipendentepubblico

Lavoratore

Dipendente di uffici centrali Dipendente di uffici periferici

Candidato Aspirante ad impiegopubblico

Figura 23 - Gerarchia sull'entità LAVORATORE

Tra l’altro, l’introduzione di una “superentità” e la conseguente ridistribuzione degli attributi contribuisce ad una maggiore chiarezza dello schema di dati. Riprendiamo ora il procedimento top-down e aggiungiamo nuovi oggetti attorno all’entità di base. Per il momento è possibile lasciare le relazioni senza un nome, in quanto i nomi attribuiti sarebbero ancora generici ed arbitrari.

Page 31: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

31

Lavoratore dipendentepubblico

matricolacognome

nomedata di nascita

codicefiscale

sesso

Situazione familiare

Situazione amministrativa

Ufficio

Competenze e ritenute

Provvedimenti

Concorso

Figura 24 - Risultato dell'aggiunta di oggetti attorno all'entità iniziale

Per quanto riguarda le entità, alcuni degli attributi (“ufficio”, “stipendio”) vengono a chiarirsi come attributi complessi, o meglio come nuove entità e nuove relazioni collegate all’entità iniziale. Ad esempio, raffinando ulteriormente la relazione “ufficio”-“lavoratore dipendente pubblico” racchiusa nel rettangolo tratteggiato si ottiene lo schema seguente.

Page 32: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

32

Ufficio

Ufficio pagatore Ufficio gestore del personale Sede di lavoro

Sede estera

Comune

Ente o amministrazione

Ministero Ente locale Organismo scolastico

Lavoratore dipendentepubblico

matricolacognome

nomedata di nascita

codicefiscale

sesso

Richiesta di trasferimento

Figura 25 - Raffinamento di una relazione

Si può sottolineare che l’introduzione di generalizzazioni nello schema non è evidentemente il risultato di un esercizio astratto o arbitrario ma riflette piuttosto l’accrescimento della conoscenza conseguente al processo di analisi. Ad esempio, l’entità “ufficio” appare ora come vertice di una generalizzazione che permette di distinguere tra “ufficio pagatore”, “ufficio gestore” e “sede di lavoro”. Questa generalizzazione discende da una distinzione probabilmente familiare al lettore, ma soprattutto riflette differenze a livello di dati: tra gli attributi dell’entità “sede di lavoro” possiamo facilmente ipotizzare il numero degli addetti che vi lavorano, dato scarsamente pertinente per l’entità “uffico pagatore” di cui potranno forse interessare gli estremi bancari. Per fare un esempio un po’ meno intuitivo, la generalizzazione con vertice l’entità “ente o amministrazione” rispecchia alcune specificità che sconsigliano un trattamento informatico omogeneo dei trasferimenti del personale del Ministero della Pubblica Istruzione rispetto a quello degli altri ministeri e degli enti locali. Analoga considerazione si può fare per la gestione dei trasferimenti da o verso sedi di lavoro situate all’estero. Applichiamo ora il procedimento di raffinamento all’entità “competenza o ritenuta”, racchiusa in un rettangolo tratteggiato nella figura 24. L’articolazione della generalizzazione rappresentata nella figura è la più complessa tra quelle contenute nello schema dei dati unitario.

Page 33: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

33

Competenza o ritenuta

Indennità di amministrazione

Stipendio base Indennità integrativa speciale Retribuzione individuale dianzianità

Tredicesima

Straordinario

Indennità aggiunta di famiglia

Assegno ad personam Assegno codificato

Indennità di funzione

Detrazione di imposta Ritenuta extraerariale Altra competenza o ritenutaRivalutazione monetariainteressi legali

Competenza accessoriaRiduzione di stipendio perscioperi o ritardi

Arretrato Competenza fissa

Indennità di incentivazione eproduttività

Altra competenza accessoria

Incentivo alla produttività Indennità per progettofinalizzato

Indennità budget di struttura

Figura 26 - Raffinamento di un’entità

Continuando ad applicare il procedimento top-down potemmo ottenere l’intero schema di dati integrato contenuto nello studio dell’AIPA. Lo studio stesso è invece un importante applicazione del procedimento bottom-up che, partendo da 37 basi di dati e dai relativi schemi concettuali per un totale di 526 tra entità e relazioni, ha permesso di ottenere uno schema integrato contenente solo 140 oggetti (96 entità e 44 relazioni).

5.4. Schemi di dati e contenuto informativo: indici di copertura Nella sezione 4. sono stati discussi gli utilizzi degli schemi di dati diversi dalla modellazione a scopo progettuale. Questi usi sono essenzialmente legate ad una maggiore conoscenza della realtà informativa di uno o più sistemi informatici. In particolare, come abbiamo appena visto, lo studio dei sistemi informativi del personale delle pubbliche amministrazioni può essere condotto per tutti e quattro gli scopi elencati nella sezione 4. La disponibilità di uno schema integrato o di uno schema dati dell’organizzazione, sia pure limitato ad un ambito specifico come quello del personale, rende possibile misurare

Page 34: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

34

la completezza e, indirettamente, la coerenza del contenuto informativo delle basi di dati all’interno di una organizzazione complessa. Si possono introdurre due misure del grado di frammentazione informativa delle basi di dati, utilizzate nella rilevazione più volte citata. La prima misura il contenuto intensionale, cioè la “complessità” della base di dati, attraverso il numero di oggetti informatici. La seconda misura il contenuto estensionale, cioè le “dimensioni” della base di dati, attraverso il numero di occorrenze associate a ciascuna entità o relazione. La complessità delle basi di dati del personale rilevate varia da 3 oggetti (in pratica due entità e una relazione) a 68, mentre le dimensioni variano grosso modo tra il migliaio di occorrenze di diverse basi di dati minori presso molte amministrazioni e i dieci milioni di occorrenze di una grande base di dati del Ministero del Tesoro. Questi dati sono riassunti nella seguente tabella.

minimo massimo complessità (n° oggetti) 3 68 dimensioni (n° occorrenze) ~103 ~107

Figura 27 - Complessità e dimensioni delle basi di dati del personale

È possibile anche definire una semplice misura del grado di copertura delle basi di dati del personale, ottenuta dividendo il numero di oggetti rappresentati in una base di dati con il numero complessivo degli oggetti contenuti in uno schema integrato di riferimento. Ricordiamo che per oggetto intendiamo un’entità o una relazione. Nello schema finale dello studio di caso (figura 28), che contiene 43 oggetti, sono stati evidenziati i 6 oggetti presenti in uno schema dei dati di una ipotetica amministrazione. L’indice di copertura, calcolato su questo schema parziale, è pari al 14%. In realtà, lo studio AIPA contiene degli indici di copertura calcolati sull’intero schema dei dati unitario, che contiene 140 oggetti. Ciò ha permesso di classificare le basi di dati del personale esistenti presso le amministrazioni in base al loro grado di copertura, compresi tra l’11% e il 64%.

Page 35: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

35

Ufficio pagatore Ufficio gestore delpersonale

Sede di lavoro

Sede estera

Ente o amministrazione

Ministero Ente locale Organismo scolastico

Ufficio

Comune

Lavoratore dipendentepubblico

matricolcognomenome

data di codicefiscalesesso

Richiesta di trasferimento

Competenza o ritenuta

Indennità diamministrazione

Stipendio base Indennità integrativaspeciale

Retribuzione individuale dianzianità

Tredicesima

Straordinario

Indennità aggiunta difamiglia

Assegno ad personam Assegno codificato

Indennità di funzione

Detrazione di imposta Ritenuta extraerariale Altra competenza o ritenutaRivalutazione monetariainteressi legali

Competenza accessoriaRiduzione di stipendio perscioperi o ritardi

Arretrato Competenza fissa

Indennità di incentivazionee produttività

Altra competenza accessoria

Incentivo alla produttività Indennità per progettofinalizzato

Indennità budget di struttura

Figura 28 - Schema finale dello studio di caso

Page 36: 3 - 2 Linguaggi per la modellazione dei dati - DIMES Unicalsi.deis.unical.it/~cuzzocrea/sisinfo/book/32.pdf · l’abitazione, su un insieme di analisi che può richiedere diverse

36

6. Riferimenti A. ALBANO, R. ORSINI - Basi di dati - Boringhieri Editore, Torino, 1986. P. ATZENI, C. BATINI, V. DE ANTONELLIS - La teoria relazionale dei dati - Boringhieri Editore, Torino, 1986. C. BATINI, S. CERI , S.B.NAVATHE – Conceptual Database Design: An Entity Relationship Approach - Benjamin & Cummings, 1991. C. BATINI, G. DE PETRA, M. LENZERINI, G. SANTUCCI - La progettazione concettuale dei dati - F. Angeli Editore, Milano, 1986. C. BATINI, M. LENZERINI - Basi di dati, in G. CIOFFI, V. FALZONE (a cura di) Manuale di Informatica - Calderini Editore, Bologna, seconda edizione, 1988. C. BATINI, G. LONGOBARDI, M. MAGGI - Le basi di dati del personale nella pubblica amministrazione: analisi del livello di integrazione e copertura - AIPA. R. EL MASRI, S. NAVATHE - Foundamentals of Database Systems - Benjamin and Cummings, 1989. P. NAGGAR, M. MELLONE - Progetto SIUP - Rilevazione sulle funzioni di amministrazione del personale - AIPA, 1998. J. ULLMAN - Principles of Database and Knowledge base Systems - Computer Science Press, Seconda Edizione, 1988.