Database: cos'è, come funziona una base dati e quali programmi scegliere

Database: come funziona una base dati e quale scegliere

pittogramma Zerouno

Guida

Database: come funziona una base dati e quale scegliere

I database sono il motore dell’economia data-driven. Da un mondo di informazioni compartimentato all’analisi semantica multidimensionale dei dati, l’evoluzione dei processi di raccolta e di analisi dei dati fa riferimento a una programmazione sempre più sofisticata, che attinge ad altre branche dell’informatica. Ad esempio, quelle derivate dall’Intelligenza Artificiale

19 Nov 2019

di Laura Zanotti

Database o data base, detti anche base dati o banche dati, grandi protagonisti della storia informatica. Collezionare i dati e correlarli tra loro in modo strutturato, formalizzandone inserimento, aggiornamento, ricerca e cancellazione. Questo è stato l’abbrivio dell’economia data-driven. Ma cos’è un database in informatica e qual è il suo ruolo?

Tim - Infografica - La grande mappa dei Dati

Cos’è un database, definizione e come funziona

La definizione di database in informatica fa riferimento a un archivio dati strutturato (ossia omogeneo per contenuti e formato) memorizzati in un computer. Il suo scopo è razionalizzare aggiornamento e gestione delle informazioni e permettere l’esecuzione di ricerche complesse. Tali ricerche, se compiute su tradizionali archivi analogici, comporterebbero ampio dispendio di tempo e risorse. Sviluppati in pratica per conservare, recuperare ed elaborare le informazioni, i database sono un archivio dati organizzato.

Idealmente, il funzionamento è analogo a quello di uno schedario digitale evoluto. Un database crea una struttura che permette di inserire e modificare rapidamente le informazioni desiderate. Una volta memorizzato in un elaboratore elettronico, questo insieme di dati può essere interrogato da un qualsiasi terminale, utilizzando chiavi di accesso preposte.

È così che, grazie ai database, le informazioni non vengono perse. Una volta immagazzinate possono essere gestite e trattate per essere utilizzate nei più disparati ambiti applicativi.

Dal punto di vista architetturale, una banca dati è incorporata in un hardware (fisico o in cloud) e viene alimentata e interrogata con software.

Database server e supporti di memorizzarione, l’infrastruttura di rete a supporto

A livello fisico (hardware), l’archiviazione dei dati si basa su un sistema costituito da quanto segue.

  • Supporti di memorizzazione (ieri a nastro, oggi hard disk), che garantiscono la persistenza dei dati;
  • un processore per l’elaborazione degli stessi, chiamato database server.

Un client di database lato client interagisce con il DBMS server e quindi anche con la base di dati in senso fisico.

A livello logico (software), i dati strutturati sono gestiti da un database management system (DBMS).

DBMS – Database management system: cosa è e a che cosa serve

Il Database Management System (DBMS) include tutta la gamma di applicazioni che consentono la creazione, la manipolazione (gestione) e l’interrogazione efficiente dei dati. Oltre a definire utenti e amministratori di un database, il DBMS fornisce meccanismi di sicurezza e controllo dei dati. Consente, inoltre, agli utenti finali o ai programmatori di applicazioni di condividere i dati e preservarli.

Una qualunque operazione sulla base di dati da parte dell’utente/amministratore avviene utilizzando un determinato linguaggio di programmazione. Questo avviene mediante un DBMS manager ad interfaccia grafica o a riga di comando. Il server è la parte del DBMS che si occupa di fornire i servizi di utilizzo del database ad altri programmi e computer in modalità client/server. Il server memorizza i dati, riceve le richieste dei client ed elabora le risposte appropriate.

Qualche esempio di database, i programmi

Volendo citare qualche esempio di database management system personali e professionali è possibile ricordare: Access, MySQL, Oracle e DB2. Le differenze tra loro sono il tipo di sintassi utilizzato dal programmatore per compilare il codice.

A cosa serve un database in informatica

