1 Siadb Studenti
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

1 Siadb Studenti

on

  • 831 views

slide delle lezioni

slide delle lezioni

Statistics

Views

Total Views
831
Views on SlideShare
831
Embed Views
0

Actions

Likes
1
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

1 Siadb Studenti Presentation Transcript

  • 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
  • 20. SISTEMI INFORMATIVI D’AZIENDA I modelli concettuali dei dati dott. ing. Francesco Guerra 20 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
  • 29. Determinazione concetti fondamentali Entità MANIFESTAZIONE SPETTACOLO ARTISTA LUOGO Associazioni CONSISTE Associazione binaria MANIFESTAZIONE- SPETTACOLO OSPITA Associazione binaria SPETTACOLO-LUOGO ESIBIZIONE Associazione binaria ARTISTA-SPETTACOLO esercizio 1 29
  • 30. Schema scheletro MANIFEST. SPETTACOLO CONSISTE ESIBIZIONE OSPITA LUOGO ARTISTA esercizio 1 30
  • 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