Sistemi Informativi e Basi di Dati Sistemi Informativi

Anno Accademico 2010/2011
Sistemi Informativi e Basi di Dati
Corso di Laurea in Ingegneria Gestionale
Sistemi Informativi
Corso di Laurea in Ingegneria della Gestione Industriale
Prof. Domenico Beneventano
Ing. Andrea Bulgarelli
Sistemi Informativi e Basi di Dati
1
Un sistema informativo è un componente di una organizzazione il
cui scopo è gestire (acquisire, elaborare, memorizzare, produrre,
distribuire) le informazioni utili per gli scopi dell’organizzazione
stessa.
La gestione delle informazioni con strumenti informatici avviene
normalmente tramite una Base di Dati, una collezione di dati che
rappresentano le informazioni di interesse per un’organizzazione.
Sistemi Informativi e Basi di Dati
2
Sistemi Informativi - Gestione Industriale
Modalità d’esame
  Prova scritta, a fine corso (durata = 2,5 ore):
 Progettazione concettuale (13 punti)
 Progettazione logica (7 punti)
 Interrogazioni SQL (7 punti)
 Domanda «teorica» (3 punti)
 Punto facoltativo (3 punti)
 Prova orale facoltativa, dopo lo scritto
  Tratta tutti gli argomenti del corso
  Influisce sul voto finale al massimo di ± 3
  La data della prova sarà concordata con il docente
Sistemi Informativi e Basi di Dati
3
Sistemi Informativi e Basi di Dati - Gestionale
Modalità d’esame
  L’insegnamento è costituito da due “moduli” ma da un unico esame
(si registra un unico esame, con un unico voto)
  L’esame è costituito dalle seguenti prove
1.  [Sistemi Informativi] Prova scritta (obbligatoria)
2.  [Basi di Dati] Prova pratica di laboratorio (obbligatoria)
3.  Prova orale (facoltativa)
  Nella valutazione finale la prova scritta avrà un peso pari a 2/3
e
la prova pratica di laboratorio pari ad 1/3:
voto finale = (2* voto prova scritta + voto prova laboratorio)/3
  Prova scritta e Prova di laboratorio in giorni distinti
  Nessun ordine cronologico tra Prova scritta e Prova di laboratorio
  La prova orale si può sostenere alla fine della Prova di Laboratorio o
in una data concordata con il docente
Sistemi Informativi e Basi di Dati
4
Sistemi Informativi e Basi di Dati - Gestionale
Modalità d’esame
  Prova scritta, a fine corso (durata = 2,5 ore):
 Progettazione concettuale (13 punti)
 Progettazione logica (7 punti)
 Interrogazioni SQL (7 punti)
 Domanda «teorica» (3 punti)
 Punto facoltativo (3 punti)
  Prova pratica di laboratorio, a fine corso (durata = 1 ora):
 Store Procedure (15 punti)
 Trigger (15 punti)
 Prova orale facoltativa
  Tratta tutti gli argomenti del corso
  Influisce sul voto finale al massimo di ± 3
Sistemi Informativi e Basi di Dati
5
Sistemi Informativi – Gestione Industriale
Organizzazione delle Lezioni
•  6 CFU = 60 ore
•  54 Ore di lezioni ed esercitazioni in aula
–  13 settimane * 4 ore settimanali (Lunedì e Mercoledì) +
–  2 settimane * 3 ore settimanali (Venerdì)
[ include 4 ore di recupero]
(settimane II e III)
•  6 Ore di esercitazioni in laboratorio
–  3 settimane * 2 ore settimanali (Venerdì)
(settimane IV, V e VI)
Sistemi Informativi e Basi di Dati
6
Sistemi Informativi e Basi di Dati - Gestionale
Organizzazione delle Lezioni
  Modulo di Sistemi Informativi
•  6 CFU = 54 ore
•  54 Ore di lezioni ed esercitazioni in aula
–  13 settimane * 4 ore settimanali (Lunedì e Mercoledì) +
–  2 settimane * 3 ore settimanali (Venerdì)
[ include 4 ore di recupero]
(settimane II e III)
Sistemi Informativi e Basi di Dati
7
Sistemi Informativi e Basi di Dati - Gestionale
Organizzazione delle Lezioni
  Modulo di Basi di Dati
•  3 CFU = 27ore
•  6 Ore di lezioni in aula
–  2 settimane * 3 ore settimanali (Venerdì)
(settimane VII e VIII)
•  21 Ore di esercitazioni in laboratorio
–  3 settimane * 2 ore settimanali (Venerdì)
(settimana IV, V e VI)
–  5 settimane * 3 ore settimanali (Venerdì)
(ultime 5 settimane)
Sistemi Informativi e Basi di Dati
8
Materiale didattico
•  Libro di testo (copre tutte le lezioni ed esercitazioni in aula e gran
parte delle lezioni ed esercitazioni in laboratorio)
Progetto di Basi di Dati Relazionali: Lezioni ed Esercizi
Autori:
Domenico Beneventano, Sonia Bergamaschi,
Francesco Guerra, Maurizio Vincini
Editore: Pitagora Editrice - Bologna - Edizione 2007
www.dbgroup.unimo.it/librobdati/libro.html
•  Altri Esercizi (necessita di password, riportata nell’introduzione del libro)
•  Errata Corrige
•  Tutto l’altro materiale didattico necessario sarà disponibile
sia in forma cartacea (in copisteria)
che sul sito web del corso
(www.dbgroup.unimo.it/SIRE/)
Sistemi Informativi e Basi di Dati
9
Materiale didattico
•  DBMS Microsoft SQL-SERVER 2000
–  È disponibile in laboratorio
–  Verrà distribuito agli studenti - durante i primi incontri in
laboratorio oppure contattando i docenti come macchina virtuale di VIRTUALBOX
1.  Installare VIRTUALBOX ultima versione da http://www.virtualbox.org/
2.  Copiare la macchina virtuale sul proprio PC (è di circa 1.4 GB )
3.  Attivare da VIRTUALBOX la macchina virtuale
•  Uso e scopo di SQL-SERVER 2000
–  Per Sistemi Informativi :
per provare le query SQL della prova scritta
–  Per Basi di Dati:
per preparare la prova pratica di laboratorio che verrà fatta
appunto su SQL-SERVER 2000 (si deve consegnare un DB
realizzato con SQL-SERVER 2000).
Sistemi Informativi e Basi di Dati
10
Sistemi Informativi
•  Un sistema informativo è un componente di una organizzazione il
cui scopo è gestire (acquisire, elaborare, memorizzare, produrre,
distribuire) le informazioni utili per gli scopi dell’organizzazione
stessa.
•  L’informazione è un bene a valore crescente, necessario per
pianificare e controllare con efficacia le attività dell’organizzazione,
e rappresenta la materia prima che viene trasformata dai sistemi
informativi
•  Possibili approcci ai Sistemi Informativi:
–  Tecnico: Modelli, strumenti e metodologie per progettare e usare Sistemi
Informativi
–  Comportamentale: influenza dei Sistemi Informativi sulle organizzazioni e gli
individui
–  Economico: Valutazioni di efficacia e convenienza economica
Sistemi Informativi e Basi di Dati
11
Sistema Informativo e Sistema Informatico
•  L’esistenza del Sistema Informativo è in parte indipendente
dalla sua automazione tramite strumenti propri della tecnologia
dell’informazione
•  La parte automatizzata di un Sistema Informativo viene
chiamata Sistema Informatico
Sistema Informativo
Sistema Informatico
Sistemi Informativi e Basi di Dati
12
Informazioni e Dati
•  Nei Sistemi Informatici le informazioni vengono rappresentate
per mezzo di dati, che hanno bisogno di essere interpretati per
fornire informazioni
Dati :
"Mario Rossi" e 0898932989
Informazioni :
Il numero di telefono di Mario Rossi è 0898932989
Sistemi Informativi e Basi di Dati
13
Base di Dati (DataBase)
•  Una Base di Dati è una collezione di dati utilizzati per rappresentare
le informazioni di interesse per un Sistema Informativo.
•  Un DBMS (Data Base Management System) è un sistema software
in grado di gestire collezioni di dati grandi, condivise e persistenti,
assicurando la loro affidabilità e privatezza.
•  Una Base di Dati è una collezione di dati gestita da un DBMS.
Sistema Informativo
Sistema Informatico
DBMS
BASE DI DATI
Sistemi Informativi e Basi di Dati
14
File System
•  Un file è una collezione di dati che risiede su un dispositivo di
memoria esterna ed è strutturata in accordo ai requisiti di
un'applicazione.
–  Un File System fornisce solo semplici meccanismi di accesso e
condivisione
Emissione
fatture
Inserimento
Ordini
Registro
fatture
Indirizzo
Cliente
Anagrafe
clienti
Indirizzo
Cliente
Ordini
Indirizzo
Cliente
Fatture
La ripetizione dell'indirizzo del cliente consente alle applicazioni
Registro fatture e inserimento ordini di operare allo stesso tempo
Sistemi Informativi e Basi di Dati
15
DBMS vs File System
•  La gestione delle informazioni è centralizzata in una rappresentazione
integrata e non ridondante
Emissione
fatture
Indirizzo
cliente
Inserimento
Ordini
Anagrafe
clienti
DBMS
Ordini
Registro
fatture
Fatture
Una granularita' piu' fine consente l'uso condiviso della
risorsa indirizzo cliente
Sistemi Informativi e Basi di Dati
16
Pecularietà dei DBMS
•  Gestione di grandi moli di dati persistenti
•  Gestione della condivisione tra diversi utenti ed applicazioni
gestione delle transazioni
•  Garantisce la affidabilità dei dati, cioè la capacità di ripristino a fronte
di malfunzionamenti (resilienza)
meccanismi di salvataggio (backup) e ripristino (recovery)
•  Offre una “visione strutturata” dei dati
modello (logico) dei dati
•  Garantisce la privatezza dei dati
meccanismi di autorizzazione
Sistemi Informativi e Basi di Dati
17
Modello dei Dati
•  Un modello dei dati è una collezione di strutture e regole che
permettono la rappresentazione della realtà di interesse.
–  Schema: rappresentazione di una specifica realtà secondo un certo modello
(aspetto intensionale)
–  Istanza: valori (dati) effettivamente memorizzati (aspetto estensionale)
•  Modelli logici:
forniscono una descrizione dei dati direttamente supportata dal DBMS;
–  (in ordine cronologico): gerarchico, reticolare, relazionale, a oggetti
•  Modelli concettuali:
descrizione dei concetti della realtà indipendente da aspetti realizzativi
–  Entity-Relationship, a oggetti
Sistemi Informativi e Basi di Dati
18
Modello dei Dati Relazionale
•  È il modello logico più diffuso. I dati sono rappresentati in forma
tabellare, cioè usa come unica struttura le relazioni o tabelle
ESAMI
Matricola NomeCorso Docente
Voto
123
Matematica
Rossi
28
128
Matematica
Rossi
24
123
Inglese
Taylor
26
Schema
Istanza
•  Lo schema è sostanzialmente costituito dal nome delle colonne.
Lo schema è praticamente invariante rispetto al tempo.
•  L’istanza è costituita dalle righe
•  L’istanza varia per l’aggiunta, la modifica e la cancellazione righe
(record o tuple)
Sistemi Informativi e Basi di Dati
19
Base di Dati Relazionale
•  Una base di dati relazionale è un insieme di tabelle correlate
ESAMI
Matricola NomeCorso Docente
Voto
123
28
STUDENTI
CORSI
Matematica
Rossi
Matricola
Nome
Cognome
Età
123
Anna
Verde
21
NomeCorso Anno
Crediti
Matematica
5
1
Sistemi Informativi e Basi di Dati
20
Base di Dati Relazionale
•  Una base di dati relazionale è un insieme di tabelle correlate
ESAMI
Matricola
NomeCorso
Docente
Voto
123
Matematica
Rossi
28
STUDENTI
CORSI
Matricola
Nome
Cognome
Età
123
Anna
Verde
21
NomeCorso Anno
Crediti
Docente
Matematica
5
Rossi
1
Sistemi Informativi e Basi di Dati
21
Informazioni e Vincoli
•  In ogni situazione reale le informazioni che si vogliono gestire devono
rispettare certi vincoli
•  Esempio: il numero di matricola è unico
STUDENTE
Matricola
Cognome
123
Rossi
123
Verde
•  Esempio: una stessa matricola non può dare due volte lo stesso esame
ESAME
Matricola NomeCorso Voto
123
Matematica
28
123
Matematica
26
Sistemi Informativi e Basi di Dati
22
Progettazione Concettuale: Entity/Relationships (E/R)
•  Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati
di interesse e le loro associazioni in modo concettuale
• 
• 
• 
• 
Uno studente ha la matricola
univoca ed un cognome
Un corso ha un nome univoco
ed un docente
Uno studente sostiene un esame
per un corso, riportando un voto
⇒ l’esame è un’associazione
tra studente e corso
Matricola
Studente
Cognome
(0,N)
E/R
Uno studente può sostenere più
esami, ma non per lo stesso corso
Informazioni e Vincoli
Sistemi Informativi e Basi di Dati
Esame
Voto
(0,N)
Corso
Nome
Docente
Schema E/R
23
Progettazione Logico-Relazionale
•  Partendo da uno schema E/R si definiscono delle semplici regole per
ottenere le tabelle di una base di dati relazionale
STUDENTE
Matricola
Studente
Matricola
Cognome
Cognome
(0,N)
ESAME
Relazionale
Esame
Matricola
Nome Voto
Voto
(0,N)
CORSO
Corso
Nome
Nome
Docente
Docente
Schema E/R
Schema Relazionale
Sistemi Informativi e Basi di Dati
24
Implementazione del DataBase sul DBMS
• 
Le tabelle di una base di dati relazionale vengono realizzate sul DBMS
utilizzando il linguaggio standard SQL (Structured Query Language)
CREATE TABLE ESAME(
MATRICOLA INTEGER NOT NULL,
NOME CHAR NOT NULL,
VOTO INTEGER ,
PRIMARY KEY (MATRICOLA,
NOME)
)
DBMS
(SQL
SERVER)
Codice SQL
Tabella in SQL-SERVER
Sistemi Informativi e Basi di Dati
25
Utilizzo del DataBase
• 
Le tabelle contengono i dati che possono essere visualizzati, modificati e aggiunti.
Sistemi Informativi e Basi di Dati
26
Utilizzo del DataBase
• 
• 
L’utilità principale di un DBMS sono le query (interrogazioni) sui dati contenuti.
Anche per le interrogazioni si utilizza il linguaggio SQL
SELECT COGNOME,NOME,VOTO
FROM ESAME, STUDENTE
WHERE ESAME.MATRICOLA = STUDENTE.MATRICOLA
AND NOME = ’BIANCO’
Sistemi Informativi e Basi di Dati
esami
sostenuti
da “Bianco”
27
Utilizzo del DataBase
•  I dati ottenuti possono essere quindi visualizzati e modificati in un
formato personalizzabile con una MASCHERA.
•  Ad esempio in questa maschera vengono riportati gli studenti che
hanno superato l’esame di matematica
Sistemi Informativi e Basi di Dati
28
Utilizzo del DataBase
•  Per stampare i dati si utilizzano i REPORT.
•  Ad esempio in questo report vengono stampati gli esami superati
ordinati per Docente.
Sistemi Informativi e Basi di Dati
29
Utilizzo (avanzato) del DataBase
•  Tramite linguaggi di programmazione che “ospitano” comandi scritti in SQL
•  Ad esempio questo è un frammento di codice scritto nel linguaggio
VBScript per generare una pagina web dinamica con tecnologia ASP
(ActiveServerPages)
http://ares.ing.unimo.it/beneventano/IscrizioneAppello.asp?!
!
!IDCorso=9&IDAppello=1!
!
<%!
'Seleziono i dati nel database!
OBJECT1.Open(" ...!
Data Source= " \beneventano\dati\studenti.mdb")!
Set rs = OBJECT1.Execute !
("SELECT * FROM [qry_ElencoAppelli] !
WHERE [IDCorso] = " & Request.QueryString("IDCorso") !
& " AND [IDAppello] = " & Request.QueryString("IDAppello"))!
!
%>!
!
Sistemi Informativi e Basi di Dati
30
Livelli di astrazione nei DBMS
•  La "classica" architettura a tre livelli di astrazione in un database.
Vista
Vista
Schema logico
Livello esterno
Livello logico
Database su
dispositivi
fisici
Livello fisico
•  A livello logico si descrive la base di dati con il modello logico del DBMS
•  A livello fisico si descrive il modo in cui i dati sono organizzati e gestiti in
memoria di massa (dispositivi fisici): ordinamento, metodi accesso
•  A livello esterno si descrive una parte (una vista) della base di dati di
interesse per un certo utente o applicazione
Sistemi Informativi e Basi di Dati
31
Indipendenza dei dati
•  Gli utenti ed i programmi applicativi che utilizzano una base di dati
possono interagire ad un eleveto livello di astrazione, che prescinde
dai dettagli implementativi della base di dati.
UTENTI
DBMS
BASE DI DATI
APPLICAZIONI
•  Indipendenza Logica: è possibile interagire con il livello esterno
della base di dati in modo indipendente dalla struttura logica dei dati.
•  Indipendenza Fisica: è possibile interagire con il DBMS in modo
indipendente dalla struttura fisica dei dati.
Sistemi Informativi e Basi di Dati
32
Linguaggi per Basi di Dati
•  Linguaggi di definizione dei dati (DDL - Data Definition Language):
–  per definire schemi logici, esterni e fisici, e autorizzazioni di accesso
•  Linguaggi di manipolazione dei dati (DML - Data Manipulation Lan.):
–  per interrogare e aggiornare il contenuto di una base di dati
Il Linguaggio SQL (Structured Query Language) = DDL + DML
–  Linguaggio standard per basi di dati relazionali
•  Accesso ai dati
–  Tramite linguaggi testuali interattivi (es. SQL)
–  Tramite interfacce amichevoli che permettono di sintetizzare le operazioni
–  Tramite linguaggi di programmazione (es. C) che “ospitano” comandi scritti
nel linguaggio per basi di dati
Sistemi Informativi e Basi di Dati
33
Sistemi Informativi – Gestione Industriale
Programma del Corso
 