L’arrivo dei computer nelle aziende è stata una benedizione ma l’informatizzazione 1.0 ha creato tanti sistemi isolati (silos). Il risultato è che i dati rimanevano compartimentati e bloccati tra le varie aree aziendali. L’arrivo dei database ha cambiato il clima aziendale, inaugurando un data management capace di illuminare di informazioni le organizzazioni. Le banche dati, infatti, sono estremamente utili sia per gestire i dati che semplificare la ricerca di informazioni specifiche.

Un database raccoglie i dati dati (collect) e li collega in un’unità logica. I singoli dati sono forniti sotto forma di metadescrizioni e corredati di tutte le informazioni per la loro elaborazione.

Se un DB è progettato in modo razionale ed efficiente è possibile dare un significato a tutti dati registrati. Più un archivio dati è ottimizzato, più è possibile integrare ulteriori strumenti di estrazione e di analisi, di reporting, di intelligence, di ETL (Extract Transform Load). Si tratta di organizzare il processo di estrazione, trasformazione e caricamento dei dati. Il che include la loro organizzazione e centralizzazione in un unico repository.

Il processo ETL rende questi dati disponibili estraendoli da un numero illimitato di sorgenti. Effettua anche una loro pulizia per trasformarli e finalizzarli al business, integrando dati attraverso sistemi eterogenei.

New call-to-action

Differenze tra database e datawarehouse

Un database contiene una raccolta di dati archiviati secondo diverse logiche (transazionali, oggetti e via dicendo). Il data warehouse memorizza i dati consolidati da più database ed è la componente principali della business intelligence, fornendo alte prestazioni per query analitiche.

Database relazionale, graph database e non solo. Tipologie e differenze tra database

database cronistoria

La cronistoria del database dagli anni 90…

1960

Prima dell’avvento del modello relazionale, negli anni 60 il mondo mainframe utilizzava il modello gerarchico o di dati di rete. Nel database relazionale, i dati vengono suddivisi in apposite tabelle per argomenti e poi questi argomenti vengono suddivisi per categorie (campi). Questa suddivisione rende i DB notevolmente più efficienti rispetto a un archivio di dati creato per esempio tramite un flat file system di un sistema operativo.

1970

Alcuni affermano che il modello di dati di rete modulare degli anni ’70 sia simile all’attuale modello grafico, ma non è così. Questo perché negli anni 70 non esisteva un linguaggio di query dichiarativo per il modello di rete. All’epoca, infatti, gli sviluppatori dovevano sapere in che modo erano archiviati fisicamente i dati e creare programmi per l’accesso alle informazioni.

1980

È solo nel 1980 che si afferma quel modello relazionale che ha consentito di raggiungere un livello di indipendenza dei dati. Esso ha permesso agli utenti di accedere alle informazioni senza conoscere la struttura fisica di un database. Diversi anni dopo Edgar F. Codd (ricercatore di IBM) inizia a proporre un nuovo approccio alla costruzione delle basi di dati. Si arriva così al modello relazionale per Basi di dati condivise (A Relational Model of Data for Large Shared Data Banks). Dai laboratori IBM esce poi SQL (Structured Query Language), che si afferma come il linguaggio di interrogazione standard dei database relazionale. I DBMS relazionali sono incentrati su un modello tipicamente transazionale (On Line Transaction Process – OLTP).

1990

Con l’esplosione della web economy W3C, organizzazione non governativa internazionale per lo sviluppo delle potenzialità del Web, promuove proposte per lo standard dati web. In questo decennio, per sopperire alle scarse performance offerte dai database relazionali nei processi di analisi (OLAP), si affermano i database multidimensionali. Quest’ultimi permettono di effettuare analisi più efficaci su enormi quantità di dati. Di fatto, alla fine degli anni 90 ogni database relazionale commerciale contiene al suo interno un motore multidimensionale. È questo capitolo dello sviluppo che ha inaugurato una programmazione delle basi di dati a oggetti. La fine degli anni 90 è anche l’era di NoSQL (acronimo di Not Only SQL).

