Fondamenti dei Database: Obiettivi, Indipendenza e Architettura a Tre Livelli
Classificato in Informatica
Scritto il in
italiano con una dimensione di 3,99 KB
Obiettivi Fondamentali di un Database
Un database è un insieme di dati memorizzati in modo organizzato e strutturato in un vettore di informazioni gestite da un computer.
Funzionalità e Requisiti Essenziali
-
L'Indipendenza dei Dati dalle applicazioni che li utilizzano. Questo concetto si divide in:
- Indipendenza Fisica: Possibilità di modificare lo schema fisico senza intaccare i livelli superiori.
- Indipendenza Logica: Se si modifica lo schema concettuale, non è necessario modificare i programmi applicativi.
- Minima Ridondanza delle Informazioni. Ridurre la ripetizione inutile dei dati al minimo indispensabile per evitare incongruenze. Fornire meccanismi per monitorare le operazioni sul database. Questo processo è raggiunto da meccanismi di controllo (spesso chiamati "spie" o *trigger*).
- Fornire Versatilità nelle possibilità di ricerca, offrendo le informazioni all'utente secondo vari criteri.
- Garantire la Protezione dei Dati contro utenti non autorizzati o malintenzionati.
- Verificare e garantire l'Integrità delle informazioni presenti nel database. Questo richiede di rispondere a potenziali guasti hardware, difetti nel codice dei programmi applicativi, aggiornamenti incompleti, immissione di dati non corretta o non valida, e così via.
- Backup e Ripristino. Prevedere meccanismi robusti per il salvataggio e il recupero dei dati.
- Ottenere un Tempo di Risposta sufficientemente ridotto per impedire all'utente di disperare. Il tempo di risposta è definito come il tempo trascorso da quando l'utente finale fa una richiesta al sistema fino a quando non inizia a ricevere una risposta.
- Gestire la concorrenza e risolvere i Problemi posti dall'accesso multi-utente.
L'Architettura di un Database: Il Modello a Tre Livelli
Uno degli obiettivi di un sistema di database è fornire una visione il più possibile astratta delle informazioni, ad esempio, nascondere i dettagli su come i dati vengono organizzati e conservati.
I Livelli Architetturali
Livello Interno
È la rappresentazione più vicina alla memorizzazione fisica dei dati. Associato a questo livello è lo Schema Interno, che descrive i dati memorizzati nel computer. Specifica i file contenenti le informazioni, l'organizzazione, le modalità di accesso dei record, il tipo e la lunghezza del record, i campi componente, i campi chiave, gli indici e così via.
Livello Concettuale
Si descrive lo Schema Concettuale, noto anche come Schema del Database. Questo definisce tutti i dati che partecipano al sistema. È ottenuto dalle esigenze dei potenziali utenti del sistema di database da implementare, a prescindere dalla forma o luogo in cui archiviare e recuperare i dati. Contiene elementi di dati (campi), dati compositi (record), le relazioni tra i record per relazionare o collegare i dati, le norme che disciplinano il funzionamento della società, e così via.
Livello Esterno
Rappresenta la vista del singolo utente o gruppo di utenti del database. È descritto dallo Schema Esterno. L'insieme delle percezioni individuali della banca dati. Ogni vista individuale è chiamata subschema o vista. I *subschema* definiscono la porzione dello schema concettuale che è di interesse, senza preoccuparsi della corrispondenza con lo schema concettuale. Un subschema può essere condiviso da più utenti e ogni utente sarà in grado di accedere a vari sottosistemi. Creando un subschema, si possono mescolare diversi campi di record, omettere campi, modificare l'ordine dei campi, aggiungere campi che possono essere calcolati da quelli descritti nello schema concettuale, e così via.