CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di...

47
CEFRIEL CEFRIEL Consorzio per la Formazione e la Consorzio per la Formazione e la Ricerca Ricerca in Ingegneria dell’Informazione in Ingegneria dell’Informazione Politecnico Politecnico di Milano di Milano Introduzione ai Sistemi Informativi Introduzione ai Sistemi Informativi e alle Basi di dati e alle Basi di dati Master in Convergenza Master in Convergenza Docente Docente William Fornaciari William Fornaciari Politecnico di Milano Politecnico di Milano [email protected] [email protected]

Transcript of CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di...

Page 1: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

CEFRIELCEFRIELConsorzio per la Formazione e la RicercaConsorzio per la Formazione e la Ricercain Ingegneria dell’Informazionein Ingegneria dell’Informazione

PolitecnicoPolitecnicodi Milanodi Milano

Introduzione ai Sistemi Informativi Introduzione ai Sistemi Informativi e alle Basi di datie alle Basi di dati

Master in ConvergenzaMaster in Convergenza

Docente Docente

William FornaciariWilliam Fornaciari

Politecnico di MilanoPolitecnico di Milano

[email protected]@elet.polimi.it

Page 2: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 22 - -

Sistemi informativi e sistemi Sistemi informativi e sistemi informatici: premessa informatici: premessa

Che cos’è l’informatica? Una definizione: Scienza del trattamento razionale, specialmente per mezzo di macchine automatiche, dell’informazione, considerata come supporto alla conoscenza umana e alla comunicazione (Academie Francaise).

L’informatica ha due anime: tecnologica: i calcolatori elettronici e i sistemi che li utilizzano; metodologica: i metodi per la soluzione di problemi e la gestione delle informazioni.

Page 3: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 33 - -

Sistema informativo Sistema informativo

Componente (sottosistema) di una organizzazione che gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (cioè utilizzate per il perseguimento degli scopi dell’organizzazione stessa).

ogni organizzazione ha un sistema informativo, eventualmente non esplicitato nella struttura; quasi sempre, il sistema informativo è di supporto ad altri sottosistemi, e va quindi studiato nel contesto in cui è inserito il sistema informativo è di solito suddiviso in sottosistemi (in modo gerarchico o decentrato), più o meno fortemente integrati

Page 4: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 44 - -

Sistema organizzativoSistema organizzativo

insieme di risorse e regole per lo svolgimento coordinato delle attività al fine del perseguimento degli scopi il sistema informativo è parte del sistema organizzativo il sistema informativo esegue/gestisce processi informativi (cioè i processi che coinvolgono informazioni)

Page 5: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 55 - -

RisorseRisorse

le risorse di una azienda (o amministrazione):  persone  denaro  materiali  informazioni

Page 6: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 66 - -

Funzioni di un sistema Funzioni di un sistema informativo informativo

 raccolta, acquisizione delle informazioni  archiviazione, conservazione delle informazioni  elaborazione delle informazioni  distribuzione, scambio di informazioni

Page 7: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 77 - -

Sistemi informativi e Sistemi informativi e automazioneautomazione

Il concetto di “sistema informativo” è indipendente da qualsiasi automatizzazione: esistono organizzazioni la cui ragion d’essere è la gestione di informazioni (p. es. servizi anagrafici e banche) e che operano da secoli.

Page 8: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 88 - -

Sistema Informatico  Sistema Informatico 

porzione automatizzata del sistema informativoil sistema informatico è la parte del sistema informativo che gestisce informazioni per mezzo della tecnologia informatica.

Sistema azienda

Sistema organizzativo

Sistema informativo

Sistema informatico

Page 9: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 99 - -

Sistema informativo Sistema informativo e sistema informaticoe sistema informatico

Anche prima di essere automatizzati, molti sistemi informativi si sono evoluti verso una razionalizzazione e standardizzazione delle procedure e dell’organizzazione delle informazioni.

Page 10: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1010 - -

Gestione delle informazioni Gestione delle informazioni

Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse, a seconda delle necessità e capacità:

idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un’altra) disegni, grafici, schemi numeri codici (anche segreti)

e su vari supporti, dalla memoria umana alla carta

Page 11: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1111 - -

Gestione delle informazioniGestione delle informazioni

Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni. Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e sono state poi introdotte informazioni via via più precise (e in un certo senso artificiali):

 nome e cognome;  estremi anagrafici;  codice fiscale;

Page 12: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1212 - -

Informazioni e dati Informazioni e dati