Il termine, coniato da Carlo Strozzi nel 1998, dà il via a un movimento che promuove lo sviluppo di una base di dati relazionale open source che non usa un’interfaccia SQL. L’autore spiegava “NoSQL diparte in modo radicale dal modello relazionale, e quindi andrebbe chiamato in modo più appropriato NoREL, o qualcosa di simile”. Il senso di NoSQL era un’apertura a diversi casi d’uso per i quali il modello relazionale rappresenta una forzatura. I database NoSQL sono appositamente realizzati per modelli di dati specifici. Questi hanno schemi flessibili per creare applicazioni moderne, utilizzando molteplici modelli di dati, tra cui documento, grafo, chiave-valore eccetera.

…al 2000

L’inizio del secondo millennio si contraddistingue per una programmazione dei DBMS a oggetti. Gli ODBMS (Object DBMS) permette agli utenti di memorizzare direttamente una serie di oggetti all’interno dei database, ognuno dei quali ne può contenere altri. Oggi, in realtà, molti DBMS ibridano il modello relazionale e il modello a oggetti. Si parla quindi di ORDBMS (Object Relational DBMS). Il 2000 è anche l’anno di fondazione di Neo Technologies, società che inizia a sviluppare il proprio database di grafi, Neo4j.

I programmatori creano anche il linguaggio di query dichiarativo per il modello di grafico, Cypher. Questo prende in prestito alcuni concetti di sviluppo da SPARQL (SPARQL Protocol and RDF Query Language) come, ad esempio, la corrispondenza del modello di grafico. Per l’universo dei database si apre l’era del web semantico. La possibilità di estrarre informazioni dalle basi di conoscenza distribuite sul web, infatti, apre un orizzonte applicativo pressoché infinito. Il framework di descrizione RDF (Resource Description Framework) è reso standard dal Data Access Working Group (gruppo di lavoro del consorzio W3C). Lo stesso gruppo di lavoro lo ha reso raccomandazione ufficiale il 15 gennaio 2008. Tale framework descrive i concetti e le relazioni su di essi attraverso l’introduzione di triple (soggetto-predicato-oggetto). Permette la costruzione di query basate su triple pattern, congiunzioni logiche, disgiunzioni logiche e pattern opzionali.

2010

Per supportare l’analisi dei dati in tempo reale, negli ultimi anni sono stati sviluppati i cosiddetti in-memory database. Questi consentono di superare alcuni limiti dei database tradizionali nell’analisi in real time di grandi moli di dati. Un IMDB (in-memory data base) archivia le raccolte di dati direttamente nella memoria centrale dei computer fornendo risultati di analisi.

Il principale vantaggio degli in-memory database è la velocità di accesso significativamente più elevata (proprio grazie all’utilizzo della memoria centrale). Il secondo è l’agevole elaborazione sia di dati strutturati sia di dati non strutturati provenienti da qualsiasi fonte.

Lo svantaggio principale è rappresentato dal fatto che questo tipo di database consente solo un’archiviazione a breve termine dei dati. In caso di crash tutti i dati volatili si perdono. Sono stati elaborati vari sistemi per superare questo problema. Tra questi vi sono snapshot del database, backup nei log delle transazioni, replicazione, memoria RAM non volatile. Il secondo svantaggio è legato all’elevato impegno della RAM che ne riduce la disponibilità. Per questo vengono spesso utilizzati su diversi computer collegati tra loro con un approccio di grid computing.

Modelli di sviluppo di un database

Un database può essere locale, cioè utilizzabile su un computer da uno o più utenti, oppure distribuito. In questo caso le informazioni in esso immagazzinate sono accessibili attraverso una rete informatica.

Esistono diversi modelli di sviluppo di un database.

  • Modello concettuale dei dati: descrizione formale e completa della realtà di interesse. Si applica il cosiddetto modello E-R: schema di entità, attributi, associazioni, definendone la cardinalità.
  • Modello logico: la traduzione dallo schema concettuale al modello di rappresentazione dei dati adottato dal DBMS a disposizione. Si applica un modello relazionale, dove le tabelle sono come relazioni.
  • Modello fisico: lo schema logico viene completato con l’organizzazione dei file effettuata dal database management system.

