introduzione alle basi di dati - dmi.unict.itggiuffrida/lm/basi di dati - introduzione.pdf ·...
TRANSCRIPT
Materiale didattico
Slides del corso
Atzeni,Ceri,Paraboschi,Torlone, Basi di Dati,Modelli elinguaggi 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
1
Sistema Informativo
Componente (sottosistema) di qualsiasi organizzazione
Azienda privata, pubblica, info private (PIM), famiglia, etc.
Gestisce (acquisisce, elabora, conserva, produce) leinformazioni di interesse (i.e., utilizzate per il perseguimentodegli scopi dell’organizzazione)
ogni organizzazione ha un sistema informativo, possibilmentenon esplicitato nella struttura stessaquasi sempre, il sistema informativo è di supporto ad altrisottosistemiil sistema informativo è di solito suddiviso in sottosistemi (inmodo gerarchico o decentrato), più o meno fortementeintegrati
2
Sistema Organizzativo
Insieme di risorse e regole per lo svolgimento coordinato delleattività 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 lo scambio di informazioni)
3
Risorse aziendali
Le risorse di una azienda:personedenaromaterialiinformazioni
Oggi viviamo nell‘era della conoscenza
Il capitale principale delle organizzazioni è rappresentato dallaconoscenza (basata sui dati)
4
Sistemi informativi e automazione
Il concetto di “sistema informativo” è indipendente da qualsiasiautomazione
Esistono organizzazioni la cui ragion d’essere è la gestione diinformazioni
Es.: servizi anagrafici, tribunali, biblioteche, etcOperano da secoliLa gestione delle loro informazioni si è evoluta nel tempo
Ma ciò non altera l‘obiettivo dell‘organizzazione!
5
Sistema Informatico
Porzione automatizzata del sistema informativo
Insieme di hardware e software per la gestione delleinformazioni
La parte del sistema informativo che gestisce informazioni contecnologia informatica
6
Sistema informativo e sistema informatico
Anche prima di essere informatizzati, molti sistemi informativisi sono evoluti
Razionalizzazione delle procedure di accesso ai datiStandardizzazione dell’esecuzione delle procedureOrganizzazione delle informazioniDuplicazione degli archivi
Esempi:Uffici anagrafeContabilità familiareOrdinazione al ristorante
7
Gestione delle informazioni
Nelle attività umane, le informazioni vengono gestite(registrate e scambiate) in forme diverse:
idee informalilinguaggio naturale (scritto o parlato, formale o colloquiale, inuna lingua o in un’altra)disegni, grafici, scheminumeri e codici
e su vari supportimemoria umana, carta, dispositivi elettronici
8
Gestione delle informazioni
Nelle attività standardizzate dei sistemi informativi complessi,sono state introdotte col tempo forme di organizzazione ecodifica delle informazioni
Ad esempio, nei servizi anagrafici si è iniziato con registrazionidiscorsive e poi
nome e cognomeestremi anagraficicodice fiscale
9
Informazioni e dati
Nei sistemi informatici (e non solo), le informazioni vengonorappresentate in modo essenziale, spartano: attraverso i datiDal Vocabolario della lingua italiana (1987)
informazione: notizia, dato o elemento che consente di avereconoscenza più o meno esatta di fatti, situazioni, modi diessere.dato: ciò che è immediatamente presente alla conoscenza,prima di ogni elaborazione; (in informatica) elementi diinformazione costituiti da simboli che debbono essere elaborati.
Informazione può essere vista come un‘interpretazionesemantica dei datiDipendente dal contestoDipendente dal tempo di osservazioneIn genere l’informazione è difficile da catturare stabilmente
10
Dati e informazioni
I dati hanno quindi bisogno di essere interpretati
Esempio: ‘Mario’ e ’275’ su un foglio di carta sono due dati
11
Dati e informazioni
‘Mario’ ’275’
Se il foglio di carta viene fornito in risposta alla domanda: “Achi mi devo rivolgere per il problema X; qual è il suo interno?”
I dati sono interpretati per derivare informazione e arricchire laconoscenza
Quindi dipende dal contesto, potrebbe essere:soldi che Mario mi devegiorni lavorativi di Marionumero di pagine della tesi di MarioEtc. Etc.
12
Perché i dati?
La rappresentazione precisa di forme più ricche di informazionee conoscenza è difficile
I dati costituiscono spesso una risorsa strategica
Più stabili nel tempo di altre componenti quali processi,tecnologie, ruoli umani
13
Base di dati
Insieme organizzato di dati utilizzati per il supporto allosvolgimento delle attività (azienda, ufficio, personale)
Tecnologicamente parlandoInsieme di dati gestito da un sistema software dedicato alla"Gestione di basi di dati"
Data Base Management System (DBMS)
14
DataBase Management System — DBMS
Applicazione software in grado di gestire collezioni di dati che siano:
Grandi: di dimensioni (molto) maggiori della memoria centraledei sistemi di calcolo utilizzati
Persistenti: con un periodo di vita indipendente dalle singoleesecuzioni dei programmi che le utilizzano
Condivise: utilizzate da applicazioni diverse anche in localitàgeografiche diverse
Affidabili: resistenza a malfunzionamenti hardware e software,blackout, etc.
Private: con una disciplina e un controllo degli accessi
15
DataBase Management System — DBMS
Come ogni prodotto informatico, un DBMS deve essere
Efficiente: utilizzando al meglio le risorse di spazio e tempo delsistema
Efficace: rendendo produttive le attività dei suoi utilizzatori
16
Alcuni DBMS in commercio
Business estremamente grosso e profittevole
Alcuni prodotti in commercioMicrosoft AccessIBM-DB2OracleInformixSybaseMicrosoft SQLServerIngresMySql (open-source)
17
Condivisione dei dati
Ogni organizzazione (specie se grande) è divisa in settori ocomunque svolge diverse attività
A ciascun settore o attività corrisponde un (sotto-)sistemainformativo
Possono esistere sovrapposizioni fra i dati di interesse dei varisettori
Una base di dati è una risorsa integrata, condivisa fra i varisettori
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 grandiorganizzazioni (e molto complicato a volte da risolvere)
Le basi di dati condivise hanno aiutato molto nella soluzionedel problema
19
Le basi di dati condivise
Una base di dati è una risorsa integrata e condivisa tra varieapplicazioni e vari utenti
Attività diverse da parte di diversi utenti su dati in partecondivisi:
Meccanismi di autorizzazioneControllo degli accessiControllo della concorrenza, accesso ai dati in competizione
22
Efficienza
Si misura (come in tutti i sistemi informatici) in termini ditempo di esecuzione (tempo di risposta)spazio di memoria (principale e secondaria)
L’efficienza è funzione di vari fattoriQualità del DBMSQualità delle applicazioni che usano il DBMSManutenzione del DBMSCaratteristiche del serverEcc.
23
Architettura ANSI/SPARC: schemi
Schema esterno: descrizione di parte della base di dati delmodello logico (“viste” parziali, derivate, anche in modellidiversi)
Schema logico: descrizione dell’intera base di dati nel modellologico “principale” del DBMS
Schema fisico: rappresentazione dei dati per mezzo distrutture fisiche di memorizzazione sui dischi rigidi
25
Astrazione dei dati nei DBMS
Descrizioni e rappresentazione dei dati a livelli diversi diastrazione
I livelli seguono un ordine ben preciso
Ciò permette l’indipendenza dei dati dalla lororappresentazione fisica sugli hard-disk:
i programmi fanno riferimento alla struttura a livello più alto, ele rappresentazioni sottostanti possono essere modificate senzanecessità di modifica dei programmiLa rappresentazione ad un livello può cambiare nel temposenza bisogno di cambiare i livelli sovrastranti
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 fisicaIndipendenza logica
27
Indipendenza fisica
Il livello logico e quello esterno sono indipendenti da quellofisico
una relazione è utilizzata nello stesso modo qualunque sia lasua realizzazione fisicala realizzazione fisica può cambiare senza che debbano esseremodificati i programmi
28
Indipendenza logica
Il livello esterno è indipendente da quello logico
Aggiunte o modifiche alle viste non richiedono modifiche allivello logico
Modifiche allo schema logico che lascino inalterato lo schemaesterno sono trasparenti
29
Modello dei dati
Insieme di costrutti e metodi utilizzati per organizzare i dati diinteresse e descriverne la dinamica
Componente fondamentale: meccanismi di strutturazione (ocostruttori 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
31
Due tipi principali di modelli
Modelli logici: utilizzati nei DBMS esistenti perl’organizzazione dei dati
utilizzati dai programmiindipendenti dalle strutture fisicheesempi: relazionale, reticolare, gerarchico, a oggetti
Modelli concettuali: permettono di rappresentare i dati inmodo indipendente da ogni sistema
cercano di descrivere i concetti del mondo realesono utilizzati nelle fasi preliminari di progettazioneil più noto è il modello Entity-Relationship
32
Organizzazione dei dati nel modello relazionale
Table 1: Orario
INSEGNAMENTO DOCENTE AULA ORAAnalisi matematica Luigi Neri N1 8:00
Basi di dati Piero Rossi N2 9:45Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45
Sistemi Informativi Piero Rossi N3 8:00
33
Schemi e istanze
Table 3: l’istanza della base di dati
Analisi matematica Luigi Neri N1 8:00Basi di dati Piero Rossi N2 9:45Chimica Nicola Mori N1 9:45Fisica I Mario Bruni N1 11:45Fisica II Mario Bruni N3 9:45
Sistemi Informativi Piero Rossi N3 8:00
35
Schemi e istanze
In ogni base di dati esistono:Aspetto intensionale: lo schema
Sostanzialmente invariante nel tempoDescrive la strutturaNell’esempio, le intestazioni delle tabelle
Aspetto estensionale: l’ istanzaI valori possono cambiare anche molto rapidamenteRaccoglie i datiNell’esempio, il “corpo” di ciascuna tabella
36
Esempio di query
Quali docenti hanno dato più di 24 a Teo Verdi ed in qualicorsi?
Quali esami ha sostenuto Mario Rossi?
Quali studenti hanno preso almeno un corso col Prof. Lizzio?
etc etc etc
38
Linguaggi per basi di dati
Permettono interrogazioni formali delle basi di dati nel modellologico utilizzatoAlgebra relazionale: Formalismo di base per la formalizzazionedi interrogazioni nel modello relazionale (la madre di tutti imodelli)SQL (Structured Query Language): Linguaggio di tipo testualeper basi di dati relazionali
Adottato da tutti i sistemi DBMS relazionali
Interfacce visuali (tipo Access)I vari linguaggi di programmazione (e.g. Java) permettono diinterrogare le basi di dati incorporando SQL al loro internoNew: Linguaggi No-SQL
Ancora in definizioneNon strutturatiEfficientiImprecisi
39
Esempio di SQL
SELECT Corso, Aula, PianoFROM Aule, Corsi
WHERE Nome = AulaAND Piano = ’Terra’
Corso Aula PianoSistemi N3 TerraReti N3 Terra
40
Una distinzione terminologica (separazione fra dati e pro-grammi)
Data manipulation language (DML)Per l’interrogazione e l’aggiornamento di (istanze di) basi didati
Data definition language (DDL)Per la definizione di schemi (logici, esterni, fisici) e altreoperazioni generali
42
Un’operazione DDL
Esempio di creazione tabella
CREATE TABLE orario (insegnamento CHAR(20),docente CHAR(20),aula CHAR(4),ora time
)
43
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
44
Database administrator (DBA)
Persona o gruppo di persone responsabile del controllocentralizzato e della gestione del sistema, delle prestazioni,dell’affidabilità, delle autorizzazioni
Le funzioni del DBA includono quelle di progettazione, anchese in progetti complessi ci possono essere distinzioni
45
Transazioni
Programmi che realizzano attività frequenti e predefinite, conpoche eccezioni, previste a priori
Esempi:versamento presso uno sportello bancarioemissione di certificato anagraficodichiarazione presso l’ufficio di stato civileprenotazione aerea
Le transazioni sono di solito realizzate con programmi inlinguaggio ospite (tradizionale o ad hoc)
46
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
47
Vantaggi e svantaggi dei DBMS
Prodati come risorsa comune, base di dati come modello dellarealtàgestione centralizzata con possibilità di standardizzazione ed“economia di scala”disponibilità di servizi integratiriduzione di ridondanze e inconsistenzeindipendenza dei dati (favorisce lo sviluppo e la manutenzionedelle applicazioni)
Controcosto dei prodotti e della transizione verso di essinon scorporabilità delle funzionalità in certi casi (con riduzionedi efficienza)
48