Base di dati

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Banca dati)
Nota disambigua.svg Disambiguazione – "Database" rimanda qui. Se stai cercando altri significati, vedi Database (disambigua).

In informatica, il termine base di dati o banca dati (a volte abbreviato con la sigla DB dall'inglese data base), indica un insieme di dati, omogeneo per contenuti e per formato, memorizzati in un elaboratore elettronico e interrogabili via terminale utilizzando le chiavi di accesso previste.

Le informazioni contenute in una base di dati sono strutturate e collegate tra loro secondo un particolare modello logico scelto dal progettista (ad es. relazionale, gerarchico, reticolare o a oggetti). Gli utenti si interfacciano con le base dati attraverso i cosiddetti query language (query di ricerca o interrogazione, inserimento, cancellazione, aggiornamento ecc.) e grazie a particolari applicazioni software dedicati (DBMS).

Descrizione[modifica | modifica wikitesto]

Generalità[modifica | modifica wikitesto]

Il termine "base di dati" può anche indicare contemporaneamente:

Informalmente e impropriamente, la parola "base di dati" viene spesso usata per indicare il database management system (DBMS) riferendosi dunque alla sola parte software. Un client di database lato client interagisce con il DBMS e quindi anche con la base di dati in senso fisico.

Nelle basi di dati più moderne, ovvero quelle basate 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 le base di dati 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 delle basi di dati, 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. Le basi dati sono presenti anche all'interno dell'architettura three-tier delle applicazioni web dove rappresenta il data layer ovvero la persistenza dei dati costituendo una parte della programmazione web. La gestione e lo sviluppo delle basi di dati attraverso DBMS è diventata nel tempo una branca a tutti gli effetti dell'informatica moderna.

Gestione delle informazioni[modifica | modifica wikitesto]

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 della base di dati.
  • 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.

In un sistema informatico, una base di dati può essere usata direttamente dai programmi applicativi, interfacciandosi con il supporto di memorizzazione (insomma, agendo direttamente sui file). Questa strategia era quella adottata universalmente fino agli anni sessanta, ed è tuttora impiegata quando i dati hanno una struttura molto semplice, o quando sono elaborati da un solo programma applicativo.

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 (analisi) di dati contenuti in database.

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.

Struttura o modello logico[modifica | modifica wikitesto]

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

  1. gerarchico (rappresentabile tramite un alberoanni sessanta, ovvero con strutture simili ai file system gerarchici),
  2. reticolare (rappresentabile tramite un grafoanni 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 una base di dati dipende in modo essenziale dalla sua progettazione: la corretta individuazione degli scopi della base di dati 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.

Linguaggi per basi di dati[modifica | modifica wikitesto]

Nell'ambito dell'utilizzo/amministrazione della base di dati, una qualunque operazione sulla base di dati da parte dell'utente/amministratore su DBMS è ottenibile tramite un opportuno linguaggio attraverso un DBMS manager ad interfaccia grafica o ad interfaccia a riga di comando. In generale è possibile distinguere più linguaggi per basi di dati (ciascuno con lessico e sintassi che definiscono tutte le istruzioni possibili) a seconda del loro utilizzo o finalità a partire dalla creazione/progettazione, gestione, ristrutturazione, sicurezza, fino all'interrogazione della base di dati stessa:

La sintassi di questi linguaggi varia a seconda del particolare DBMS, mantenendo tra loro un'uniformità concettuale.

Inoltre è possibile suddividere i linguaggi come:

  • Linguaggi testuali interattivi, come l'SQL, di cui sono stati pubblicati diversi standard, che rappresenta 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.

Server delle basi di dati[modifica | modifica wikitesto]

Exquisite-kfind.png Lo stesso argomento in dettaglio: DBMS.

Il server è la parte del DBMS (e, per estensione, il server su cui il programma opera) che si occupa di fornire i servizi di utilizzo della base di dati ad altri programmi e ad altri computer secondo la modalità client/server. Il server memorizza i dati, riceve le richieste dei client ed elabora le risposte appropriate.

Tra i più diffusi DBMS open source troviamo:

I più diffusi sistemi commerciali sono:

I database server sono complessi sistemi software concepiti in un linguaggio binario, oltre che per memorizzare i dati, anche per fornire un accesso rapido ed efficace a una pluralità di utenti contemporaneamente e garantire protezione sia dai guasti che dagli accessi indebiti (sicurezza o protezione della base dati)

Sicurezza delle basi di dati[modifica | modifica wikitesto]

Exquisite-kfind.png Lo stesso argomento in dettaglio: Protezione del database.

Sicurezza significa impedire che la base dati venga danneggiata da interventi accidentali o non autorizzati e avere l'integrità che significa garantire che le operazioni effettuate sulla base di dati da utenti autorizzati non provochino una perdita consistente di dati. La protezione da accessi non autorizzati è un tema importante nella gestione delle basi di dati, che si rivelano vulnerabili nei seguenti punti:

Evoluzione delle architetture dati[modifica | modifica wikitesto]

Dagli anni settanta le basi di dati hanno subito un enorme sviluppo sia in fatto di quantità di dati memorizzati che in fatto di tipologie di architetture adottate. Queste sono le architetture dati che si sono sviluppate negli anni:

  • Architettura Centralizzata, DBMS;
  • Architettura Parallela;
  • Architettura Distribuita;
  • Architettura Federata;
  • Architettura Data Integration;
  • Architettura Data Warehouse.

Basi di dati sul web[modifica | modifica wikitesto]

Sono un particolare tipo di servizi web che offrono la possibilità di creare basi di dati direttamente sul Web. Questi servizi offrono normalmente tutte le caratteristiche base di una normale base di dati per costruire tabelle strutturate di dati di ogni genere con campi di tipo testo, numeri, data e ora e altri.

Il loro servizio non è solo quello di repository o contenitore di dati, ma anche quello di creare un'interfaccia grafica usabile per la gestione degli stessi presentandosi come vere e proprie applicazioni web. La condivisione svolge un ruolo importante proprio perché i dati sono visibili su Internet e quindi da altre persone che, con le dovute autorizzazioni, possono lavorare sui dati.

Diritto d'autore[modifica | modifica wikitesto]

Le banche di dati sono tutelate dalla legge sul diritto d'autore sia come opere di ingegno di carattere creativo sia come bene prodotto grazie ai rilevanti investimenti finanziari.

L'art 64 quinquies della legge 633/1941 sul diritto d'autore prevede che:

L'autore di un banca di dati ha il diritto esclusivo di eseguire o autorizzare:

a) la riproduzione permanente o temporanea, totale o parziale, con qualsiasi mezzo e in qualsiasi forma;

b) la traduzione, l'adattamento, una diversa disposizione e ogni altra modifica;