Seguono poi la fase di popolamento del database, detta data entry, e tutta la fase di sviluppo delle transazioni.

Una transazione, in dettaglio, è una fase della programmazione cruciale per il funzionamento del database. Se la sequenza di operazioni lecite viene eseguita in modo corretto, infatti, produce una variazione nello stato di un database funzionale. In caso di successo, il risultato delle operazioni deve essere permanente o persistente. Mentre in caso di insuccesso si deve tornare allo stato precedente all’inizio della transazione.

Il modello di riferimento è l’ACID, acronimo che raccoglie tutte le proprietà logiche di una transazione, ovvero Atomicity, Consistency, Isolation, e Durability.

White Paper - Come aumentare agilità e sicurezza grazie all'application performance management

Database transazionali: commit e roll back

Nei linguaggi di accesso ai DBMS, la gestione delle transazioni rientra in quella modalità di programmazione chiamata DML (Data Manipulation Language). Nelle transazioni, infatti, le variazioni allo schema del database o alle autorizzazioni, non sono semplici da gestire.

Un database management system è transazionale se è capace di garantire e mantenere l’integrità dei dati. Vale a dire se la transazione non può finire in uno stato intermedio (sistema on/off). In un linguaggio SQL le transazioni partono con un’istruzione BEGIN TRAN. Si concludono con un COMMIT TRAN (con eventuale notifica di transazione completata correttamente), oppure con un ROLLBACK TRAN. Questo per esempio in caso di errore (abort) e ripristino dello stato iniziale, che può avvenire in modo automatico o manuale.

Come progettare una base dati, esempio di database diversi a seconda del modello logico

Le basi dati servono a modellare concetti del mondo reale. La metodologia di progettazione e sviluppo di un database separa le decisioni su cosa rappresentare e come farlo. Per inserire, aggiornare, cancellare, o cercare dei dati in un database, il progettista organizza le informazioni e le collega. Si svolge questa operazione secondo un particolare modello logico per esempio uno di quelli illustrati qui di seguito.

Gerarchico

ossia visualizzabile come un sistema di alberature, caratterizzato da strutture simili a sistemi di file organizzati in modo gerarchico. Vantaggi: accesso per la lettura estremamente veloce, struttura chiara, semplice a livello tecnico. Svantaggi: struttura ad albero rigida che non consente collegamenti tra gli alberi.

Reticolare

visualizzabile tramite un grafo. Vantaggi: dispone di un maggiore di percorsi per accedere al record e non c’è una rigida gerarchia. Svantaggi: consente una panoramica scarsa per database di grandi dimensioni.

Relazionale

visualizzabile come una serie di tabelle e relazioni tra esse ed attualmente il più diffuso.

Ad oggetti

con estensione alle basi di dati del paradigma Object Oriented, tipico della programmazione a oggetti. Vantaggi (del relazionale puro): creazione ed elaborazione facile e flessibile, facile espansione, facile da implementare. Svantaggi (del relazionale puro): risulta di difficile gestione per grandi quantità di dati. Esso permette una scarsa segmentazione con costruzione artificiale delle chiavi. L’interfaccia di programmazione è esterna e presenta una raffigurazione carente delle proprietà e comportamento degli oggetti. Vantaggi (con l’integrazione di funzionalità object oriented): memorizzazione di contenuti multimediali. Svantaggi (con l’integrazione di funzionalità object oriented): le prestazioni peggiorano all’aumentare dei dati e sono poche le interfacce compatibili.

Document-oriented

(NoSQL). Non memorizza i dati in tabelle con campi uniformi per ogni record come nei database relazionali. Ogni record è memorizzato come un documento che possiede determinate caratteristiche. Vantaggi: archiviazione centrale dei dati correlati in documenti singoli, struttura libera, orientamento multimediale. Svantaggi: richiedono sforzi organizzativi elevati e, spesso, competenze di programmazione.

Key-Value Store

(NoSQL), è un database che immagazzina i dati come un insieme di coppie di chiave-valore dove una chiave rappresenta un identificatore univoco. Chiavi e valori possono essere qualsiasi cosa, da un oggetto semplice a oggetti compositi.

