1 siadb studenti
DESCRIPTION
slide delle lezioniTRANSCRIPT
SISTEMI INFORMATIVI D’AZIENDA
dott. ing. Francesco [email protected]
dott. ing. Francesco Guerraa.a. 2008/2009
2
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Metodologie e modelli per il progetto
dott. ing. Francesco Guerraa.a. 2008/2009
3
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 Guerraa.a. 2008/2009
4
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 byteI db sono condivisi: applicazioni e utenti diversi devono potereaccedere secondo opportune modalita’ a dati comuni.
Questa proprieta’ determina la riduzione della ridondanza per evitare la possibilita’ di inconsistenzeImplementazione 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 utilizzanoI 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 Guerraa.a. 2008/2009
5
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 autorizzazioneUn DBMS soddisfa ai principi di
Efficienza: capacita’ di svolgere le operazioni utilizzando un insieme di risorse accettabile per gli utentiEfficacia: capacita’ della base di dati di rendere produttive le attivita’ degli utenti.
dott. ing. Francesco Guerraa.a. 2008/2009
6
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 tabellaLe righe sono gli specifici recordLe colonne sono i campi del recordL’ordine delle righe e delle colonne e’ sostanzialmente irrilevante
dott. ing. Francesco Guerraa.a. 2008/2009
7
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
CDL MATERIA ANNO
CGIEAACGF
Sistemi informativi d’aziendaSistemi informativi d’aziendaControllo e S.I.
132
Manifesto
Docenti
Il modello dei dati
CODICE NOME
12…
Francesco GuerraTizio Caio…
dott. ing. Francesco Guerraa.a. 2008/2009
8
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 Guerraa.a. 2008/2009
9
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 memorizzazioneSchema esterno: costituisce la descrizione di una porzione della base di dati di interesse per mezzo dello schema logico.
dott. ing. Francesco Guerraa.a. 2008/2009
10
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 fisiciData Manipulation Language: sono utiulizzati per l’interrogazione e l’aggiornamento delle basi di datiData 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 interattiviComandi simili a quelli interattivi immersi in linguaggi di programmazione tradizionaliInterfacce amichevoli che permettono di sintetizzare le interrogazioni senza usare un linguaggio testuale
dott. ing. Francesco Guerraa.a. 2008/2009
11
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Riassumiamo
Un DB è una collezione di dati (ad es. rappresentati in forma di tabelle) che rappresentano le informazioni di interesse per un’organizzazioneProgettare 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 impostiUn DBMS è un sistema software che gestisce DB Per eseguire operazioni su un DB è necessario scrivere istruzioni in un linguaggio (tipicamente dichiarativo: SQL) supportato dal DBMSIl 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 Guerraa.a. 2008/2009
12
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Indipendenza fisica e logica
Tra gli obiettivi di un DBMS vi sono quelli di fornire caratteristiche di:
Indipendenza fisicaL’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 logicaPur 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 Guerraa.a. 2008/2009
13
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
La classica architettura a tre livelli di astrazione
Vista
VistaDatabase sudispositivifisiciSchema logicoLivello esterno
Livello logico Livello fisicoA livello logico si descrive la base di dati con il modello logico usato dal DBMS
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 Guerraa.a. 2008/2009
14
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 datiI progettisti e i programmatori di applicazioni: definiscono e realizzano i programmi per accedere alle basi di dati utilizzando un DMLGli utenti che possono accedere sia per compiere transazioni ripetitive e formalizzate sia delle interrogazioni non preventivabili a priori
dott. ing. Francesco Guerraa.a. 2008/2009
15
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Vantaggi e svantaggi dei DBMS
Vantaggi:I dati vengono considerati come una risorsa comune di una organizzazioneLa base di dati rappresenta un modello unificato e preciso dellaparte di mondo reale di interesse per l’organizzazioneCon il DBMS e’ possibile la gestione centralizzata dei dati che puo’ essere arricchita da forme di standardizzazione e beneficiare di economie di scalaLa condivisione permette di ridurre la ridondanza e eventuali inconsistenzeL’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 Guerraa.a. 2008/2009
16
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Introduzione alla progettazione
Studio di fattibilita’
Raccolta eanalisi requisiti
Progettazione Implemen-tazione
Validazione ecollaudo
Funzionamento
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 possibiliRaccolta e analisi dei requisiti: consiste nella individuazione e nello studio delle proprieta’ e delle funzionalita’ che il sistema informativo deve avere
dott. ing. Francesco Guerraa.a. 2008/2009
17
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 progettazioneValidazione e collaudo: si verifica il funzionamento e la corrispondenza del sistema ai requisiti di funzionamentoFunzionamento: il sistema informativo diventa operativo e eseguei 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 Guerraa.a. 2008/2009
18
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Metodologie di progettazione e basi di dati
Una metodologia di progettazione consiste generalmente in:
Una decomposizione della attivita’ in passi successivi e indipendentiUna serie di strategie da seguire e alcuni criteri di scelta nelcaso di alternativeAlcuni modelli di riferimento per descrivere i dati in ingresso/uscita
Una metodologia deve garantire:La generalita’ rispetto alle applicazioni e ai sistemi in giocoLa qualita’ del prodotto in termini di correttezza, completezza ed efficienzaLa facilita’ di uso sia delle strategie sia dei modelli di riferimento
dott. ing. Francesco Guerraa.a. 2008/2009
19
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 datiProgettazione logica: la rappresentazione precedente viene tradotta nel modello adottato dal sistema di gestione delle basidi datiProgettazione fisica: lo schema logico viene completato con la specifica dei parametri fisici di memorizzazione dei dati (organizzazione dei file).
dott. ing. Francesco Guerraa.a. 2008/2009
20
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
I modelli concettuali dei dati
dott. ing. Francesco Guerraa.a. 2008/2009
21
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Modello e schema
Modello: insieme di regole e strutture che permette la rappresentazione della realta’ di interesseSchema: rappresentazione di una specifica realta’ secondo un determinato modello
Modello
Schema
Realta’ Percepita
dott. ing. Francesco Guerraa.a. 2008/2009
22
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 Guerraa.a. 2008/2009
23
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 Guerraa.a. 2008/2009
24
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Il modello Entita’-Relazione
I costrutti del modello E/R e la loro rappresentazionegrafica
I costrutti del modello E/R e la loro rappresentazionegrafica
dott. ing. Francesco Guerraa.a. 2008/2009
25
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 documentativoPossono essere utilizzati per descrivere i dati di un sistema informativo gia’ esistente con un linguaggio astratto e unificanteGli schemi E/R possono servire a comprendere in caso di modifica dei requisiti di una applicazione su quali porzioni delsistema si deve operare e in cosa consistono le modifiche da effettuare
dott. ing. Francesco Guerraa.a. 2008/2009
26
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
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 dbIl tipo di rappresentazione ammessoIl responsabile per l’aggiornamentoLe 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 Guerraa.a. 2008/2009
27
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Esempio di documentazione
Entita’ Descrizione Attributi Identificatore
Impiegato Impiegato che lavora nell’azienda Codice, cognome, stipendio, eta
Codice
Progetto Progetti aziendali sui quali lavorano gli impiegati
Nome, budget, data di consegna
Nome
Dipartimento Dipartimenti delle sedi dell’azienda
Telefono, nome Nome, sede
Sede Sede dell’azienda in una certa citta’
Citta’, indirizzo (numero, via, cap)
Citta’
Associazione Descrizione Entita’ Attributi
Direzione Associa un dipartimento al suo direttore
Impiegato (0,1), Dipartimento (1,1)
Afferenza Associa un impiegato al suo dipartimento
Impiegato (0,1), Dipartimento (1,N)
Data di afferenza
Partecipazione Associa agli impiegati i progetti su cui lavorano
Impiegato (0,N), Progetto (1,N)
Data inizio
Composizione Associa una sede ai dipartimenti di cui e’ composta
Dipartimento (1,1), Sede (1,N)
28
Esercizio: spettacoli estiviEsercizio: spettacoli estivi
Si vogliono rappresentare informazioni relative alla gestionedi 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 indicarenecessariamente un altro artista che lo sostituisca in caso diindisponibilità; 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 massimotre spettacoli, sia della stessa manifestazione che di manifestazionidifferenti.
Si disegni il modello concettuale del dominio descritto utilizzando il formalismo E/R.
esercizio 1
29
Determinazione concetti Determinazione concetti fondamentalifondamentali
Entità
MANIFESTAZIONE SPETTACOLOARTISTALUOGO
Associazioni
CONSISTE Associazione binaria MANIFESTAZIONE- SPETTACOLOOSPITA Associazione binaria SPETTACOLO-LUOGOESIBIZIONE Associazione binaria ARTISTA-SPETTACOLO
esercizio 1
30
Schema scheletroSchema scheletro
MANIFEST. SPETTACOLO
LUOGO ARTISTA
CONSISTE
OSPITA
ESIBIZIONE
esercizio 1
31
SVILUPPO ASSOCIAZIONE SVILUPPO ASSOCIAZIONE MANIFESTAZIONEMANIFESTAZIONE--SPETTACOLOSPETTACOLO
CONSISTE
MANIFEST. SPETTACOLO
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)
Codice NomeNumero
Orainizio
(2,N) (1,1)
esercizio 1
32
SVILUPPO ASSOCIAZIONE SVILUPPO ASSOCIAZIONE SPETTACOLOSPETTACOLO--LUOGO (LUOGO (non non
correttacorretta))
OSPITA
SPETTACOLO LUOGO
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
NumeroOra-inizio
Nome Indirizzo
(1,1) (0,3)
esercizio 1
33
SVILUPPO ASSOCIAZIONE SVILUPPO ASSOCIAZIONE SPETTACOLOSPETTACOLO--LUOGO (LUOGO (correttacorretta))
Si introduce una nuova entitàDISPONIBILITA’ che indica la disponibilità in un certo luogo di ospitare in una certa data uno spettacolo.
OSPITA
SPETTACOLO
LUOGO
Numero Ora-inizio
Nome
Indirizzo
(0,N) (1,1)DISPONIBILITAHA
(1,1)
(0,3)
Dataesercizio 1
34
SVILUPPO ASSOCIAZIONE SVILUPPO ASSOCIAZIONE SPETTACOLOSPETTACOLO--ARTISTAARTISTA
ESIBIZIONE
SPETTACOLO ARTISTA
Numero
Ora-inizio
Codice-SIAENome-arte
(1,N) (0,N)
Compenso
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
35
SVILUPPO ASSOCIAZIONE UNARIA SVILUPPO ASSOCIAZIONE UNARIA ARTISTAARTISTA--ARTISTAARTISTA
SOSTITUISCE ARTISTA
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)
Codice-SIAE
Nome-arte(1,1)
Sostituito
(0,N)Sostituto
esercizio 1
36
SCHEMA E/RSCHEMA E/R
CONSISTE
MANIFEST. SPETTACOLO
CodiceNome
Ora-inizio
(2,N) (1,1)
OSPITA
LUOGO
Nome
Indirizzo
(0,N)
(1,1)
DISPONIBILITA’HA
(1,1)
(0,3)
Data
ESIBIZIONE
ARTISTA
(1,N)
Compenso
(1,1)
Numero
(0,N)
SOSTIT.
Sostituito Sostituto
(1,1)
(0,N)
codice-SIAE
nome-arte
esercizio 1
dott. ing. Francesco Guerraa.a. 2008/2009
37
SIS
TEM
I IN
FORM
ATIV
I D
’AZIE
ND
A
1 DB
Bibliografia
Atzeni, Ceri, Paraboschi, Torlone: Basi di dati: Modelli e linguaggi di interrogazione, McGraw-HillBeneventano, Bergamaschi, Guerra, Vincini: Progetto di basi di dati relazionali, Pitagora Editrice Bologna, 2007