2.1b - DB e DBMS - Home page istituzione trasparente

DB e DBMS
Corso di
Fondamenti di Informatica (PEU-Z)
Dott.ssa Rossella Aiello
Testi di riferimento
 Atzeni, Ceri, Paraboschi, Torlone
“Basi di Dati”
Mc Graw Hill – 2014 (IV 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
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