Graph-based

(NoSQL). Nei database a grafo le entità sono rappresentate da nodi di un grafo, collegati tra loro tramite relazioni. Sono ideali laddove il dato importante è rappresentato dalla relazione tra entità. Un tipico esempio applicativo è l’analisi semantica.

Colonnari

(NoSQL), a differenza dei classici database relazionali, in questo tipo di database l’informazione è salvata per colonna. Dato che il numero di colonne può variare senza problemi nel tempo. Questi database consentono una modellazione banale di nuove specifiche non previste nel progetto iniziale. Trovano infatti un largo utilizzo in sistemi OLAP, dove si fa un ampio utilizzo di sottoinsiemi di colonne.

Banche dati 4.0: quali sono i provider della programmazione a grafo

Attualmente i fornitori di database a grafo sono diversi: oltre a Neo4j, troviamo DSE Graph (Datastax Enterprise Graph), ArangoDB e OrientDB. ArangoDB e OrientDB sono soluzioni per l’archiviazione dei documenti che hanno aggiunto funzionalità di database grafico ai loro database. DSE Graph, di Datastax, si basa su Titan e utilizza Cassandra come archivio back-end.

Il motore di archiviazione di Neo4j utilizza array di dimensioni fisse per archiviare i dati del grafico e può cercare nodi e relazioni in tempo O. Questo può essere ottenuto utilizzando strutture array invece che per indici. Utilizzando cioè quei puntatori che nella programmazione consentono di definire nuovi tipi di dati a partire da tipi preesistenti. E lo fanno attraverso l’aggregazione di diversi oggetti di uno stesso tipo.

Neo4j insiste il proprio database è nativamente grafico mentre gli altri no, in quanto utilizzano altri motori di archiviazione. Esistono anche altri database grafici che supportano i dati del grafico RDF, ma non sono così popolari rispetto ai database dei grafici proprietari citati. Esistono anche molti sistemi di analisi dei grafici.

Data mining: l’Intelligenza Artificiale al servizio delle big query

Oggi le basi di dati utilizzano sempre più spesso tecnologie mutuate da altre branche dell’informatica come, ad esempio, quelle derivate dall’Intelligenza Artificiale.

Il data mining, in particolare, è l’insieme di tecniche e metodologie che hanno per oggetto l’estrazione di informazioni utili da grandi quantità di dati. Applica metodi automatici o semi-automatici come il machine learning. L’obiettivo, infatti, è di cercare di estrarre velocemente relazioni e nuove informazioni che non sono immediatamente visibili.

Chi sono i professionisti del DB

Mentre gli utenti finali del DB utilizzano le applicazioni che permettono di interrogare il DB, esistono una serie di figure chiave che abilitano il funzionamento del data base.

Il DBA (Data Base Administrator) è la figura di riferimento che:

  • gestisce gli accessi.
  • Predispone tabelle, indici, viste.
  • Ottimizza lo spazio disco.
  • Effettua i backup e i restore.

Dietro alle quinte di una banca dati lavora una squadra di analisti programmatori, incaricati di scrivere le applicazioni che utilizzano i dati del DB. Il team è affiancato da un team di sistemisti. Questi ultimi son preposti a verificare il corretto funzionamento dei sistemi hardware e software su cui gira il database management system.

Software per database, quali sono i linguaggi di programmazione più utilizzati?

Esistono diversi linguaggi per programmare i software per le basi di dati che variano per lessico e sintassi.

  • DDL – Data Definition Language – Il DDL permette di definire la struttura o l’organizzazione logica della base di dati e le autorizzazioni per l’accesso.
  • DML – Data Manipulation Language – Il DML consente di inserire, modificare, cancellare i dati.
  • DCL – Data Control Language Il DCL abilita la gestione degli utenti e dei permessi.
  • DMCL – Device Media Control Language – Il DMCL consente di controllare i supporti (memoria di massa) dove vengono memorizzati i dati.
  • Query language – Il QL permette di interrogare il database per estrarre e leggere i dati.