Nei sistemi informatici (e non solo in essi), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati.

informazione : notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato : ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati.

(Vocabolario della lingua italiana, 1987)

Page 13: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1313 - -

Dati e informazioniDati e informazioni

Quindi, i dati sono fatti elementari, informazioni codificate, che hanno bisogno di essere interpretate per fornire conoscenza

Esempio‘Mario’ ’275’ su un foglio di carta sono due dati. Se il foglio di carta viene fornito in risposta alla domanda “A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?”, allora i dati possono essere interpretati ed arricchire la conoscenza.

Page 14: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1414 - -

Perché i dati? Perché i dati?

La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani)

Page 15: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1515 - -

Base di dati Base di dati

(accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione.

(accezione specifica) collezione di dati gestita da un DBMS

Page 16: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1616 - -

DataBase Management DataBase Management System — DBMS System — DBMS

Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche):

grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati) persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano) condivise (utilizzate da applicazioni diverse)

garantendo affidabilità (resistenza a malfunzionamenti hardware e software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori).

Page 17: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1717 - -

Condivisione Condivisione

Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività. A ciascun settore o attività corrisponde un (sotto-)sistema informativo (privato o porzione di un sistema più grande). Possono esistere sovrapposizioni fra i dati di interesse dei vari settori.

Page 18: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1818 - -

Da Da settorialisettoriali a a integratiintegrati

DB1DB2 DB3 DB4

DB5

P1

P2P3 P4

P5

Page 19: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 1919 - -

Condivisione (segue)Condivisione (segue)

Una base di dati è una risorsa integrata, condivisa fra i vari settori.L’integrazione e la condivisione permettono di ridurre la ridondanza (evitando ripetizioni) e, di conseguenza, le possibiltà di incoerenza (o inconsistenza) fra i dati. Poiché la condivisione non è mai completa (o comunque non opportuna) i DBMS prevedono meccanismi di definizione della privatezza dei dati e di limitazioni all’accesso (autorizzazioni). La condivisione richiede un opportuno coordinamento degli accessi: controllo della concorrenza.

Page 20: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2020 - -

Da Da settorialisettoriali a a integratiintegrati

DB

P1

P2P3 P4

P5

V1

V2 V3 V4

V5

Page 21: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2121 - -

Efficienza Efficienza

Si misura (come in tutti i sistemi informatici) in termini di tempo di esecuzione (tempo di risposta) e spazio di memoria (principale e secondaria). I DBMS, a causa della varietà di funzioni, non sono necessariamente più efficienti dei file system. L’efficienza è il risultato della qualità del DBMS e delle applicazioni che lo utilizzano.

Page 22: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2222 - -

DBMS vs file system DBMS vs file system

La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici — gli ordinari file system dei sistemi operativi, che permettono di realizzare anche rudimentali forme di condivisione. Non esiste una linea netta di separazione fra DBMS e non-DBMS.I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata (cfr. efficacia). I file system prevedono forme di condivisione, permettendo accessi contemporanei in lettura ed esclusivi in scrittura: se è in corso un’operazione di scrittura su un file, altri non possono accedere affatto al file. Nei DBMS, c’è maggiore flessibilità: si può accedere contemporaneamente a record diversi di uno stesso file o addirittura allo stesso record (in lettura).

Page 23: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2323 - -

DBMS vs file system (2)DBMS vs file system (2)

Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi.Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi.

Page 24: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2424 - -

softwaresoftwareapplicativoapplicativo

DBMSDBMS

sistemasistemaoperativooperativo

softwaresoftwareapplicativoapplicativo

sistemasistemaoperativooperativo

filefile(distinti)(distinti)

databasedatabase(unico)(unico)

File system e DBMSFile system e DBMS

Page 25: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2525 - -

Descrizioni dei dati nei DBMSDescrizioni dei dati nei DBMS

Esistono descrizioni e rappresentazioni dei dati a livelli diversi, che permettono l’indipendenza dei dati dalla rappresentazione fisica: i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi. Precisiamo attraverso il concetto di modello dei dati.

Page 26: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2626 - -

Modello dei datiModello dei dati

insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica componente fondamentale: meccanismi di strutturazione (o costruttori di tipo) come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori ad esempio, il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei

Page 27: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2727 - -

Tabelle: rappresentazione di Tabelle: rappresentazione di relazionirelazioni

