2.1b: DB e DBMS
Testi di riferimento Atzeni, Ceri, Paraboschi, Torlone Basi di Dati Modelli e linguaggi di interrogazione Mc Graw Hill 2008 (III Edizione) Altri testi di consultazione e approfondimento sui DBMS: Elmasri, Navathe Sistemi di Basi di Dati: Fondamenti Pearson Education Italia, 2007 (V Edizione)
SISTEMI INFORMATIVI, INFORMAZIONI E DATI
Sistema informativo Per lo svolgimento di una qualsiasi attività sia individuale che collettiva sono essenziali Disponibilità di informazioni Capacità di gestirle in modo efficace Un Sistema Informativo permette di organizzare e gestire le informazioni Un Sistema Informativo non è necessariamente automatizzato i Sistemi Informativi esistono da molto prima della invenzione dei computer Esistono organizzazioni la cui ragion d essere è la gestione di informazioni (p. es. servizi anagrafici e banche) e che operano da secoli.
Rappresentazione dell informazione Nelle attività umane più semplici, le informazioni vengono rappresentate utilizzando tecniche naturali e legate alle attività stesse: Lingua scritta o parlata Disegni e figure Numeri Suoni
Rappresentazione dell informazione Nei Sistemi Informatici, le informazioni vengono rappresentate per mezzo dei Dati i quali vengono rappresentati all interno del computer, a loro volta, tramite successioni di 0 e 1
Dati ed Informazioni Da un Vocabolario della lingua italiana ( Istituto dell Enciclopedia Italiana, 1987) dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati. informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere.
Dati ed Informazioni I Dati da soli non hanno alcun significato Sono simboli, sono elementi primari. Rappresenta un fatto o un evento senza relazione con altre cose, è un fatto risultante dall osservazione diretta, prodotto dalla sensazione e dalla misurazione, è una cosa che accade, verità e realtà. Un fatto appartiene al mondo reale, e il dato corrispondente è nella nostra mente. Il dato può esistere in qualunque forma, utilizzabile o non. Esempi di dati: Π = 3,14159; piove; anno 1492; l ultima alluvione dell Arno è stata nel 1966; stipendio = 1.500
Dati ed Informazioni I Dati interpretati e correlati forniscono Informazione I dati sono una versione grezza dell informazione I dati Mario Rossi e 25775 in risposta alla domanda Nome del dipendente e suo numero di telefono forniscono informazione In un romanzo giallo, la scoperta del colpevole avviene interpretando i dati, cioè deducendo da tanti dati sconnessi (un bottone verde, una penna gialla e l abbaiare di un cane) fatti e situazioni.
Dati e Applicazioni I Dati sono più stabili (duraturi) delle stesse procedure che li gestiscono. Frequentemente è necessario sostituire ad una procedura un altra più aggiornata (perché magari è cambiata la normativa). Migrazione dei dati: La nuova versione della procedura utilizza i dati esistenti che quindi devono migrare dalla precedente. Dati più importanti delle procedure Dati sono una risorsa importante per l organizzazione che li gestisce. Essi sono un patrimonio significativo da proteggere.
BASI DI DATI E SISTEMI DI GESTIONE DI BASI DI DATI Atzeni, cap. 1.2
Gestione dei Dati senza DBMS Approccio convenzionale alla gestione dei dati: in assenza di un software specifico (il DBMS), la gestione dei dati è affidata ai programmi scritti con i comuni linguaggi di programmazione (Cobol, C, C++, Java) Con l approccio convenzionale, il programmatore memorizza i dati in files sulla memoria di massa. Un file consente di memorizzare e ricercare i dati, ma offre meccanismi primitivi di accesso e di condivisione crea un programma per ogni operazione da fare I programmi sono autonomi e indipendenti gli uni dagli altri, cioè ciascuno di essi definisce e utilizza uno o più files privati I dati vengono replicati tante volte quanti sono i programmi che li utilizzano (con problemi di ridondanza e incoerenza)
Gestione dei Dati senza/con DBMS Senza DBMS PROGRAMMA 1 PROGRAMMA 2 PROGRAMMA 3 DATA BASE MANAGEMENT SYSTEM Archivio A Archivio B Archivio C Archivio D Archivio E DATABASE Con DBMS
DB e DBMS BASE DI DATI (DB=Database) collezione di dati (tipicamente molto corposa) memorizzati in un computer organizzati in forma strutturata condivisi tra più utenti (anche migliaia) e da questi accessibili contemporaneamente sui quali è possibile operare efficientemente ricerche e aggiornamenti DBMS (Data Base Management System) Software che permette di gestire un Database (es.: memorizzare, cancellare, interrogare in modo efficiente e semplice i dati)
DataBase Management System (DBMS) Prodotti software (complessi) disponibili sul mercato; esempi: Access DB2 Oracle Informix Sybase SQLServer MySQL
DataBase Management System (DBMS) Più formalmente: Un DBMS è un Sistema Software che gestisce collezioni di dati: Grandi Condivise Persistenti garantendo Affidabilità Privatezza Efficienza Efficacia
Le Basi di Dati sono grandi Il DB è di dimensioni molto maggiore della memoria centrale dei sistemi di calcolo utilizzati i dati devono quindi essere gestiti in memoria di massa il limite è solo quello fisico dei dispositivi
Le Basi di Dati sono... condivise Il DB è condiviso, cioè applicazioni e utenti diversi devono poter accedere a dati comuni, anche contemporaneamente. In questo modo Si riduce la ridondanza Si evita l inconsistenza. Si ha inconsistenza di dati quando in un dato momento esistono due o più versioni di uno stesso dato che non presentano lo stesso livello di aggiornamento. Questo si verifica quando un programma accede e aggiorna solo la propria copia di un dato, lasciando inalterate le altre copie dello stesso dato.
Gestione degli Accessi Condivisi Problematiche legate alla condivisione Alcune operazioni non interferiscono l una con l altra (es.: la lettura di un estratto conto da più parti) Altre operazioni vanno eseguite non simultaneamente (prelievo e deposito di denaro). In questo caso c è un meccanismo di blocco di un operazione mentre è in corso un altra operazione critica. Il DB può anche essere distribuito in più parti (luoghi fisicamente lontani) Procedure per la prenotazione posti aereo (DB è composto dai posti) Procedure per accesso a prelievo Bancomat
Le Basi di Dati sono... persistenti Il DB è persistente cioè i dati hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che li utilizzano I dati sopravvivono ai processi
I DBMS garantiscono... affidabilità Affidabilità (per le basi di dati): resistenza a malfunzionamenti hardware e software Il DBMS garantisce l affidabilità dei dati, cioè è capace di conservare praticamente intatto il contenuto della base di dati, anche in presenza di guasti hardware e software. Presenta meccanismi sofisticati di backup/recovery con i quali è possibile recuperare dati persi a seguito di guasti hw/sw del sistema
I DBMS garantiscono... privatezza Per ogni utente è specificato il tipo di operazione che può effettuare (autorizzazione dell accesso) accesso in lettura / scrittura / eliminazione / esecuzione Ad esempio, in un Database bancario: Un cliente può leggere il suo estratto conto, ma non modificarlo, se non tramite un operazione di prelievo. Un cliente non può leggere l estratto conto di altri. Lo sportellista può leggere e modificare solo alcune informazioni sul conto di un cliente (non può cioè eseguire tutte le operazioni; ad esempio non può modificare l importo del fido assegnato). Il Direttore può leggere e modificare tutti i campi del conto.
I DBMS debbono essere... efficienti Il DBMS usa efficientemente le risorse disponibili svolge tutte le operazioni utilizzando un insieme di risorse di spazio (memoria principale e secondaria) e di tempo (di esecuzione e di risposta) che sia accettabile per gli utenti Questa caratteristica dipende da almeno tre fattori: Bontà della progettazione (fattore umano) Tecniche scelte per l implementazione del progetto (fattore umano legato a scelte basate sulla qualità dell insieme di funzionalità disponibili) Dimensionamento adeguato del sistema informatico (fattore tecnologico)
I DBMS debbono essere... efficaci Un DBMS rende produttive le attività degli utilizzatori, offrendo servizi e funzionalità articolate, potenti e flessibili Un DBMS mette a disposizione un insieme di strumenti software che rendono veloce l accesso ai dati questo corso è in buona parte dedicato ad illustrare come i DBMS perseguono l'efficacia