Database
Il termine Database, tradotto in italiano con base di dati o anche basedati e, con sempre meno frequenza, banca dati, indica una implementazione di un insieme di dati riguardanti uno stesso argomento, o più argomenti correlati tra loro, strutturata in modo tale da consentire che i dati possano venire utilizzati per diverse applicazioni e, spesso, possano evolvere nel tempo. La base di dati, oltre ai dati veri e propri, deve contenere anche le informazioni sulle loro rappresentazioni, sulle relazioni che li legano, sui loro collegamenti con dati esterni, sulla loro struttura complessiva e tutti gli altri elementi atti a consentire le loro manipolazioni richieste dalle applicazioni prevedibili.
La disciplina legata alle Basi di Dati si occupa di tutte le problematiche legate alla gestione, analisi ed interpretazione di un insieme di dati che vengono trattati da un sistema informativo. Il termine "DBMS" (Database management system = sistema per la gestione di basi di dati) indica un ambiente software progettato per la raccolta e la gestione di dati secondo precise strutture e con tecnologie consolidate per garantire la facilità di accesso e la sicurezza.
Le Basi di Dati spesso fanno uso di tecnologie derivate da altre branche dell'informatica. È usuale utilizzare tecniche derivate dall'intelligenza artificiale, come ad esempio il data mining, per cercare di estrarre relazioni o più in generale informazioni presenti nelle banche dati ma non immediatamente visibili.
Le basi di dati possono avere varie strutture, tipicamente, in ordine cronologico:
- . Gerarchica (rappresentabile tramite un albero; anni 60
- . Reticolare (rappresentabile tramite un grafo; anni 70
- . Relazionale (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse, anni '70-'80
- . A oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programazione a oggetti, anni 80.
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.
| Indice |
Linguaggi per basi di dati
È possibile distinguere i linguaggi per basi di dati secondo il loro utilizzo:
- DDL (Data Definition Language) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso.
- DML (Data Manipulation Language) - consente di interrogare e aggiornare le istanze della base di dati.
Inoltre è possibile suddividere i linguaggi come:
- Linguaggi testuali interattivi, come l'SQL, di cui sono stati pubblicati diversi standard, che attualmente è il linguaggio piu utilizzato.
- Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali C, Basic ecc.
- Linguaggi testuali interattivi immersi in linguaggi di programmazioone proprietari.
- Linguaggi grafici e user-friendly, come QBE (Query By Example), che possono essere utilizzati anche dai meno esperti.
Gestione dei dati (Data management)
Voci correlate
- Informatica
- Tecnologia ODBC
- Tecnologia JDBC
- SQL
- Cache
- Transazione
Database management system (DBMS)
- 4th Dimension
- Adabas
- AskSam
- Berkeley DB
- Caché
- Conzept16
- c-tree Plus
- DB1
- DB2
- DBMaker
- dBase
- FileMaker
- Firebird
- Firebird SQL
- FoxBase
- Gupta SQLBase
- IDMS
- IMS
- Ingres
- Informix
- Interbase
- Lotus Approach
- Microsoft Access
- Microsoft SQL Server
- mSQL
- MySQL
- Oracle
- Orient ODBMS
- PicoSQL
- PostgreSQL
- Progress
- SQLite
- SQL Anywhere Studio
- Sybase SQL Server