CORSI Corso Docente AulaBasi di dati Rossi DS3Sistemi Neri N3Reti Bruni N3Controlli Bruni G

AULE Nome Edificio PianoDS1 Ex-OMI TerraN3 Ex-OMI TerraG Pincherle Primo

Page 28: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2828 - -

Schemi e istanzeSchemi e istanze

In ogni base di dati esistono:lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale);nell’esempio, le intestazioni delle tabelle l’istanza, costituita dai valori attuali, che possono cambiare molto e molto rapidamente (aspetto estensionale);nell’esempio, il “corpo” di ciascuna tabella

Page 29: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 2929 - -

EsempiEsempi

Modello dei dati: collezione di concetti che possono essere usati per rappresentare la realta’. Es: alberi, grafi, tabelle

Schema dei dati: rappresentazione di una specifica parte della realta’, che usa un modello dei dati. Es. albero genealogico, sistema delle strade e delle citta’, tabella degli studenti e dei voti nei singoli esami

Istanza: collezione di valori dei dati che rispetta la struttura dello schema. Es: albero genealogico della mia famiglia oggi, rete viaria della Germania il giorno 22 febbraio 2000, dati sugli studenti e gli esami in questo preciso istante

Page 30: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3030 - -

Due tipi (principali) di modelliDue tipi (principali) di modelli

modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati; ad essi fanno riferimento i programmi; sono indipendenti dalle strutture fisiche;esempi: relazionale, reticolare, gerarchico, a oggetti modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema, cercando di descrivere i concetti del mondo reale; sono utilizzati nelle fasi preliminari di progettazione;il più noto è il modello Entity-Relationship

Di per sé, un modello potrebbe essere concettuale e logico al tempo stesso

Page 31: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3131 - -

Architettura standard Architettura standard (ANSI/SPARC)(ANSI/SPARC)a tre livelli per DBMSa tre livelli per DBMS

BD

Schema logico

Schemaesterno

Schema interno

Schemaesterno

Schemaesterno

utenteutente

utenteutente utente

Page 32: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3232 - -

Architettura ANSI/SPARC: Architettura ANSI/SPARC: schemischemi

schema logico:  descrizione dell’intera base di dati nel modello logico “principale” del DBMS

schema esterno:  descrizione di parte della base di dati in un modello logico (“viste” parziali, derivate, anche in modelli diversi)

schema fisico:  rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione.

Page 33: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3333 - -

Una vistaUna vista

CorsiCorso Docente AulaBasi di dati Rossi DS3Sistemi Neri N3Reti Bruni N3Controlli Bruni G

AuleNome Edificio PianoDS1 Ex-OMI TerraN3 Ex-OMI TerraG Pincherle Primo

CorsiSediCorso Aula Edificio PianoSistemi N3 Ex-OMI TerraReti N3 Ex-OMI TerraControlli G Pincherle Primo

Page 34: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3434 - -

Indipendenza dei dati Indipendenza dei dati

conseguenza della articolazione in livelli: l’accesso avviene solo tramite il livello esterno (che

può coincidere con il livello logico); due forme: fisica: il livello logico e quello esterno sono

indipendenti da quello fisico; una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo senza che debbano essere modificate le forme di utilizzo)

logica: il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico; modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti

Page 35: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3535 - -

Linguaggi per basi di dati Linguaggi per basi di dati

Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce diverse. L’accesso ai dati può avvenire 1.con linguaggi testuali interattivi 2.con comandi (come quelli del linguaggio

interattivo) immersi in un linguaggio ospite (Pascal, C, Cobol, etc.)

3.con comandi (come quelli del linguaggio interattivo) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es. per grafici o stampe strutturate), anche con l’ausilio di strumenti di sviluppo (p. es. per la gestione di maschere)

4.con interfacce amichevoli (senza linguaggio testuale)

Page 36: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3636 - -

SQL, un linguaggio interattivo SQL, un linguaggio interattivo

SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND Piano="Terra"

Corso Aula PianoReti N3 TerraSistemi N3 Terra

Page 37: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3737 - -

SQL immerso in PascalSQL immerso in Pascal(o altro linguaggio ad alto (o altro linguaggio ad alto livello) livello)

write('nome della citta''?'); readln(citta);

