1 siadb studenti

37
SISTEMI INFORMATIVI D’AZIENDA dott. ing. Francesco Guerra [email protected]

Upload: majong-devjfu

Post on 07-Dec-2014

869 views

Category:

Business


0 download

DESCRIPTION

slide delle lezioni

TRANSCRIPT

Page 1: 1 Siadb Studenti

SISTEMI INFORMATIVI D’AZIENDA

dott. ing. Francesco [email protected]

Page 2: 1 Siadb Studenti

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

Page 3: 1 Siadb Studenti

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.

Page 4: 1 Siadb Studenti

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

Page 5: 1 Siadb Studenti

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.

Page 6: 1 Siadb Studenti

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

Page 7: 1 Siadb Studenti

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…

Page 8: 1 Siadb Studenti

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

Page 9: 1 Siadb Studenti

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.

Page 10: 1 Siadb Studenti

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

Page 11: 1 Siadb Studenti

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

Page 12: 1 Siadb Studenti

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…

Page 13: 1 Siadb Studenti

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

Page 14: 1 Siadb Studenti

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

Page 15: 1 Siadb Studenti

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)

Page 16: 1 Siadb Studenti

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

Page 17: 1 Siadb Studenti

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

Page 18: 1 Siadb Studenti

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

Page 19: 1 Siadb Studenti

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

Page 20: 1 Siadb Studenti

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

Page 21: 1 Siadb Studenti

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

Page 22: 1 Siadb Studenti

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)

Page 23: 1 Siadb Studenti

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

Page 24: 1 Siadb Studenti

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

Page 25: 1 Siadb Studenti

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

Page 26: 1 Siadb Studenti

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)

Page 27: 1 Siadb Studenti

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)

Page 28: 1 Siadb Studenti

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

Page 29: 1 Siadb Studenti

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

Page 30: 1 Siadb Studenti

30

Schema scheletroSchema scheletro

MANIFEST. SPETTACOLO

LUOGO ARTISTA

CONSISTE

OSPITA

ESIBIZIONE

esercizio 1

Page 31: 1 Siadb Studenti

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

Page 32: 1 Siadb Studenti

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

Page 33: 1 Siadb Studenti

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

Page 34: 1 Siadb Studenti

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

Page 35: 1 Siadb Studenti

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

Page 36: 1 Siadb Studenti

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

Page 37: 1 Siadb Studenti

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