c) qualsiasi forma di distribuzione al pubblico dell'originale o di copie della banca di dati; la prima vendita di una copia nel territorio dell'Unione europea da parte del titolare del diritto o con il suo consenso esaurisce il diritto di controllare, all'interno dell'Unione stessa, le vendite successive della copia;

d) qualsiasi presentazione, dimostrazione o comunicazione in pubblico, ivi compresa la trasmissione effettuata con qualsiasi mezzo e in qualsiasi forma;

e) qualsiasi riproduzione, distribuzione, comunicazione, presentazione o dimostrazione in pubblico dei risultati delle operazioni di cui alla lettera b).[1]

L'autore di una banca di dati, che ha scelto e organizzato creativamente il materiale all'interno della raccolta, è quindi titolare delle facoltà esclusive di natura patrimoniale e morale riconosciute a tutti gli autori di opere dell'ingegno secondo l'articolo 64-quinquies e seg. della legge 633/1941. I diritti esclusivi di riproduzione, traduzione, adattamento, distribuzione, presentazione e dimostrazione sono detti diritti patrimoniali, cioè hanno un valore economicamente valutabile. In quanto patrimoniali i sopracitati diritti sono trasferibili.

L'autore può quindi effettuare o autorizzare: la riproduzione permanente o temporanea (totale o parziale), la traduzione, le modifiche, gli adattamenti e le diverse disposizioni del materiale, la distribuzione, la presentazione in pubblico e l'utilizzazione economica.

