Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria secondaria
Base di dati collezione di dati Persistente: il ciclo di vita dei dati non è limitato alle singole esecuzioni dei programmi che li usano Condivisa da più utenti e più applicazioni
Condivisione La condivisione non è mai completa: controllo della sicurezza La condivisione comporta la necessità di gestire accessi contemporanei agli stessi dati: controllo della concorrenza
Sicurezza I dati devono essere protetti da accessi non autorizzati e quindi è necessario definire: il regolamento di accesso (chi può accedere a quali dati e in quale modalità) gli effetti di una violazione (dal negare l’accesso fino al bloccare il sistema)
Transazione Transazione: sequenza di operazioni che costituiscono un’unica operazione logica “Trasferisci €1000 dal c/c c1 al c/c c2” cerca c1 modifica saldo in saldo-1000 cerca c2 modifica saldo in saldo+1000 Una transazione deve essere eseguita completamente (commited) o non deve essere eseguita affatto (rolled back)
Concorrenza Transazione 1: “Accredita €1000 sul c/c c1” Tempo Transazione 2 cerca c1 t1 t2 modifica saldo in saldo+1000 t3 t4 modifica saldo in saldo+500 valore iniziale saldo: 2000 valore finale saldo: 2500
Schema di una base di dati I sistemi di basi di dati offrono agli utenti una vista astratta dei dati (schema della base di dati) e rendono trasparenti i dettagli di memorizzazione e manipolazione
Modello dei dati Insieme di strutture da utilizzare per la definizione dello schema della base di dati
Linguaggi di un DBMS data definition language (DDL) per la definizione dello schema e altre operazioni generali data manipulation language (DML) per l’interrogazione (query language) e l’aggiornamento della basi di dati
Classificazione dei DBMS I DBMS possono essere classificati in base al modello dei dati (strutture per organizzare i dati): gerarchici (metà anni ‘60) a rete (metà anni ‘60) relazionali (anni ‘80) orientati ad oggetti (metà anni ‘80)