Giuditta Cantoni, 4 E S.I.A I DATABASE
Definizione databese In informatica, il termine database, banca dati o base di dati (a volte abbreviato con il termine DB), indica un archivio dati, o un insieme di archivi, in cui le informazioni in esso contenute sono strutturate e collegate tra loro secondo un particolare modello logico, che può essere relazionale, gerarchico, reticolare o a oggetti. In questo modo consente la gestione/organizzazione efficiente dei dati stessi in maniera semplice e l'interfacciamento con le richieste dell'utente attraverso i cosiddetti query language, e a particolari applicazioni software basate su un'architettura di tipo client-server.
Definizione database Il termine "database" può dunque indicare contemporaneamente: l'archivio a livello fisico (hardware) cioè il sistema con i supporti di memorizzazione 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, gestione ed interrogazione efficiente dei dati. La parola "database" viene spesso usata quasi unicamente per indicare il database management system riferendosi dunque alla sola parte software.
Gestione delle informazioni I database devono contenere anche le informazioni sulle loro rappresentazioni e sulle relazioni che li legano. Spesso contengono le seguenti informazioni: Strutture dati che velocizzano le operazioni frequenti, di solito a 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.
Gestione delle informazioni In un sistema informatico, un database può essere usato direttamente dai programmi applicativi, interfacciandosi con il supporto di memorizzazione. Questa strategia era quella adottata universalmente fino agli anni sessanta, ed è tuttora impiegata quando i dati hanno una struttura molto semplice. 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 dei database (Database Management System>DBMS). Uno dei vantaggi di questi sistemi è la possibilità di non agire direttamente sui dati, ma di vederne una rappresentazione concettuale.
Struttura modello logico I database possono avere varie strutture, e di solito vengono classificati in base alla loro tipologia di organizzazione delle informazioni: Gerarchici>i dati vengono organizzati in insiemi che si legano tra loro tramite la sola relazione di "possesso". Un insieme padre può possedere altri insiemi, figli; ma un insieme figlio dati. (anni ’60) può appartenere solo ad un unico altro insieme, il padre. La struttura risultante è un albero di insiemi di dati; Reticolare> l modello reticolare è molto simile a quello gerarchico, ed infatti nasce come estensione di quest’ultimo. Anche in questo modello insiemi di dati sono legati da relazioni di possesso, ma ogni insieme di dati può appartenere a uno o più insiemi. La struttura risultante è una rete di insiemi di dati (anni ’60);
Struttura modello logico Relazionali>approccio più diffuso. E’ un particolare tipo di database in cui i diversi file separati vengono messi in relazione attraverso dei campi chiave. Si chiama relazionale in quanto l’archivio dei dati è in funzione della relazione tra i dati stessi. E’ possibile consultare i dati in maniere incrociata (anni ’70); Ad oggetti>I database ad oggetti sono nati con lo scopo di superare gli attuali limiti dei database relazionali in termini di potenza e rappresentazione dei dati. Possiamo definire un database object-oriented come uno strumento che offre all’applicazione la possibilità di rendere persistenti i dati che gestisce, fornendo funzionalità di accesso universali e ricerca dei dati (anni ’80);
Struttura modello logico Semantico >Rappresentati tramite grafici relazionali (anni 2000) Distribuito>è una collezione di siti (detti nodi) collegati tra loro. Può essere sezionato o replicato in diverse postazioni di una rete.
Database management system E’ un sistema software progettato per consentire la creazione e la manipolazione, da parte di un amministratore, e l'interrogazione efficiente, da parte di uno o più utenti, di database, per questo detto anche ‘gestore o motore del database’, e ospitato su architettura hardware dedicata oppure su semplice computer. I DBMS svolgono un ruolo fondamentale in numerose applicazioni informatiche, dalla contabilità, alla gestione delle risorse umane e alla finanza fino a contesti tecnici come la gestione di rete o la telefonia. Oggi il loro utilizzo è diffuso praticamente in ogni contesto. L'espressione applicazione enterpise, che nel gergo informatico si riferisce ad applicazioni legate al business delle aziende che le utilizzano, implica quasi ‘per definizione’ la presenza di una o più basi di dati amministrate da uno o più database management system.
Database management system La teoria dei database, e dei DBMS, rappresenta da sempre uno dei filoni più solidi e importanti dell'informatica. Un DBMS è differente dal concetto generale di applicazione sulle banche dati, in quanto è progettato per sistemi multi-utente. A tale scopo, i DBMS si appoggiano a kernel (nucleo di un sistema operativo) che supportano il multitasking e il collegamento in rete. Una tipica applicazione per la gestione dei database non includerebbe tali funzionalità, ma si appoggerebbe al sistema operativo per consentire all'utente di ricavarne dei vantaggi. Possono essere: Database navigazionali; Database relazionali; Database multidimensionali; Database ad oggetti.
Esempio di database gerarchico
Esempio di database reticolare
Esempio di database relazionale
Esempio di database ad oggetti
Esempio di database semantico
Esempio di database distribuito
Esempi di DBMS