Generalità
Il termine "database" può anche indicare contemporaneamente:- l'archivio a livello fisico (hardware) cioè il sistema con i supporti di memorizzazione (es. hard disk) che contengono i dati stessi e il processore per l'elaborazione di questi (database server);
- l'archivio a livello logico cioè i dati strutturati e la parte software cioè il database management system (DBMS) ovvero quella vasta categoria di applicazioni che consentono la creazione, manipolazione (gestione) ed interrogazione efficiente dei dati.
Nei database più moderni, ovvero quelli basati sul modello relazionale, i dati vengono suddivisi per argomenti (in apposite tabelle) e poi tali argomenti vengono suddivisi per categorie (campi) con tutte le possibili operazioni di cui sopra. Tale suddivisione e funzionalità rende i database notevolmente più efficienti rispetto ad un archivio di dati creato ad esempio tramite file system di un sistema operativo su un computer almeno per la gestione di dati complessi.
La diffusione dei database, e dei relativi sistemi DBMS di gestione, nei sistemi informativi moderni è enorme e capillare essendo un componente base di un sistema informativo attraverso il rispettivo sistema informatico: si pensi a tutte le attività commerciali di gestione di magazzino, gestione clienti, a sistemi di immagazzinamento di dati personali o pubblici nella pubblica amministrazione e nelle imprese private (es. banche e aziende), contabilità ecc. I database sono presenti anche all'interno dell'architettura three-tier delle applicazioni web dove rappresenta il data layer ovvero la persistenza dei dati. La gestione e lo sviluppo dei database attraverso DBMS è diventata nel tempo una branca a tutti gli effetti dell'informatica moderna.
Gestione delle informazioni
La base di dati deve contenere anche le informazioni sulle loro rappresentazioni e sulle relazioni che li legano. Spesso, ma non necessariamente, una base dati contiene le seguenti informazioni:- Strutture dati che velocizzano le operazioni frequenti, di solito a spese di operazioni meno frequenti.
- Collegamenti con dati esterni, cioè riferimenti a file locali o remoti non facenti parte del database.
- Informazioni di sicurezza, che autorizzano solo alcuni profili utente ad eseguire alcune operazioni su alcuni tipi di dati.
- Programmi che vengono eseguiti, automaticamente o su richiesta di utenti autorizzati, per eseguire elaborazioni sui dati. Un tipico automatismo consiste nell'eseguire un programma ogni volta che viene modificato un dato di un certo tipo.
Dalla fine degli anni sessanta, tuttavia, per gestire basi di dati complesse condivise da più applicazioni si sono utilizzati appositi sistemi software, detti sistemi per la gestione di basi di dati (in inglese "Database Management System" o "DBMS"). Uno dei vantaggi di questi sistemi è la possibilità di non agire direttamente sui dati, ma di vederne una rappresentazione concettuale.
La ricerca nel campo delle basi di dati studia le seguenti problematiche:
- Progettazione di basi di dati.
- Progettazione e implementazione di DBMS.
- Interpretazione (o analisi) di dati contenuti in database.
Struttura o modello logico
Le basi di dati possono avere varie strutture, di solito, in ordine cronologico:- gerarchica (rappresentabile tramite un albero – anni sessanta),
- reticolare (rappresentabile tramite un grafo – anni sessanta),
- relazionale (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse – anni settanta),
- ad oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programmazione a oggetti – anni ottanta),
- semantica (rappresentabile con un grafo relazionale – inizio anni duemila).
Un requisito importante di una buona base dati consiste nel non duplicare inutilmente le informazioni in essa contenute: questo è reso possibile dai gestori di database relazionali (teorizzati da Edgar F. Codd), che consentono di salvare i dati in tabelle che possono essere collegate.
La funzionalità di un database dipende in modo essenziale dalla sua progettazione: la corretta individuazione degli scopi del database e quindi delle tabelle, da definire attraverso i loro campi e le relazioni che le legano, permette poi una estrazione dei dati più veloce e, in generale, una gestione più efficiente.
Nessun commento:
Posta un commento