Progettazione concettuale
• 
• 
• 
 
• 
• 
• 
 
Il modello concettuale dei dati Entity-Relationships (E/R)
Documentazione di schemi E/R: Regole Aziendali, Dizionario dei Dati
Progettazione da requisiti in linguaggio naturale
Basi di Dati Relazionali
• 
• 
(lezioni + esercitazioni)
(lezioni + esercitazioni)
Il modello Relazionale
Elementi di teoria relazionale: Algebra relazionale, Dipendenze
funzionali, Normalizzazione
La Progettazione logico relazionale
Interrogazione di un database tramite il linguaggio SQL
Elementi introduttivi ai Sistemi di Gestione delle Basi di Dati Relazionali
Attività di laboratorio
• 
Introduzione al sistema di gestione di basi di dati Microsoft SQLSERVER
Sistemi Informativi e Basi di Dati
34
Sistemi Informativi e Basi di Dati - Gestionale
Programma del corso
  Modulo di Sistemi Informativi
 
Progettazione concettuale
• 
• 
• 
 
Il modello concettuale dei dati Entity-Relationships (E/R)
Documentazione di schemi E/R: Regole Aziendali, Dizionario dei Dati
Progettazione da requisiti in linguaggio naturale
Basi di Dati Relazionali
• 
• 
• 
• 
• 
(lezioni + esercitazioni)
(lezioni + esercitazioni)
Il modello Relazionale
Elementi di teoria relazionale: Algebra relazionale, Dipendenze
funzionali, Normalizzazione
La Progettazione logico relazionale
Interrogazione di un database tramite il linguaggio SQL
Elementi introduttivi ai Sistemi di Gestione delle Basi di Dati Relazionali
Sistemi Informativi e Basi di Dati
35
Sistemi Informativi e Basi di Dati - Gestionale
Programma del corso
  Modulo di Basi di Dati
 
