Le varie strutture del database

Le basi di dati possono avere varie strutture, di solito, in ordine cronologico:

1. gerarchica (rappresentabile tramite un albero - anni sessanta),
2. reticolare (rappresentabile tramite un grafo - anni sessanta),
3. relazionale (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse - anni settanta),
4. ad oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programmazione a oggetti - anni ottanta),
5. semantica (rappresentabile con un grafo relazionale - inizio anni duemila).



Il formato XML, oltre che per scambi di dati su web, si sta diffondendo per la definizione di vere e proprie basi di dati. XML ha una struttura gerarchica, pare quindi un "ritorno alle origini" dei modelli di dati.

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.


* Data Definition Language (DDL) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso.
* Device Media Control Language (DMCL) - permette alla struttura fisica del database di far riferimento alle particolari unità di memoria di massa utilizzate dal sistema.
* Data Manipulation Language (DML) - consente di interrogare e aggiornare le istanze della base di dati.
* Data Control Language (DCL) - permette la gestione dell'accesso al database con relative restrizioni di operazioni come aggiornamento, selezione e cancellazione.
* Query language (QL) - permette di interrogare il database al fine di ritrovare i dati relativi alla chiave di ricerca impostata dall'utente.

Inoltre è possibile suddividere i linguaggi come:

* Linguaggi testuali interattivi, come l'SQL, di cui sono stati pubblicati diversi standard, che attualmente è il linguaggio più utilizzato.
* Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali C, Basic ecc.
* Linguaggi testuali interattivi immersi in linguaggi di programmazione proprietari.
* Linguaggi grafici e user-friendly, come QBE (Query By Example), che possono essere utilizzati anche dai meno esperti.

Fonte: Contributori di Wikipedia, 'Database', Wikipedia, L'enciclopedia libera, 29 dicembre 2010, 12:44 UTC, it.wikipedia.org. Modifiche: titolo indice 2. Testo pubblicato con licenza cc-by-sa.