Un altro criterio di classificazione dei linguaggi

  • Testuali interattivi (ad esempio l’SQL)
  • Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni (ad esempio C, BASIC e via dicendo)
  • o immersi in linguaggi di programmazione proprietari
  • Linguaggi grafici e user-friendly (ad esempio QBE – Query By Example), che possono essere utilizzati anche dai programmatori meno esperti

Database in cloud: soluzioni disponibili oggi (2019)

Gli ultimi trend della programmazione dei database sposano il cloud per abilitare un processo di astrazione del database che da prodotto diventa servizio.

Il Database as a Service, non avendo alcun vincolo a livello di risorse garantisce scalabilità e un’elevata disponibilità delle base dati.

Il Database as a Service passa dalle API. La componente di gestione, infatti, controlla gli strati sottostanti alle varie istanze usando un service API, esposta all’utente. Ed è tale da permettergli di eseguire operazioni di manutenzione e scalabilità sulle proprie istanze del database.

Virtual machine Image

Le aziende possono acquistare delle macchine virtuali (anche per un tempo limitato) e così gestire uno o più database. Gli utenti possono anche caricare le proprie machine image con all’interno il database già installato. Oppure utilizzare una macchina già pronta che contiene una versione ottimizzata di un database.

Database-as-a-service (DBaaS): soluzioni disponibili

Un Database as a service consente a chi ne fa uso di non dover installare a manutenere il sistema. Il DBaaS viene erogato come puro servizio, con un livello di alta disponibilità (tra il 99.9% o il 99.99%). Installazione e manutenzione sono a carico del provider, secondo un canone al consumo. Ecco alcune soluzioni disponibili di DBaaS.

  • Amazon Web Services (AWS) fornisce vari database come servizi offrendoli come parte del suo portfolio cloud. Sono i database relazionali Amazon Aurora (supporto MySql e PostgreSQL) e Amazon RDS (supporto MySql, PostgreSQL, MariaDB, Oracle, SQL Server). Inoltre, il database chiave-valore (data base ottimizzati per la memorizzazione e il recupero di coppie chiave-valore in grandi volumi) Amazon Dynamo DB; il database a grafo Amazon Neptune e via dicendo.
  • Oracle: con Oracle Database Cloud Service, l’azienda offre come servizio le stesse funzionalità dell’Oracle Autonomous DB on premise. Nell’offerta cloud, Oracle automatizza le attività amministrative generali, come provisioning, backup, disponibilità e patching. Non solo: automatizza l’ottimizzazione delle query, l’indicizzazione delle tabelle e gli aggiornamenti.
  • MongoDB, uno dei più popolari database NoSQL è fruibile in cloud con il servizio MongoDB Atlas.
  • Microsoft offre il servizio Azure SQL Database nella propria piattaforma cloud Azure.
  • Google offre diverse tipologie di DBaaS come Google Cloud SQL o Google Cloud Bigtable (DB chiave-valore NoSQL) e così via.
The Forrester Wave - DBaaS - Database-As-A-Service, Q2 2019
The Forrester Wave_ Database-As-A-Service, Q2 2019 – Fonte: Forrester 2019

Vulnerabilità delle base dati: le cose da sapere

Gli archivi delle informazioni sono l’obiettivo più ambito del cybercrime che puntano a identificare i punti deboli presenti nelle applicazioni database-driven. Molti di questi punti deboli sono frutto di configurazioni o implementazioni discutibili. Le vulnerabilità più note sono le seguenti.

  • Policy delle password.
  • SQL injection, è una tecnica di hacking. Sfrutta alcuni errori nella programmazione di pagine HTML. Essa consente di inserire ed eseguire codice non previsto all’interno di applicazioni web che interrogano un database.
  • Cross site scripting consiste nell’inclusione di codice html all’interno di una pagina web per effettuare operazioni malevole come il prelievo di cookies privati.
  • Perdita di dati. Un problema spesso trascurato quando si sviluppa un database è la perdita di dati. L’errore più classico sta nel non riuscire ad assicurare e controllare l’accesso ai supporti di backup del database. Una perdita meno frequente avviene attraverso un’interpretazione logica dei dati. Spesso, i dati più sensibili possono essere arguiti dalle risposte a determinate query. È il caso di una malattia dedotta dai farmaci prescritti. Una semplice soluzione sta nel controllare i pattern delle query per rilevare l’anomalia.
  • Gestione impropria degli errori. Molte applicazioni visualizzano messaggi dettagliati che sulla struttura del database, ma possono essere usati per organizzare degli attacchi. È consigliabile prendere nota dell’errore e tenerne traccia all’interno di uno storico. Bisognerebbe assicurarsi che l’applicazione non restituisca agli utenti (o agli attacker) i particolari sull’errore in questione.