C'è invece la possibilità di una libera utilizzazione quando l'accesso e la consultazione sono svolte per finalità didattiche o di ricerca scientifica, quando l'uso dei dati persegue fini di sicurezza pubblica e quando i dati sono utilizzati per una procedura amministrativa o giurisdizionale. La durata del diritto d'autore è di 70 anni dalla morte dell'autore.

In qualunque caso le banche dati sono tutelate dal diritto d’autore indipendentemente dalla tutela eventualmente accordata alle opere o ai dati dai quali esse sono composte, con la precisazione che la tutela della banca dati non si estende alle opere o dati in questione. In sostanza la tutela riguarda la struttura della banca dati, in pratica la sua forma espressiva.

Nel caso in cui la banca di dati sia originale cioè con dati organizzati secondo criteri originali e non, per esempio, in ordine alfabetico o cronologico, l'autore gode dei diritti dei diritti morali e di sfruttamento economico della banca dati stessa.

Nel caso in cui, invece, la banca dati non sia originale la tutela dei diritti non è per l'autore ma per il costruttore (colui che effettua investimenti per la costituzione della banca dati). Al costitutore della banca di dati sarà riconosciuta, sul solo territorio dell'Unione europea, la titolarità di un diritto sui generis, diverso dal diritto d'autore e dai diritti connessi, volto a tutelare il lavoro svolto e gli investimenti effettuati. Il costitutore può infatti vietare le operazioni di estrazione e reimpiego della totalità o di una parte della banca dati. La durata del diritto del costitutore è di 15 anni, rinnovabile in caso di modifiche o integrazioni sostanziali apportate alla raccolta. Il conteggio dei 15 anni comincia dal 1º gennaio dell'anno successivo alla data del completamento della banca dati. Nel caso in cui il database sia accessibile via internet i 15 anni cominciano dal 1º gennaio successivo alla messa a disposizione della banca di dati stessa.

Note[modifica | modifica wikitesto]

  1. ^ Legge sul diritto d'autore | Altalex, su Altalex. URL consultato il 18 gennaio 2017.

Bibliografia[modifica | modifica wikitesto]

  • Paolo Atzeni, Stefano Ceri, Stefano Paraboschi e Riccardo Torlone, Basi Di Dati (Modelli e Linguaggi di Interrogazione), McGraw Hill, 2003, ISBN 9788838666001.
  • Atzeni, Ceri, Fraternali, Paraboschi, Torlone – Basi Di Dati (Architetture e Linee Di Evoluzione) - McGraw Hill, 2003
  • Ramez Elmasri, Shamkant B. Navathe – Fundamentals of Database Systems, Fourth Edition – Addison Wesley, 2003
  • Tamer-Ozsu, P. Valduriez – Principles of Distributed Database Systems - Prentice Hall, 1999
  • Giovanni Guglielmetti, La tutela delle banche dati con diritto sui generis nella direttiva 96/9/CE, in Contratto e impresa / Europa, 1997, pag. 177 e segg.;
  • Paola A.E. Frassi, "Creazioni utili e diritto d'autore. Programmi per elaboratore e raccolte di dati" - Giuffrè, 1997
  • Laura Chimienti, "Banche dati e diritto d'autore" - Giuffrè, 1999

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Controllo di autorità GND: (DE4113276-2
Internet Portale Internet: accedi alle voci di Wikipedia che trattano di internet