Sistemi Informativi - dbgroup.unimo.it · Sistemi Informativi - Introduzione 1 Anno Accademico...

16
Sistemi Informativi - Introduzione 1 Anno Accademico 2007/2008 Sistemi Informativi Corso di Laurea in Ingegneria della Gestione Industriale Corso di Laurea in Ingegneria dell’Integrazione d’Impresa Prof. Domenico Beneventano [email protected] Sistemi Informativi - Introduzione 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.

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

[email protected]

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