Caratteristiche di una base di dati
Una base di dati deve godere di tre proprietà. Deve essere:
- Grande
- Persistente
- Condivisa
Il ciclo di vita dei dati deve essere separato da quello delle applicazioni. I file sono collettori di informazioni (sequenze d’informazioni) tutte dello stesso tipo. Possono essere condivisi da più utenti e contenere grosse quantità d’informazioni. Essi sono persistenti perché memorizzati su memoria di massa.
Problemi dei file
Qual è il problema dei file? La condivisione! Perché abbiamo un meccanismo di lock/unlock.
Problemi principali
- Condivisione delle informazioni
- Concorrenza agli accessi
- Coerenza e consistenza delle informazioni
Appesantimento delle informazioni (aumento complessità). Se un'informazione è coerente, tutte le altre collegate alla medesima devono essere coerenti. Era a carico delle informazioni stesse verificare la correttezza delle informazioni.
Database Management System (DBMS)
Per risolvere questi problemi si introdusse il database management system (DBMS), che è un software per la gestione delle basi di dati. Le architetture delle basi di dati passano da uno schema in cui le applicazioni parlano direttamente con i DB ad un’architettura a tre livelli dove il DBMS è il tramite tra l’applicazione e il DB. Questo risolve tutti i problemi sopra illustrati, in particolare garantendo la coerenza e consistenza delle informazioni. Esso è un'estensione del file system che garantisce che collezioni grandi, persistenti e condivise di informazioni siano gestite in maniera efficace, efficiente, sicura e affidabile. È un middleware (software di interfacciamento) e implementa meccanismi di accesso ai file.
Una definizione migliore è che il DBMS è un’estensione del file system per gestire informazioni in maniera efficace, efficiente, sicura e affidabile. L’affidabilità è fondamentale perché è necessario non perdere MAI dati. L’affidabilità consiste nel ripristino a valle dei dati a seguito di guasti software o hardware. Per fare questo, conviene fare un backup perdendo tutti i dati che vanno dal momento in cui si verifica il guasto fino al momento del ripristino.
In realtà, non perdo proprio tutti i dati poiché il DBMS ha un file chiamato log file che memorizza tutti i movimenti che fa il DBMS.
Modelli di dati nei DBMS
I DBMS implementano un modello logico dei dati. Essi si sono evoluti fino a quelli attuali che utilizzano un modello di tipo relazionale basato sul concetto di tabella. L'utente non vede come il DBMS si interfaccia col sistema, mascherando il meccanismo con una tabella fornendo una rappresentazione più vicina all'utente.