View
227
Download
0
Category
Preview:
Citation preview
Sistemi Informativi e Basi di Dati 1
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 2
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.
3
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
Sistemi Informativi e Basi di Dati 4
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
5
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
6
• 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 – Gestione Industriale Organizzazione delle Lezioni
Sistemi Informativi e Basi di Dati
7
• 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 - Gestionale Organizzazione delle Lezioni
Modulo di Sistemi Informativi
Sistemi Informativi e Basi di Dati
8
• 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 - Gestionale Organizzazione delle Lezioni
Modulo di Basi di Dati
Sistemi Informativi e Basi di Dati
9
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
10
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
11
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
12
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
13
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
14
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
15
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
Anagrafe clienti
Ordini
Fatture
Inserimento Ordini
Registro fatture
La ripetizione dell'indirizzo del cliente consente alle applicazioni Registro fatture e inserimento ordini di operare allo stesso tempo
Emissione fatture
Indirizzo Cliente
Indirizzo Cliente
Indirizzo Cliente
Sistemi Informativi e Basi di Dati
16
DBMS vs File System • La gestione delle informazioni è centralizzata in una rappresentazione
integrata e non ridondante
Anagrafe clienti
Ordini
Fatture
Inserimento Ordini
Registro fatture
Una granularita' piu' fine consente l'uso condiviso della risorsa indirizzo cliente
DBMS
Emissione fatture
Indirizzo cliente
Sistemi Informativi e Basi di Dati
17
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
18
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
Sistemi Informativi e Basi di Dati 19
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
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)
ESAMI
Sistemi Informativi e Basi di Dati 20
Base di Dati Relazionale • Una base di dati relazionale è un insieme di tabelle correlate
Matricola NomeCorso Docente Voto
123 Matematica Rossi 28
ESAMI
Matricola Nome Cognome Età
123 Anna Verde 21 STUDENTI
NomeCorso Anno Crediti
Matematica 1 5 CORSI
Sistemi Informativi e Basi di Dati 21
Base di Dati Relazionale • Una base di dati relazionale è un insieme di tabelle correlate
Matricola NomeCorso Docente Voto
123 Matematica Rossi 28
ESAMI
Matricola Nome Cognome Età
123 Anna Verde 21 STUDENTI
NomeCorso Anno Crediti Docente
Matematica 1 5 Rossi CORSI
22
Informazioni e Vincoli • In ogni situazione reale le informazioni che si vogliono gestire devono
rispettare certi vincoli
Matricola Cognome
123 Rossi
123 Verde
STUDENTE
• Esempio: il numero di matricola è unico
Matricola NomeCorso Voto
123 Matematica 28
123 Matematica 26
ESAME
• Esempio: una stessa matricola non può dare due volte lo stesso esame
Sistemi Informativi e Basi di Dati
23
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
Studente
Esame
(0,N)
Matricola
Cognome
Corso Nome
Docente
Voto (0,N)
• 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
• Uno studente può sostenere più esami, ma non per lo stesso corso
Schema E/R Informazioni e Vincoli
E/R
Sistemi Informativi e Basi di Dati
24
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
Esame
(0,N)
Matricola
Cognome
Corso Nome
Docente
Voto (0,N)
Schema E/R
Relazionale Matricola Nome Voto ESAME
Matricola Cognome STUDENTE
Nome Docente CORSO
Schema Relazionale
Sistemi Informativi e Basi di Dati
25
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)
Codice SQL Tabella in SQL-SERVER
CREATE TABLE ESAME( MATRICOLA INTEGER NOT NULL, NOME CHAR NOT NULL, VOTO INTEGER , PRIMARY KEY (MATRICOLA,
NOME) )
DBMS (SQL SERVER)
Sistemi Informativi e Basi di Dati
26
Utilizzo del DataBase
• Le tabelle contengono i dati che possono essere visualizzati, modificati e aggiunti.
Sistemi Informativi e Basi di Dati
27
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’
esami sostenuti da “Bianco”
Sistemi Informativi e Basi di Dati
28
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
29
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
30
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
31
Livelli di astrazione nei DBMS
• 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
• La "classica" architettura a tre livelli di astrazione in un database.
Vista
Vista
Livello esterno Livello logico Livello fisico
Schema logico
Database su dispositivi fisici
Sistemi Informativi e Basi di Dati
32
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.
• 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.
DBMS
BASE DI DATI
UTENTI
APPLICAZIONI
Sistemi Informativi e Basi di Dati
33
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
34
Progettazione concettuale (lezioni + esercitazioni) • 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) • 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 SQL-
SERVER
Sistemi Informativi – Gestione Industriale Programma del Corso
Sistemi Informativi e Basi di Dati
35
Progettazione concettuale (lezioni + esercitazioni) • 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) • 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 - Gestionale Programma del corso
Modulo di Sistemi Informativi
Sistemi Informativi e Basi di Dati
36
Il sistema di gestione di basi di dati Microsoft SQL-SERVER (laboratorio)
Viste (lezioni + esercitazioni di laboratorio)
T-SQL (lezioni + esercitazioni di laboratorio) • (variabili, controllo di flusso, trattamento degli errori, print, operatori)
Trigger (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 - Gestionale Programma del corso
Modulo di Basi di Dati
Sistemi Informativi e Basi di Dati
37
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
Recommended