Creazione del diagramma di flusso

Gli esperti consigliano di creare un diagramma di flusso che tenga traccia di come i dati vegano usati da ogni applicazione database-driven. Una volta identificati i punti di ingresso dei dati o di uscita verso un’altra applicazione, è necessario verificare i livelli di sicurezza. È utile inoltre stabilire privilegi minimi per ogni utente o i processi richiesti per accedere al sistema.

Per avere un presidio completo, l’operazione va suddivisa in quattro aree.

  • Sicurezza del server (che prevede l’uso di un firewall).
  • Sicurezza dell’applicazione.
  • Collegamenti al database.
  • Controllo dell’accesso alla tabella e al database.

Gestione database in Italia e normative europee: la direttiva 96/9 CE

Approvata dall’Unione Europea l’11 marzo 1996, la direttiva 96/9/CE relativa alla tutela giuridica delle banche di dati riguarda il tema della protezione delle informazioni. La normativa, infatti, tutela le banche di dati con la legge sul diritto d’autore. (Modificata dal D.lgs. 6 maggio 1999, n. 169 attuativo della direttiva 96/9/C).

I database, dunque, rientrano nella categoria che include le opere d’ingegno carattere creativo e i beni prodotti grazie a investimenti in termini finanziari, di tempo o di lavoro.

L’art. 2 n. 9 l.d.a. definisce le banche di dati come “raccolte di opere, dati o altri elementi indipendenti sistematicamente o metodicamente disposti ed individualmente accessibili mediante mezzi elettronici o in altro modo”.

Questo vale se si tratti di una raccolta di opere (di cui l’autore del database deve avere l’autorizzazione all’utilizzo). E vale anche quando si ha un insieme di informazioni come nome e numero di telefono degli abitanti di una città. In quest’ultimo caso si ha un ulteriore livello di conformità al GDPR e alla Privacy.

Ulteriori specifiche normative

La normativa specifica anche che il materiale informativo contenuto nel data base deve essere raccolto e organizzato sistematicamente e metodicamente. Tale materiale può essere consultabile in ogni modo. Inoltre, van fatte rientrare nella categoria sia le raccolte elettroniche che quelle cartacee.

All’autore del database viene accordato il diritto esclusivo di eseguire o autorizzare la riproduzione, permanente o temporanea, totale o parziale, con qualsiasi mezzo e in qualsivoglia forma. Egli si occupa poi di traduzione, adattamento, comunicazione e distribuzione dell’originale o di copie del DB. L’autore ha inoltre il diritto di “vietare operazioni di estrazione e/o reimpiego della totalità o di una parte sostanziale del contenuto”.

CLICCA QUI per scaricare il White Paper: "Come adottare la gestione documentale digitale per innovare l'impresa"

Laura Zanotti

Giornalista

Ha iniziato a lavorare come technical writer e giornalista negli anni '80, collaborando con tutte le nascenti riviste di informatica e Telco. In oltre 30 anni di attività ha intervistato centinaia di Cio, Ceo e manager, raccontando le innovazioni, i problemi e le strategie vincenti delle imprese nazionali e multinazionali alle prese con la progressiva convergenza tra mondo analogico e digitale. E ancora oggi continua a farlo...

Argomenti trattati

Approfondimenti

B
Backup
D
database
G
Guida

Articolo 1 di 5