Il sistema di gestione di basi di dati Microsoft SQL-SERVER
(laboratorio)
 
Viste (lezioni + esercitazioni di laboratorio)
 
T-SQL (lezioni + esercitazioni di laboratorio)
• 
 
Trigger
• 
 
(variabili, controllo di flusso, trattamento degli errori, print, operatori)
(lezioni + esercitazioni di laboratorio)
(creazione, chiamata, parametri, valori di ritorno)
Store Procedure
• 
(lezioni + esercitazioni di laboratorio)
(creazione, tipi di trigger, tabelle inserted/deleted)
Sistemi Informativi e Basi di Dati
36
Altri Insegnamenti : Sistemi Informativi Avanzati
• 
Questo insegnamento si propone di fornire le nozioni fondamentali
riguardanti i sistemi informativi avanzati, con particolare riferimento sia
alla progettazione di sistemi informativi per il supporto alle decisioni che
alla modellazione integrata degli aspetti strutturali, dinamici e funzionali
di un sistema informativo.
– 
Sistemi Informativi di supporto alle decisioni e
Sistemi Informativi direzionali
• 
Datawarehouse : un raccoglitore di informazioni che integra e
riorganizza i dati provenienti da sorgenti di varia natura e li rende
disponibili per analisi e valutazioni finalizzate alla pianificazione e al
processo decisionale
– 
Modellazione integrata al progetto dei sistemi informativi
– 
Integrazione e condivisione dell’informazione
Sistemi Informativi e Basi di Dati
37