Informatica Introduzione alle basi di datiggiuffrida/L16_Scienze_Amministrazione/...Sistema...
Transcript of Informatica Introduzione alle basi di datiggiuffrida/L16_Scienze_Amministrazione/...Sistema...
Informatica Introduzione alle basi di dati
Prof. Giovanni Giuffrida
e-mail: [email protected]
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 1
Materiale didattico
• Atzeni,Ceri,Paraboschi,Torlone, Basi di Dati,Modelli e linguaggi di
interrogazione, terza edizione, McGraw-Hill 2002.
• Albano-Ghelli-Orsini, Basi di Dati Relazionali e a Oggetti, Zanichelli, 1997
• Ullman, Basi di Dati e Basi di Conoscenza
• Access: Manuale utente
• Slides del corso
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 2
Sistema informativo
• Componente (sottosistema) di qualsiasi organizzazione– Azienda privata, pubblica, info private (PIM), famiglia, etc.
• Gestisce (acquisisce, elabora, conserva, produce) le informazioni di interesse (i.e., utilizzate per il perseguimentodegli scopi dell’organizzazione)– ogni organizzazione ha un sistema informativo, possibilmente non
esplicitato nella struttura stessa
– quasi sempre, il sistema informativo è di supporto ad altri sottosistemi
– il sistema informativo è di solito suddiviso in sottosistemi (in modogerarchico o decentrato), più o meno fortemente integrati
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 3
Sistema 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)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 4
Risorse aziendali
• le risorse di una azienda:
– persone
– denaro
– materiali
– informazioni
• Oggi viviamo nell‘era della conoscenza
• Il capitale principale delle organizzazioni è rappresentato dalla conoscenza (basata sui dati)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 5
Sistemi informativi e automazione
• Il concetto di “sistema informativo” è indipendenteda qualsiasi automazione
• esistono organizzazioni la cui ragion d’essere è la gestione di informazioni– Es.: servizi anagrafici, tribunali, biblioteche, etc
– Operano da secoli
– La gestione delle loro informazioni si è evoluta nel tempo • Ma ciò non altera l‘obiettivo dell‘organizzazione!
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 6
Sistema Informatico
• Porzione automatizzata del sistema informativo:– la parte del sistema informativo che gestisce informazioni con tecnologia informatica
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 7
Sistema azienda
Sistema organizzativo
Sistema informativo
Sistema informatico
Sistema informativo e sistema informatico
• Anche prima di essere informatizzati, molti sistemi informativi si sono evoluti– Razionalizzazione delle procedure di accesso ai dati
– Standardizzazione dell’esecuzione delle procedure
– Organizzazione delle informazioni
– Duplicazione degli archivi
• Esempi:– Uffici anagrafe– Contabilità familiare– Ordinazione al ristorante
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 8
Gestione delle informazioni
• Nelle attività umane, le informazioni vengono gestite (registrate e scambiate) in forme diverse:
– idee informali
– linguaggio naturale (scritto o parlato, formale o colloquiale, in una lingua o in un’altra)
– disegni, grafici, schemi
– numeri e codici
• e su vari supporti
– memoria umana, carta, dispositivi elettronici
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 9
Gestione 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 poi
– nome e cognome
– estremi anagrafici
– codice fiscale
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 10
Informazioni e dati
• Nei sistemi informatici (e non solo), le informazioni vengonorappresentate in modo essenziale, spartano: attraverso i dati
• Dal Vocabolario della lingua italiana (1987)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.
• Informazione può essere vista come un‘interpretazionesemantica dei dati– Dipendente dal contesto
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 11
Dati e informazioni
• I dati hanno bisogno di essere interpretati
Esempio
‘Mario’ ’275’ su un foglio di carta sono due dati.
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 12
Dati e informazioni
• I dati hanno bisogno di essere interpretati
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 interno?”, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza.
Oppure, soldi che Mario mi deve
Oppure, giorni lavorativi di Mario
Etc. Etc.
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 13
Perché i dati?
• La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile
• I dati costituiscono spesso una risorsastrategica
– Più stabili nel tempo di altre componenti quali processi, tecnologie, ruoli umani
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 14
Base di dati
Insieme organizzato di dati utilizzati per il
supporto allo svolgimento delle attività di un
ente (azienda, ufficio, personale)
• Tecnologicamente parlando:
– Insieme di dati gestito da un sistema software
dedicato alla gestione di basi di dati
– Data Base Management System (DBMS)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 15
Sistema di gestione di basi di datiDataBase Management System — DBMS
Applicazione software in grado di gestire collezioni di dati che siano:
– Grandi: di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati
– Persistenti: con un periodo di vita indipendente dalle singole esecuzioni deiprogrammi che le utilizzano
– Condivise: utilizzate da applicazioni diverse anche in località geografichediverse
– Affidabili: resistenza a malfunzionamenti hardware e software, blackout, etc.
– Private: 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
– Efficace: rendendo produttive le attività dei suoi utilizzatori
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 16
Alcuni DBMS in commercio
• Business estremamente grosso e profittevole
• Alcuni sistemi– Microsoft Access
– IBM-DB2
– Oracle
– Informix
– Sybase
– Microsoft SQLServer
– Ingres
– MySql (open-source)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 17
Condivisione dei dati
• Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività
• A ciascun settore o attività corrisponde un(sotto-)sistema informativo
• Possono esistere sovrapposizioni fra i dati di interesse dei vari settori
• Una base di dati è una risorsa integrata, condivisa frai vari settori
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 18
Possibili problemi nella condivisione dei dati
• Ridondanza:
– informazioni duplicate
• Rischio di incoerenza:
– le versioni possono non coincidere
• L’incoerenza tra i dati è un problema frequente nelle grandi organizzazioni (e molto complicato a volte da risolvere)
– Le basi di dati condivise hanno aiutato molto
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 19
Archivi e basi di dati
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 20
Gestione
ricevimentoArchivio 2:
ricevimento
Gestione
orario lezioniArchivio 1:
orario lezioni
Archivi e basi di dati
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 21
Gestione
ricevimento
Gestione
orario lezioni
Base di dati
Le basi di dati condivise
• Una base di dati e' una risorsa integrata e condivisa tra varie applicazioni e vari utenti
• Attivita' diverse da parte di diversi utenti su
dati in parte condivisi:
– Meccanismi di autorizzazione
– Controllo degli accessi
– Controllo della concorrenza, accesso ai dati in
competizione
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 22
Efficienza
• Si misura (come in tutti i sistemi informatici) in termini di– tempo di esecuzione (tempo di risposta)
– spazio di memoria (principale e secondaria)
• L’efficienza è funzione di vari fattori
– Qualità del DBMS
– Qualità delle applicazioni che usano il DBMS
– Manutenzione del DBMS
– Caratteristiche del server
– Ecc.
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 23
Architettura standard (ANSI/SPARC)a tre livelli per DBMS
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 24
BD
Schema logico
Schema
esterno
Schema fisico
Schema
esterno
Schema
esterno
utenteutente
utenteutente utente
Architettura ANSI/SPARC: schemi
• Schema esterno: descrizione di parte della base di dati del modello logico (“viste” parziali, derivate, anche in modelli diversi)
• Schema logico: descrizione dell’intera base di dati nel modello logico “principale” del DBMS
• Schema fisico: rappresentazione dei dati per mezzo di strutture fisiche di memorizzazione sui dischi rigidi
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 25
Astrazione dei dati nei DBMS
• Descrizioni e rappresentazione dei dati a livelli diversi di astrazione
• I livelli seguono un ordine ben preciso
• Ciò permette l’indipendenza dei dati dalla loro rappresentazione fisica sugli hard-disk:
– i programmi fanno riferimento alla struttura a livello più alto, e le rappresentazioni sottostanti possono essere modificate senza necessità di modifica dei programmi
– La rappresentazione ad un livello può cambiare nel tempo senza bisogno di cambiare i livelli sovrastranti
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 26
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:
– Indipendenza fisica
– Indipendenza logica
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 27
Indipendenza fisica
• Il livello logico e quello esterno sonoindipendenti da quello fisico
– una relazione è utilizzata nello stesso modoqualunque sia la sua realizzazione fisica
– la realizzazione fisica può cambiare senza chedebbano essere modificati i programmi
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 28
Indipendenza logica
• Il livello esterno è indipendente da quellologico
• Aggiunte o modifiche alle viste non richiedonomodifiche al livello logico
• Modifiche allo schema logico che lascinoinalterato lo schema esterno sono trasparenti
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 29
Modello dei dati
• Insieme di costrutti e metodi utilizzati per organizzare i dati di interesse e descriverne la dinamica
• Componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)
• Ogni modello dei dati prevede specifici costruttori
• Ad esempio, il modello relazionale prevede il costruttorerelazione, che permette di definire insiemi di record omogenei
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 30
Due tipi principali di modelli
• Modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati– utilizzati dai programmi
– indipendenti dalle strutture fisiche
– esempi: relazionale, reticolare, gerarchico, a oggetti
• Modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema– cercano di descrivere i concetti del mondo reale
– sono utilizzati nelle fasi preliminari di progettazione
– Il più noto è il modello Entity-Relationship
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 31
Organizzazione dei dati nel modello relazionale
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 32
Insegnamento Docente Aula Ora
Analisi matem. I Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45
Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45
Sistemi inform. Piero Rossi N3 8:00
Orario
Schemi e istanze
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 33
• Lo schema della base di dati
Insegnamento Docente Aula Ora
Schemi e istanze
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 34
• L’istanza della base di dati
Analisi matem. I Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45
Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45
Sistemi inform. Piero Rossi N3 8:00
Schemi e istanze
• In ogni base di dati esistono:
– Aspetto intensionale: lo schema• Sostanzialmente invariante nel tempo
• Descrive la struttura
• Nell’esempio, le intestazioni delle tabelle
– Aspetto estensionale: l’istanza• I valori possono cambiare anche molto
rapidamente
• Raccoglie i dati
• Nell’esempio, il “corpo” di ciascuna tabella
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 35
Esempio di DB relazionale
Matr_Studente Corso Voto
678 Programmazione 27
456 Architettura 30
567 Programmazione 18
678 Matematica 22
678 Architettura 30
456 Statistica 19
678 Statistica 22
567 Matematica 18
Denominazione Docente
Programmazione Ferro
Architettura Pappalardo
Matematica Lizzio
Statistica Lizzio
Studenti
Esami
Corsi
Nome Matricola Indirizzo Citta Luogo di nascita
Mario Rossi 456 Via Roma 1 Catania Catania
Ugo Bianchi 567 Via Etnea 154 Enna Ragusa
Teo Verdi 678 Via Parma 12 Catania Enna
Leo Poldo 768 Piazza Roma 1 Ragusa Ragusa
Esempio di query
Quali docent hanno
dato piu’ di 24 a Teo
Verdi ed in quali
corsi?
Corso Docente
Programmazione Ferro
Architettura Pappalardo
Linguaggi per basi di dati
• Permettono interrogazioni formali delle basi di dati nel modello logicoutilizzato
• Algebra relazionale: Formalismo di base per la formalizzazione diinterrogazioni nel modello relazionale (la madre di tutti i modelli)
• SQL (Structured Query Language): Linguaggio di tipo testuale per basi didati relazionali– Adottato da tutti i sistemi DBMS relazionali
• Interfacce visuali (tipo Access)• I vari linguaggi di programmazione (e.g. Java) permettono di interrogare le
basi di dati incorporando SQL al loro interno• New: Linguaggi No-SQL
– Ancora in definizione– Non strutturati– Efficienti– Imprecisi
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 38
Esempio di SQL
SELECT Corso, Aula, PianoFROM Aule, CorsiWHERE Nome = AulaAND Piano="Terra"
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 39
Corso Aula
Reti N3
Sistemi N3
Piano
Terra
Terra
Interazione non testuale (in Access)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 40
Una distinzione terminologica (separazione fra dati e programmi)
• Data manipulation language (DML)
– Per l’interrogazione e l’aggiornamento di (istanze di) basi di dati
• Data definition language (DDL)
– Per la definizione di schemi (logici, esterni, fisici) e altre operazioni generali
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 41
Un'operazione DDL (sullo schema)
CREATE TABLE orario (
insegnamento CHAR(20) ,
docente CHAR(20) ,
aula CHAR(4) ,
ora time
)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 42
Personaggi e interpreti
• Progettisti e realizzatori di DBMS
• Progettisti della base di dati e amministratori dellabase di dati (DBA)
• Progettisti e programmatori di applicazioni
• Utenti
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 43
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 quelle di progettazione, anche se in progetti complessi ci possono essere distinzioni
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 44
Transazioni
• Programmi che realizzano attività frequenti e predefinite, conpoche eccezioni, previste a priori
• Esempi: – versamento presso uno 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)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 45
Transazioni
• Altra definizione importante di transazione:– Sequenza indivisibile di operazioni
• Atomicità: O vengono eseguite tutte le operazioni o nessuna
• I DBMS sono in grado di garantire l‘atomicità delle transazioni
• Costrutti per marcare l‘inizio e la fine della transazione
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 46
Vantaggi e svantaggi dei DBMS
Pro
• dati come risorsa comune, base di dati come modello della realtà
• gestione centralizzata con possibilità di standardizzazione ed “economia discala”
• disponibilità di servizi integrati
• riduzione di ridondanze e inconsistenze
• indipendenza dei dati (favorisce lo sviluppo e la manutenzione delleapplicazioni)
Contro
• costo dei prodotti e della transizione verso di essi
• non scorporabilità delle funzionalità (con riduzione di efficienza)
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 47
FINE
27 November 2014 Basi di Dati - Introd. - Prof. G. Giuffrida 48