Sistemi Informativi - dbgroup.unimo.it · Sistemi Informativi - Introduzione 1 Anno Accademico...
Transcript of Sistemi Informativi - dbgroup.unimo.it · Sistemi Informativi - Introduzione 1 Anno Accademico...
Sistemi Informativi - Introduzione 1
Anno Accademico 2007/2008
Sistemi InformativiCorso di Laurea in Ingegneria della Gestione Industriale
Corso di Laurea in Ingegneria dell’Integrazione d’Impresa
Prof. Domenico Beneventano
Sistemi Informativi - Introduzione 2
Un sistema informativo è un componente di una organizzazioneil cui scopo è gestire (acquisire, elaborare, memorizzare, produrre,distribuire) le informazioni utili per gli scopi dell’organizzazionestessa.
La gestione delle informazioni con strumenti informatici avvienenormalmente tramite una Base di Dati, una collezione di dati cherappresentano le informazioni di interesse per un’organizzazione.
Sistemi Informativi - Introduzione 3
Organizzazione degli Insegnamenti
• In comune tra i due Corsi di Laurea:
5 Ore settimanali di lezioni ed esercitazioni in aula
• Separatamente tra i due Corsi di Laurea
2 Ore settimanali di lezioni ed esercitazioni in laboratorio
(gli argomenti trattati sono gli stessi)
• Orario di ricevimento:Lunedì, dalle 8 alle 10 o tramite appuntamento da
concordarsi via email.
Sistemi Informativi - Introduzione 4
Materiale didattico
• Libro di testo (copre tutte le lezioni ed esercitazioni in aula)
Progetto di Basi di Dati Relazionali: Lezioni ed Esercizi
Autori: Domenico Beneventano, Sonia Bergamaschi,Francesco Guerra, Maurizio Vincini
Editore: Pitagora Editrice - Bologna - Edizione 2007
• Tutto l’altro materiale didattico necessario è disponibilesia in forma cartacea (in copisteria)che sul sito web del corso (vedi www.ingre.unimo.it).
Sistemi Informativi - Introduzione 5
Modalità d’esame! Prova scritta, a fine corso (2 ore):
Progettazione concettuale e logica
! Prova di laboratorio, a fine corso (1 ora):Definizione ed interrogazione di una base di dati in SQLutilizzando il DBMS MICROSOFT ACCESS
" Sia la prova scritta che la prova di laboratorio sono obbligatorie.
" Nella valutazione finale la prova scritta avrà un peso pari al 75% ela prova di laboratorio pari al 25%:voto finale = (3* voto prova scritta + voto prova laboratorio)/4
" Prova orale facoltativa
Tratta tutti gli argomenti del corso.Influisce sul voto finale al massimo di ± 3
Sistemi Informativi - Introduzione 6
Sistemi Informativi
• Un sistema informativo è un componente di una organizzazioneil cui scopo è gestire (acquisire, elaborare, memorizzare, produrre,distribuire) le informazioni utili per gli scopi dell’organizzazionestessa.
• L’informazione è un bene a valore crescente, necessario perpianificare e controllare con efficacia le attività dell’organizzazione,e rappresenta la materia prima che viene trasformata dai sistemiinformativi
• 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 - Introduzione 7
Sistema Informativo e Sistema Informatico
• L’esistenza del Sistema Informativo è in parte indipendentedalla sua automazione tramite strumenti propri della tecnologiadell’informazione
• La parte automatizzata di un Sistema Informativo vienechiamata Sistema Informatico
Sistema Informativo
Sistema Informatico
Sistemi Informativi - Introduzione 8
Informazioni e Dati
• Nei Sistemi Informatici le informazioni vengono rappresentateper mezzo di dati, che hanno bisogno di essere interpretati perfornire informazioni
Dati :"Mario Rossi" e 0898932989
Informazioni :Il numero di telefono di Mario Rossi è 0898932989
Sistemi Informativi - Introduzione 9
Base di Dati (DataBase)
• Una Base di Dati è una collezione di dati utilizzati per rappresentarele informazioni di interesse per un Sistema Informativo.
• Un DBMS (Data Base Management System) è un sistema softwarein 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 - Introduzione 10
File System
• Un file è una collezione di dati che risiede su un dispositivo dimemoria esterna ed è strutturata in accordo ai requisiti diun'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 - Introduzione 11
DBMS vs File System
• La gestione delle informazioni è centralizzata in una rappresentazioneintegrata 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 - Introduzione 12
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 - Introduzione 13
Modello dei Dati
• Un modello dei dati è una collezione di strutture e regole chepermettono 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 - Introduzione 14
Modello dei Dati Relazionale
• È il modello logico più diffuso. I dati sono rappresentati in formatabellare, cioè usa come unica struttura le relazioni o tabelle
26TaylorInglese123
24RossiMatematica128
28RossiMatematica123
VotoDocenteNomeCorsoMatricola 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 - Introduzione 15
Base di Dati Relazionale
• Una base di dati relazionale è un insieme di tabelle correlate
28RossiMatematica123
VotoDocenteNomeCorsoMatricolaESAMI
21VerdeAnna123
EtàCognomeNomeMatricolaSTUDENTI
51Matematica
CreditiAnnoNomeCorsoCORSI
Sistemi Informativi - Introduzione 16
Informazioni e Vincoli
• In ogni situazione reale le informazioni che si vogliono gestire devonorispettare certi vincoli
Verde123
Rossi123
CognomeMatricola
STUDENTE
• Esempio: il numero di matricola è unico
26Matematica123
28Matematica123
VotoNomeCorsoMatricolaESAME
• Esempio: una stessa matricola non può dare due volte lo stesso esame
Sistemi Informativi - Introduzione 17
Progettazione Concettuale: Entity/Relationships (E/R)
• Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i datidi interesse e le loro associazioni in modo concettuale
Studente
Esame
(0,N)
Matricola
Cognome
CorsoNome
Docente
Voto(0,N)
• Uno studente ha la matricolaunivoca ed un cognome
• Un corso ha un nome univocoed un docente
• Uno studente sostiene un esameper 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/RInformazioni e Vincoli
E/R
Sistemi Informativi - Introduzione 18
Progettazione Logico-Relazionale
• Partendo da uno schema E/R si definiscono delle semplici regole perottenere le tabelle di una base di dati relazionale
Studente
Esame
(0,N)
Matricola
Cognome
CorsoNome
Docente
Voto(0,N)
Schema E/R
Relazionale VotoNomeMatricola
ESAME
CognomeMatricola
STUDENTE
DocenteNome
CORSO
Schema Relazionale
Sistemi Informativi - Introduzione 19
Implementazione del DataBase sul DBMS (Access)
• Le tabelle di una base di dati relazionale vengono realizzate sul DBMSutilizzando il linguaggio standard SQL (Structured Query Language)
Codice SQL Tabella in Access
CREATE TABLE ESAME(MATRICOLA INTEGER NOT NULL,NOME CHAR NOT NULL,VOTO INTEGER ,PRIMARY KEY (MATRICOLA,
NOME))
DBMS (Access)
Sistemi Informativi - Introduzione 20
Utilizzo del DataBase
• Le tabelle contengono i dati che possono essere visualizzati, modificati e aggiunti.
Sistemi Informativi - Introduzione 21
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 - Introduzione 22
Utilizzo del DataBase
• I dati ottenuti possono essere quindi visualizzati e modificati in unformato personalizzabile con una MASCHERA.
• Ad esempio in questa maschera vengono riportati gli studenti chehanno superato l’esame di matematica
Sistemi Informativi - Introduzione 23
Utilizzo del DataBase
• Per stampare i dati si utilizzano i REPORT.
• Ad esempio in questo report vengono stampati gli esami superatiordinati per Docente.
Sistemi Informativi - Introduzione 24
Utilizzo (avanzato) del DataBase
• Tramite linguaggi di programmazione che “ospitano” comandi scritti in SQL
• Ad esempio questo è un frammento di codice scritto nel linguaggioVBScript 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 - Introduzione 25
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 inmemoria di massa (dispositivi fisici): ordinamento, metodi accesso
• A livello esterno si descrive una parte (una vista) della base di dati diinteresse 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 sudispositivifisici
Sistemi Informativi - Introduzione 26
Indipendenza dei dati
• Gli utenti ed i programmi applicativi che utilizzano una base di datipossono interagire ad un eleveto livello di astrazione, che prescindedai dettagli implementativi della base di dati.
• Indipendenza Logica: è possibile interagire con il livello esternodella base di dati in modo indipendente dalla struttura logica dei dati.
• Indipendenza Fisica: è possibile interagire con il DBMS in modoindipendente dalla struttura fisica dei dati.
DBMS
BASE DI DATI
UTENTI
APPLICAZIONI
Sistemi Informativi - Introduzione 27
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 scrittinel linguaggio per basi di dati
Sistemi Informativi - Introduzione 28
Programma di Sistemi Informativi# 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• Elementi ed esempi del linguaggio SQL
• Elementi introduttivi ai Sistemi di Gestione delle Basi di Dati Relazionali
# Attività di laboratorio
• Il sistema di gestione di basi di dati Microsoft ACCESS• Creazione ed interrogazione di un database tramite il linguaggio SQL
Sistemi Informativi - Introduzione 29
Altri Insegnamenti : Basi di Dati
• Partendo dalla progettazione concettuale e logica di una base didati trattata nell’insegnamento di Sistemi Infomativi, obiettivo diquesto insegnamento è la progettazione e l’implementazione dieffettive applicazioni database.
– Aspetti avanzati del linguaggio standard SQL• Viste, Stored Procedure e Trigger.
– Tecnologia delle basi di dati• caratteristiche interne dei DBMS in modo da comprenderne il
funzionamento e sfruttarne a pieno le potenzialità.
– Realizzazione di applicazioni database• La componente fondamentale dell’Insegnamento sono le esperienze in
laboratorio durante le quali, al fine di progettare ed implementareapplicazioni database, verranno introdotte le principali funzionalità deipiù diffusi sistemi di gestione di basi di dati per poi utilizzarne unospecifico (Microsoft SQLSERVER).
Sistemi Informativi - Introduzione 30
Altri Insegnamenti : Sistemi Informativi Integrati# Questo insegnamento ha come obiettivo l’introduzione e lo studio delle
funzioni e delle problematiche che devono essere gestite dai sistemiinformativi gestionali di una moderna impresa.
• Pianificazione delle risorse dell’Impresa(ERP - Enterprise Resource Planning )
• Pianificazione delle risorse Gestionali(MRP - Manufacturing Resource Planning )
• Questi pacchetti aggiungono ad un DBMS uno strato sostanziale difunzionalità orientate all’applicazione (Baan, Oracle, SAP, .. )
• Questi pacchetti identificano un insieme di compiti comuni (gestionedegli inventari, pianificazione delle risorse umane, analisi finanziaria)richiesti ad un gran numero di organizzazioni, e forniscono uno stratoapplicativo generico per eseguire tali compiti.
• I dati sono memorizzati in un DBMS relazionale e lo strato applicativopuò essere personalizzato per le diverse società.
Sistemi Informativi - Introduzione 31
Altri Insegnamenti : Sistemi Informativi Avanzati
• Questo insegnamento si propone di fornire le nozioni fondamentaliriguardanti i sistemi informativi avanzati, con particolare riferimento siaalla progettazione di sistemi informativi per il supporto alle decisioni chealla modellazione integrata degli aspetti strutturali, dinamici e funzionali
di un sistema informativo.
– Sistemi Informativi di supporto alle decisioni eSistemi Informativi direzionali• Datawarehouse : un raccoglitore di informazioni che integra e
riorganizza i dati provenienti da sorgenti di varia natura e li rendedisponibili per analisi e valutazioni finalizzate alla pianificazione e alprocesso decisionale
– Modellazione integrata al progetto dei sistemi informativi
– Integrazione e condivisione dell’informazione