EXEC SQL DECLARE P CURSOR FOR SELECT NOME, REDDITO FROM PERSONE WHERE CITTA = :citta ;EXEC SQL OPEN P ; EXEC SQL FETCH P INTO :nome, :reddito ; while SQLCODE = 0 do begin write('nome della persona:', nome, 'aumento?'); readln(aumento); EXEC SQL UPDATE PERSONE SET REDDITO = REDDITO + :aumento WHERE CURRENT OF P EXEC SQL FETCH P INTO :nome, :reddito end;EXEC SQL CLOSE CURSOR P

Page 38: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3838 - -

SQL immerso in linguaggio ad SQL immerso in linguaggio ad hoc hoc (Oracle PL/SQL) (Oracle PL/SQL)

declare Stip number;begin select Stipendio into Stip from Impiegato where Matricola = '575488' for update of Stipendio; if Stip > 30 then update Impiegato set Stipendio = Stipendio * 1.1 where Matricola =

'575488'; else update Impiegato set Stipendio = Stipendio * 1.15 where Matricola =

'575488'; end if; commit; exception when no_data_found then insert into Errori values('Non esiste la matricola specificata',sysdate); end;

Page 39: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 3939 - -

Interazione non testuale (in Interazione non testuale (in Access) Access)

Page 40: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4040 - -

Una distinzione terminologica Una distinzione terminologica (separazione fra dati e (separazione fra dati e programmi)programmi)

data definition language (DDL) : per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali;

data manipulation language (DML) : per l’interrogazione e l’aggiornamento di (istanze di) basi di dati.

Page 41: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4141 - -

Personaggi e interpreti Personaggi e interpreti

progettisti e realizzatori di DBMS progettisti della base di dati e amministratori della base di dati (DBA) progettisti e programmatori di applicazioni utenti

utenti finali (terminalisti): eseguono applicazioni predefinite (transazioni) utenti casuali: eseguono operazioni non previste a priori, usando linguaggi interattivi

Page 42: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4242 - -

Database administrator (DBA) Database administrator (DBA)

Persona o gruppo di persone responsabile del controllo centralizzato e della gestione del sistema, delle prestazioni, dell’affidabilità, delle autorizzazioni. Le funzioni del DBA includono anche (parte di) quelle di progettazione.

Page 43: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4343 - -

datadatabasebase

applicazioniapplicazioni

DBMSDBMS

utenti finaliutenti finali

databasedatabaseadministratoradministrator

programmatoriprogrammatoriapplicativiapplicativiutentiutenti

casualicasuali

Utenti del DBMSUtenti del DBMS

Page 44: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4444 - -

datidati

processorprocessoree

DDLDDL

databasedatabaseadministratoradministrator

programmatoreprogrammatoreapplicativoapplicativo

utentutente e

finalefinale

dizionariodizionariodatidati

utente utente casualcasual

eeprocessorprocessor

eeDMLDML

applicazionapplicazionee

piano dipiano diesecuzioneesecuzione

queryquery

supportosupportoesecuzionesecuzion

ee DBMSDBMS

Moduli del DBMSModuli del DBMS

Page 45: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4545 - -

datadatabasebase

processoprocessoclientclient

utentiutenti

databasedatabasemanagementmanagement

systemsystem

reteretemiddlewaremiddleware

databasedatabaseserverserver

processoprocessoclientclient

utentiutenti

DBMS in un contesto di reteDBMS in un contesto di rete

Page 46: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4646 - -

TransazioniTransazioni

Programmi che realizzano attività frequenti e predefinite, con poche eccezioni, previste a priori.Esempi:

versamento presso uno presso sportello bancario emissione di certificato anagrafico dichiarazione presso l’ufficio di stato civile prenotazione aerea

Le transazioni sono di solito realizzate con programmi in linguaggio ospite (tradizionale o ad hoc). N. B.: il termine transazione ha un’altra accezione, più specifica: sequenza indivisibile di operazioni (o vengono eseguite tutte o nessuna).

Page 47: CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano Introduzione ai Sistemi Informativi e alle Basi di.

Sistemi InformativiSistemi Informativi © 2001 - Letizia Tanca© 2001 - Letizia Tanca- - 4747 - -

Vantaggi e svantaggi dei Vantaggi e svantaggi dei DBMS DBMS

Prodati come risorsa comune, base di dati come modello della realtà gestione centralizzata con possibilità di standardizzazione ed “economia di scala” disponibilità di servizi integrati riduzione di ridondanze e inconsistenze indipendenza dei dati (favorisce lo sviluppo e la manutenzione delle applicazioni)

Contro costo dei prodotti e della transizione verso di essi non scorporabilità delle funzionalità (con riduzione di efficienza)