1. SISTEMI INFORMATIVI
D’AZIENDA
dott. ing. Francesco Guerra
guerra.francesco@unimo.it
2. SISTEMI INFORMATIVI D’AZIENDA
Metodologie e modelli per il progetto
dott. ing. Francesco Guerra 2
a.a. 2008/2009
1 DB
3. SISTEMI INFORMATIVI D’AZIENDA
DB e DBMS
L’attenzione alle basi di dati ha caratterizzato le applicazioni
informatiche fino dalle origini: i primi software risalgono
agli anni ’60.
Molte applicazioni scritte con il linguaggio COBOL sono tuttora
utilizzate anche se si devono ritenere come applicazioni legacy
L’approccio convenzionale sfrutta la presenza di archivi per
memorizzare i dati in modo persistente sulla memoria di
massa.
Un file fornisce solo semplici meccanismi di accesso e di
condivisione
Un sistema di gestione di basi di dati (DBMS-Data Base
Management System) e’ un sistema software per gestire
grandi quantita’ di dati grandi condivise e persistenti,
assicurando affidabilita’ e privatezza.
dott. ing. Francesco Guerra 3
a.a. 2008/2009
1 DB
4. SISTEMI INFORMATIVI D’AZIENDA
DB e DBMS
Le basi di dati sono grandi nel senso che possono contenere
Terabyte di dati. Devono essere scalabili perche’ gli archivi
possono essere anche di poche migliaia di byte
I db sono condivisi: applicazioni e utenti diversi devono potere
accedere secondo opportune modalita’ a dati comuni.
Questa proprieta’ determina la riduzione della ridondanza per
evitare la possibilita’ di inconsistenze
Implementazione di un sistema di controllo di concorrenza
Le basi di dati sono persistenti: il loro tempo di vita non e’
limitato a quelle delle esecuzione degli applicativi che le
utilizzano
I DBMS garantiscono affidabilita’: capacita’ di conservare il
contenuto di un database in caso di malfunzionamento
Implementazione di specifiche funzionlita’ di backup e recovery
dott. ing. Francesco Guerra 4
a.a. 2008/2009
1 DB
5. SISTEMI INFORMATIVI D’AZIENDA
DB e DBMS
I DBMS garantiscono la privatezza dei dati: ciascun utente
e’ riconosciuto mediante un account e viene abilitato a
svolgere solo determinate azioni sulla base di meccanismi
di autorizzazione
Un DBMS soddisfa ai principi di
Efficienza: capacita’ di svolgere le operazioni utilizzando un
insieme di risorse accettabile per gli utenti
Efficacia: capacita’ della base di dati di rendere produttive le
attivita’ degli utenti.
dott. ing. Francesco Guerra 5
a.a. 2008/2009
1 DB
6. SISTEMI INFORMATIVI D’AZIENDA
Modelli di dati
Un modello di dati e’ un insieme di concetti utilizzati per
organizzare i dati di interesse e descriverne la struttura in
modo che sia comprensibile a un elaboratore
Ogni modello dati fornisce dei meccanismi di strutturazione.
Il modello relazionale dei dati – il piu’ diffuso – permette di
definire nuovi tipi di dato sulla base del costruttore
relazione: un insieme di record a struttura fissa
La relazione e’ rappresentabile mediante una tabella
Le righe sono gli specifici record
Le colonne sono i campi del record
L’ordine delle righe e delle colonne e’ sostanzialmente irrilevante
dott. ing. Francesco Guerra 6
a.a. 2008/2009
1 DB
7. SISTEMI INFORMATIVI D’AZIENDA
Il modello dei dati
Docenti
CODICE NOME
1 Francesco Guerra
2 Tizio Caio
… …
Manifesto
CDL MATERIA ANNO
CGI Sistemi informativi d’azienda 1
EA Sistemi informativi d’azienda 3
ACGF Controllo e S.I. 2
dott. ing. Francesco Guerra 7
a.a. 2008/2009
1 DB
8. SISTEMI INFORMATIVI D’AZIENDA
Schemi e Istanze
Le basi di dati si compongono di due parti:
Una parte invariante nel tempo detta schema della base di dati
che descrive le caratteristiche dei dati
E’ la componente intensionale
Una parte variabile costituita dai valori effettivi degli elementi
rappresentati.
E’ la componente estensionale
dott. ing. Francesco Guerra 8
a.a. 2008/2009
1 DB
9. SISTEMI INFORMATIVI D’AZIENDA
Livelli di astrazione nei DBMS
Esiste una proposta standardizzata di architettura per
DBMS articolata su 3 livelli (esterno, logico e interno) per
ciascuno dei quali esiste uno schema:
Schema logico: e’ lo schema della intera base di dati per
mezzo del modello logico adottato dal DBMS (relazionale,
gerarchico, reticolare, ad oggetti, …)
Schema interno: si tratta della rappresentazione dello schema
logico per mezzo delle strutture di memorizzazione
Schema esterno: costituisce la descrizione di una porzione
della base di dati di interesse per mezzo dello schema logico.
dott. ing. Francesco Guerra 9
a.a. 2008/2009
1 DB
10. SISTEMI INFORMATIVI D’AZIENDA
Linguaggi per basi di dati
I linguaggi per basi di dati si dividono in tre tipologie:
Data Definition Language: servono per specificare gli schemi
logici esterni e fisici
Data Manipulation Language: sono utiulizzati per
l’interrogazione e l’aggiornamento delle basi di dati
Data Control Language: sono i comandi per la gestione degli
utenti e la specificazione dei privilegi di accesso
I dati possono essere consultati mediante:
Linguaggi testuali interattivi
Comandi simili a quelli interattivi immersi in linguaggi di
programmazione tradizionali
Interfacce amichevoli che permettono di sintetizzare le
interrogazioni senza usare un linguaggio testuale
dott. ing. Francesco Guerra 10
a.a. 2008/2009
1 DB
11. SISTEMI INFORMATIVI D’AZIENDA
Riassumiamo
Un DB è una collezione di dati (ad es. rappresentati in
forma di tabelle) che rappresentano le informazioni di
interesse per un’organizzazione
Progettare un DB significa trovare un “buon modo” per
strutturare i dati, che rispetti sia i requisiti propri del
Sistema Informativo dell’organizzazione sia i vincoli che sui
dati vengono imposti
Un DBMS è un sistema software che gestisce DB
Per eseguire operazioni su un DB è necessario scrivere
istruzioni in un linguaggio (tipicamente dichiarativo: SQL)
supportato dal DBMS
Il modo specifico con cui un’istruzione viene eseguita è
scelto dal modulo ottimizzatore del DBMS sulla base di
considerazioni di efficienza e considerando quali sono gli
operatori e i metodi di accesso disponibili
dott. ing. Francesco Guerra 11
a.a. 2008/2009
1 DB
12. SISTEMI INFORMATIVI D’AZIENDA
Indipendenza fisica e logica
Tra gli obiettivi di un DBMS vi sono quelli di fornire
caratteristiche di:
Indipendenza fisica
L’organizzazione fisica dei dati dipende da considerazioni
legate all’efficienza delle organizzazioni adottate. La
riorganizzazione fisica dei dati non deve comportare
effetti collaterali sui programmi applicativi
Indipendenza logica
Pur in presenza di uno schema logico integrato non è
utile o conveniente che ogni utente ne abbia una visione
uniforme
La soluzione porta a quella che è comunemente nota
come…
dott. ing. Francesco Guerra 12
a.a. 2008/2009
1 DB
13. SISTEMI INFORMATIVI D’AZIENDA
La classica architettura a
tre livelli di astrazione
Vista
Database su
Vista dispositivi
Schema logico fisici
Livello esterno
A livello logico si descrive la base di dati con il modello logico usato
dal DBMS Livello logico Livello fisico
A livello fisico si descrive il modo in cui i dati sono organizzati e
gestiti in memoria di massa (dispositivi fisici): ordinamento, scelta
dei metodi accesso
A livello esterno si descrive una parte (una vista) della base di dati
di interesse dott. ing. Francesco Guerra 13
a.a. 2008/2009
1 DB
14. SISTEMI INFORMATIVI D’AZIENDA
Utenti e progettisti
Ci sono diverse categorie di operatori che lavorano con le
basi di dati:
L’amministratore delle basi di dati (DBA): e’ il responsabile
della progettazione, controllo e amministrazione della base di
dati
I progettisti e i programmatori di applicazioni: definiscono e
realizzano i programmi per accedere alle basi di dati
utilizzando un DML
Gli utenti che possono accedere sia per compiere transazioni
ripetitive e formalizzate sia delle interrogazioni non
preventivabili a priori
dott. ing. Francesco Guerra 14
a.a. 2008/2009
1 DB
15. SISTEMI INFORMATIVI D’AZIENDA
Vantaggi e svantaggi dei DBMS
Vantaggi:
I dati vengono considerati come una risorsa comune di una
organizzazione
La base di dati rappresenta un modello unificato e preciso della
parte di mondo reale di interesse per l’organizzazione
Con il DBMS e’ possibile la gestione centralizzata dei dati che
puo’ essere arricchita da forme di standardizzazione e
beneficiare di economie di scala
La condivisione permette di ridurre la ridondanza e eventuali
inconsistenze
L’indipendenza dei dati favorisce lo sviluppo di applicazioni
flessibili e facilmente modificabili
Svantaggi:
I DBMS sono prodotti costosi e complessi con necessita’ di
investimenti sia diretti sia indiretti (personale di
manutenzione)
dott. ing. Francesco Guerra 15
a.a. 2008/2009
1 DB
16. SISTEMI INFORMATIVI D’AZIENDA
Introduzione alla progettazione
Studio di Raccolta e Implemen- Validazione e
Progettazione Funzionamento
fattibilita’ analisi requisiti tazione collaudo
La progettazione di una base di dati costituisce solo una
delle componenti del processo di sviluppo di un sistema
informativo complesso:
Va inquadrata nel ciclo di vita dei sistemi informativi:
Studio di fattibilita’:serve a definire i costi delle varie alternative
possibili
Raccolta e analisi dei requisiti: consiste nella individuazione e nello
studio delle proprieta’ e delle funzionalita’ che il sistema
informativo deve avere
dott. ing. Francesco Guerra 16
a.a. 2008/2009
1 DB
17. SISTEMI INFORMATIVI D’AZIENDA
Introduzione alla progettazione
Progettazione: si divide in progettazione di dati (per individuare la
struttura e l’organizzazione che i dati devono avere) e
progettazione delle applicazioni (si definiscono le caratteristiche
dei programmi applicativi).
Implementazione: consiste nella effettiva realizzazione del sistema
informativo seguendo la struttura e le caratteristiche definite nella
progettazione
Validazione e collaudo: si verifica il funzionamento e la
corrispondenza del sistema ai requisiti di funzionamento
Funzionamento: il sistema informativo diventa operativo e esegue
i compiti per i quali e’ stato progettato
La metodologia puo’ anche prevedere la realizzazione di
attivita’ di prototipizzazione, ovvero nel creare delle versioni
rapide e semplificate di parti del sistema informativo allo scopo
di verificarne sul campo le funzionalita’ prima della
realizzazione definitiva della applicazione
dott. ing. Francesco Guerra 17
a.a. 2008/2009
1 DB
18. SISTEMI INFORMATIVI D’AZIENDA
Metodologie di progettazione e basi di dati
Una metodologia di progettazione consiste generalmente
in:
Una decomposizione della attivita’ in passi successivi e
indipendenti
Una serie di strategie da seguire e alcuni criteri di scelta nel
caso di alternative
Alcuni modelli di riferimento per descrivere i dati in
ingresso/uscita
Una metodologia deve garantire:
La generalita’ rispetto alle applicazioni e ai sistemi in gioco
La qualita’ del prodotto in termini di correttezza, completezza
ed efficienza
La facilita’ di uso sia delle strategie sia dei modelli di
riferimento
dott. ing. Francesco Guerra 18
a.a. 2008/2009
1 DB
19. SISTEMI INFORMATIVI D’AZIENDA
Metodologie di progettazione e basi di dati
Nell’ambito delle basi di dati si e’ consolidata una
metodologia che si articola in tre fasi in cascata:
Progettazione concettuale: lo scopo e’ quello di rappresentare
le specifiche informali della realta’ tramite una descrizione
formale e completa ma indipendente dai criteri di
rappresentazione utilizzati nei sistemi di gestione delle basi di
dati
Progettazione logica: la rappresentazione precedente viene
tradotta nel modello adottato dal sistema di gestione delle basi
di dati
Progettazione fisica: lo schema logico viene completato con la
specifica dei parametri fisici di memorizzazione dei dati
(organizzazione dei file).
dott. ing. Francesco Guerra 19
a.a. 2008/2009
1 DB
21. SISTEMI INFORMATIVI D’AZIENDA
Modello e schema
Modello: insieme di regole e strutture che permette la
rappresentazione della realta’ di interesse
Schema: rappresentazione di una specifica realta’ secondo
un determinato modello
Modello
Realta’ Percepita
Schema
dott. ing. Francesco Guerra 21
a.a. 2008/2009
1 DB
22. SISTEMI INFORMATIVI D’AZIENDA
Primitive di astrazione
Le primitive di astrazione comuni a tutti i modelli sono:
Classificazione (relazione di MEMBER_OF)
Generalizzazione (relazione di IS_A)
Aggregazione (relazione di PART_OF)
dott. ing. Francesco Guerra 22
a.a. 2008/2009
1 DB
23. SISTEMI INFORMATIVI D’AZIENDA
Il modello Entita’-Relazione
Il modello E/R e’ un modello concettuale dei dati e quindi
fornisce una serie di strutture (costrutti) per descrivere la
realta’ di interesse in una maniera facile da comprendere
che prescinde dai criteri di organizzazione dei dati nel
calcolatore
I costrutti sono utilizzati per definire schemi che descrivono
l’organizzazione e la struttura delle occorrenze dei dati (i valori
assunti dai dati al variare del tempo
Il modello e’ stato sviluppato dal Chen nel 1976
dott. ing. Francesco Guerra 23
a.a. 2008/2009
1 DB
24. SISTEMI INFORMATIVI D’AZIENDA
Il modello Entita’-Relazione
I costrutti del modello E/R
e la loro rappresentazione
grafica
I costrutti del modello E/R
e la loro rappresentazione
grafica
dott. ing. Francesco Guerra 24
a.a. 2008/2009
1 DB
25. SISTEMI INFORMATIVI D’AZIENDA
Panoramica sul modello E/R
Gli schemi E/R, pur essendo di fondamentale importanza
nella progettazione della base di dati, possono essere
utilizzati con profitto anche per attivita’ non strettamente
legate alla progettazione.
Possono essere utilizzati a scopo documentativo
Possono essere utilizzati per descrivere i dati di un sistema
informativo gia’ esistente con un linguaggio astratto e
unificante
Gli schemi E/R possono servire a comprendere in caso di
modifica dei requisiti di una applicazione su quali porzioni del
sistema si deve operare e in cosa consistono le modifiche da
effettuare
dott. ing. Francesco Guerra 25
a.a. 2008/2009
1 DB
26. SISTEMI INFORMATIVI D’AZIENDA
Tecniche di documentazione
Uno schema E/R va corredato con una documentazione di
supporto, per facilitare l’interpretazione dello schema stesso e
per descrivere proprieta’ di dati che non possono essere
espresse direttamente dai costrutti di modello.
La documentazione puo’ essere prodotta facendo uso di un
dizionario dei dati che contiene per ogni dato:
Il nome con cui ogni dato e’ definito all’interno del db
Il tipo di rappresentazione ammesso
Il responsabile per l’aggiornamento
Le persone autorizzate per la consultazione
Possono essere prodotte anche un insieme di regole di
vincolo, e le regole di derivazione (l’operazione attraverso la
quale puo’ essere un concetto, utilizzando altre proprieta’
dello schema)
dott. ing. Francesco Guerra 26
a.a. 2008/2009
1 DB
27. SISTEMI INFORMATIVI D’AZIENDA
Esempio di documentazione
Entita’ Descrizione Attributi Identificatore
Impiegato Impiegato che lavora nell’azienda Codice, cognome, Codice
stipendio, eta
Progetto Progetti aziendali sui quali Nome, budget, Nome
lavorano gli impiegati data di consegna
Dipartimento Dipartimenti delle sedi Telefono, nome Nome, sede
dell’azienda
Sede Sede dell’azienda in una certa Citta’, indirizzo Citta’
citta’ (numero, via, cap)
Associazione Descrizione Entita’ Attributi
Direzione Associa un dipartimento al suo Impiegato (0,1),
direttore Dipartimento (1,1)
Afferenza Associa un impiegato al suo Impiegato (0,1), Data di afferenza
dipartimento Dipartimento (1,N)
Partecipazione Associa agli impiegati i progetti Impiegato (0,N), Data inizio
su cui lavorano Progetto (1,N)
Composizione Associa una sede ai dipartimenti Dipartimento (1,1),
di cui e’ composta Sede (1,N)
dott. ing. Francesco Guerra 27
a.a. 2008/2009
1 DB
28. Esercizio: spettacoli estivi
Si vogliono rappresentare informazioni relative alla gestione
di manifestazioni artistiche durante l’estate. Una manifestazione,
descritta da un codice e da un nome, consiste di due o più
spettacoli; ogni spettacolo è descritto da un numero univoco
all’interno della manifestazione nella quale è inserito e dall’ora di
inizio. Durante uno spettacolo si esibiscono uno o più artisti
(un artista si può esibire al massimo una volta durante lo stesso
spettacolo) ricevendo un certo compenso. Un artista è descritto
dal codice SIAE e dal nome d’arte. Per ogni artista si deve indicare
necessariamente un altro artista che lo sostituisca in caso di
indisponibilità; un artista può essere indicato come sostituto di più
artisti. Per ospitare gli spettacoli vengono adibiti opportuni
luoghi;inoltre, in una certa data, un luogo può ospitare al massimo
tre spettacoli, sia della stessa manifestazione che di manifestazioni
differenti.
Si disegni il modello concettuale del dominio descritto utilizzando il formalismo E/R.
esercizio 1
28
31. SVILUPPO ASSOCIAZIONE
MANIFESTAZIONE-SPETTACOLO
Numero
Codice Nome Ora
CONSISTE inizio
MANIFEST. SPETTACOLO
(2,N) (1,1)
Una manifestazione consiste di 2 o più spettacoli;
card(MANIFEST.,CONSISTE) = (2,N)
ogni spettacolo è descritto da un numero univoco all’interno
della manifestazione nella quale è inserito.
card(SPETTACOLO,CONSISTE) = (1,1)
esercizio 1
31
32. SVILUPPO ASSOCIAZIONE
SPETTACOLO-LUOGO (non
corretta)
Numero Indirizzo
Nome
Ora-inizio OSPITA
SPETTACOLO LUOGO
(1,1) (0,3)
Per ospitare gli spettacoli vengono adibiti opportuni luoghi;
inoltre, in una certa data, un luogo può ospitare al massimo 3
spettacoli, sia della stessa manifestazione che di manifestazioni
differenti.
In questo modo si vincola un luogo ad ospitare in tutto tre
spettacoli, mentre questo è valido solo per una certa data
esercizio 1
32
33. SVILUPPO ASSOCIAZIONE
SPETTACOLO-LUOGO (corretta)
Numero Ora-inizio
Si introduce una nuova entità
DISPONIBILITA’ che indica la
disponibilità in un certo luogo di
ospitare in una certa data uno SPETTACOLO
spettacolo.
(1,1)
Nome
OSPITA
Indirizzo
(0,3)
LUOGO HA DISPONIBILITA
(0,N) (1,1)
Data
esercizio 1
33
34. SVILUPPO ASSOCIAZIONE
SPETTACOLO-ARTISTA
Codice-SIAE
Numero Nome-arte
Ora-inizio Compenso
SPETTACOLO ARTISTA
(1,N) (0,N)
ESIBIZIONE
Durante uno spettacolo si esibiscono uno o più artisti (un artista
si può esibire al massimo una volta durante lo stesso
spettacolo) ricevendo un certo compenso.
card(SPETTACOLO,ESIBIZIONE) = (1,N)
card(ARTISTA,ESIBIZIONE) = (0,N)
esercizio 1
34
35. SVILUPPO ASSOCIAZIONE UNARIA
ARTISTA-ARTISTA
Sostituito Codice-SIAE
(1,1)
Nome-arte
SOSTITUISCE ARTISTA
Sostituto
(0,N)
Per ogni artista si deve indicare necessariamente un altro artista
che lo sostituisca in caso di indisponibilità; un artista può essere
indicato come sostituto di più artisti.
card(ARTISTA,SOSTITUITO) = (1,1)
card(ARTISTA,SOSTITUTO) = (0,N)
esercizio 1
35
36. SCHEMA E/R
Numero
Codice
Nome Compenso
CONSISTE Ora-inizio
ESIBIZIONE
(1,N)
MANIFEST. SPETTACOLO
(2,N) (1,1)
(1,1)
codice-SIAE (0,N)
nome-arte
Nome OSPITA
Indirizzo
ARTISTA
(0,3) (1,1)
(0,N) (1,1) Sostituito Sostituto
LUOGO HA DISPONIBILITA’
(0,N)
SOSTIT.
Data (1,1)
esercizio 1
36
37. SISTEMI INFORMATIVI D’AZIENDA
Bibliografia
Atzeni, Ceri, Paraboschi, Torlone: Basi di dati: Modelli e
linguaggi di interrogazione, McGraw-Hill
Beneventano, Bergamaschi, Guerra, Vincini: Progetto di
basi di dati relazionali, Pitagora Editrice Bologna, 2007
dott. ing. Francesco Guerra 37
a.a. 2008/2009
1 DB