Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Web, Database e DBMS

Le caratteristiche e le funzionalità principali secondo cui i DBMS vengono normalmente classificati.
Le caratteristiche e le funzionalità principali secondo cui i DBMS vengono normalmente classificati.
Link copiato negli appunti

Il World Wide Web e' forse una delle maggiori fonti di informazione a cui oggi possiamo attingere: avendo a disposizione un collegamento a Internet ed un browser Web, un software ormai comune su qualsiasi computer, abbiamo la possibilita' di consultare un patrimonio di centinaia di milioni di pagine riguardanti praticamente ogni argomento di interesse.

Spesso queste pagine non sono documenti statici, ma vengono creati dinamicamente quando noi li richiediamo e le informazioni che contengono vengono estratte da un database. Se il database e' un database relazionale (vedremo in seguito cosa questo significa), probabilmente il linguaggio utilizzato per recuperare le informazioni che ci vengono mostrate e' SQL (Structured Query Language).

Database e DBMS: definizione e funzionamento

Prima di occuparci di cos'e' e come si usa SQL cerchiamo di capire cosa si intende con la parola database, che spesso in italiano viene tradotta come "base di dati". Un database e' una collezione di dati che viene gestita e organizzata da un software specifico, il DBMS (DataBase Management System, Sistema di Gestione di DataBase).

Un DBMS e' sostanzialmente uno strato software che si frappone fra l'utente ed i dati veri e propri. Grazie a questo strato intermedio l'utente e le applicazioni non accedono ai dati cosi' come sono memorizzati effettivamente, cioè alla loro rappresentazione fisica, ma ne vedono solamente una rappresentazione logica. Ciò permette un elevato grado di indipendenza fra le applicazioni e la memorizzazione fisica dei dati. L'amministratore del database, se ne sente la necessità, può decidere di memorizzare i dati in maniera differente o anche di cambiare il DBMS senza che le applicazioni, e quindi gli utenti, ne risentano. La cosa importante e' che non venga cambiata la rappresentazione logica di quei dati, che e' la sola cosa che i loro utilizzatori conoscono. Questa rappresentazione logica viene chiamata 'Schema del database' ed e' la forma di rappresentazione dei dati più a basso livello a cui un utente del database puù accedere.

Ad esempio, in Figura 1 e' rappresentata una situazione in cui l'amministratore del database ha deciso che per motivi di efficienza era necessario cambiare il disco su cui erano memorizzati alcuni dati, partizionandoli inoltre su più dischi per permettere accessi paralleli a sottoinsiemi di dati indipendenti. Dal punto di vista dell'utente non e' cambiato assolutamente nulla e probabilmente egli non e' nemmeno a conoscenza dell'avvenuto cambiamento.

Esempio di indipendenza dell'utente dalla memorizzazione fisica

La caratteristica pricipale secondo cui i DBMS vengono normalmente classificati e' appunto la rappresentazione logica dei dati che essi mostrano ai loro utilizzatori.

Tipi di Database

Nel corso degli anni sono stati adottati numerosi modelli per i dati, a fronte dei quali esistono quindi vari tipi di database. I tipi piu' comuni sono:

Database gerarchici: i dati vengono organizzati in insiemi legati fra loro da relazioni di "possesso", in cui un insieme di dati puo' possedere altri insiemi di dati, ma un insieme puo' appartenere solo ad un altro insieme. La struttura risultante e' un albero di insiemi di dati.

Database reticolari: il modello reticolare e' 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 puo' appartenere a uno o piu' insiemi. La struttura risultante e' una rete di insiemi di dati.

Database relazionali: i database appartenenti a questa categoria si basano sul modello relazionale la cui struttura principale e' la relazione, cioe' una tabella bidimensionale composta da righe e colonne. Ciascuna riga, che in terminologia relazionale viene chiamata tupla, rappresenta un'entita' che noi vogliamo memorizzare nel database. Le caratteristiche di ciascuna entita' sono definite invece dalle colonne delle relazioni, che vengono chiamate attributi. Entita' con caratteristiche comuni, cioe' descritti dallo stesso insieme di attributi, faranno parte della stessa relazione.

Database ad oggetti (object-oriented): lo schema di un database ad oggetti e' rappresentato da un insieme di classi, che definiscono le caratteristiche ed il comportamento degli oggetti che popoleranno il database. La principale differenza con i modelli esaminati finora e' la non passivita' dei dati. Infatti con un database tradizionale (intendendo con questo termine qualunque database non ad oggetti) le operazioni che devono essere effettuate sui dati vengono demandate alle applicazioni che li utilizzano. Con un database object-oriented, al contrario, gli oggetti memorizzati nel database contengono sia i dati che le operazioni possibili su tali dati. In un certo senso potremmo pensare agli oggetti come a dati a cui e' stata fatta una iniezione di intelligenza, che gli permette di sapere come comportarsi, senza doversi appoggiare ad applicazioni esterne.

I primi due tipi di database, quelli gerarchici e reticolari, quasi appartengono ormai alla storia dell'informatica. La maggior parte dei database attualmente utilizzati appartiene alla categoria dei database relazionali. I motivi di questo successo (anche commerciale) vanno ricercati nella rigorosita' matematica e nella potenzialita' espressiva del modello relazionale su cui si basano, nella sua semplicita' di utilizzo e, ultima ma non meno importante, nella disponibilita' di un linguaggio di interrogazione standard, l'SQL, che, almeno potenzialmente, permette di sviluppare applicazioni independenti dal particolare DBMS relazionale utilizzato.

I database ad oggetti sono la nuova frontiera nella ricerca sui database, infatti le loro caratteristiche di estendibilita', derivanti dalla possibilita' di definire nuovi tipi di dati e comportamenti, li rendono particolarmente appetibili per tutte quelle applicazioni che richiedono dati complessi, come ad esempio immagini, suoni o coordinate. Purtroppo la mancanza di un modello per gli oggetti universalmente accettato e la non disponibilita' di un linguaggio di interrogazione standard fanno si' che ogni produttore implementi la propria visione specifica, di solito assolutamente incompatibile con tutte le altre. Di recente sono apparsi sul mercato alcuni database, definiti object-relational, che cercano di introdurre nel modello relazionale le caratteristiche di estendibilita' proprie dei database object-oriented.

Cosa fa un DBMS

Indipendentemente dal tipo di database, le funzionalita' principali che ci si deve aspettare da un DBMS sono quelle di:

  • consentire l'accesso ai dati attraverso uno schema concettuale, invece che attraverso uno schema fisico;
  • permettere la condivisione e l'integrazione dei dati fra applicazioni differenti;
  • controllare l'accesso concorrente ai dati;
  • assicurare la sicurezza e l'integrita' dei dati.

Grazie a queste caratteristiche le applicazioni che vengono sviluppate possono contare su una sorgente dati sicura, affidabile e generalmente scalabile. Tali proprieta' sono auspicabili per applicazioni che usano la rete Internet come infrastruttura e che hanno quindi evidenti problemi di sicurezza e scalabilita'.

Ti consigliamo anche