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.

Voci correlate: