uni
Il Sistema di Gestione di Basi di Dati (o Database management system, DBMS) gestisce collezioni di dati:
- grandi gestione sofisticata
- persistenti in memoria secondaria (lenta) limitare accesso a memoria lenta
tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano - condivise meccanismi di autorizzazione e Gestione della Concorrenza
e garantisce: - privacy
- affidabilitĂ :
i Database sono una risorsa pregiata e vanno protetti, la tecnica fondamentale inerente è la Gestione delle Transazioni. - efficienza:
utilizzare al meglio le risorse di spazio e di tempo - efficacia:
migliorare la produttività dell’utilizzatore
Regole ACID: AtomicitĂ , Coerenza, Isolamento, DurabilitĂ
Nei DBMS esiste una porzione della base di dati che contiene una descrizione centralizzata dei dati. Viene introdotto il concetto di Modello dei dati.
Un DBMS può essere monoutente o multiutente a seconda del numero di utenti che possono usufruirne simultaneamente.
Schema ed Istanza
In ogni base di dati esistono:
- schema: sostanzialmente invariante nel tempo, descrive la struttura della tabella (ovvero del Database).
- istanza: i valori attuali, che possono cambiare anche molto rapidamente, inoltre ci possono essere piĂą istanze diverse.
Architettura di un DBMS
- Schema Esterno:
- descrizione di parte della base di dati in un modello logico.
- Schema logico:
- descrizione della base di dati nel modello logico, ad esempio la struttura della tabella
- Schema interno (o fisico):
- rappresentazione dello schema logico per mezzo di strutture memorizzazione, ad esempio record con puntatori, ordinati in un certo modo
Linguaggi per Basi di Dati
i linguaggi usati sono linguaggi testuali interattivi (SQL) ovvero comandi in linguaggi testuali immersi in un linguaggio ospite (C++, Java, ecc) con interfacce amichevoli.
Distinzione terminologica:
- data definition language (DDL) per la definizione di schemi (logici o fisici)
- data manipulation language (DML) per l’interrogazione e l’aggiornamento di (istanze di) basi di dati.
Operazioni di aggiornamento
- Operazioni di Inserimento
- violazione dei vincoli intra-relazionali
- violazione dell’integrità referenziale
- operazione di cancellazione
- violazione dell’integrità referenziale
- operazione di modifica
- modifica = cancellazione + inserimento
Indipendenza dei Dati
L’accesso ai dati avviene solo tramite il livello esterno (che può coincidere con il livello logico).
Indipendenza fisica: il livello logico e quello esterno non dipendono dal livello fisico: il database è utilizzato in maniera indipendente dalla sua implementazione fisica.
Indipendenza logica: il livello esterno è indipendente dal livello logico, quindi modifiche alle viste non richiedono modifiche al livello logico e le modifiche al livello logico non impattano su quello esterno.
Personaggi
Abbiamo diversi personaggi che interagiscono con il DBMS:
- progettisti e realizzatori di DBMS
- progettisti della base di dati e amministratori della base di dati
- progettisti e programmatori di applicazioni
- utenti:
- utenti finali: eseguono applicazioni predefinite, ovvero Transazioni.
- utenti casuali: eseguono operazioni non previste a priori
Vantaggi e Svantaggi dei DBMS
Vantaggi:
1. dati come risorsa comune e database come modello della realtĂ
2. gestione centralizzata con possibilitĂ di standardizzazione ed economia di scala
3. disponibilitĂ di servizi integrati
4. riduzione di ridondanze e inconsistenze
5. indipendenza dei dati
1. favorisce lo sviluppo e la manutenzione delle applicazioni
Svantaggi:
1. costo dei prodotti e della transizione verso di essi
2. non scorporabilitĂ delle funzionalitĂ (con riduzione di efficienza)