Un database consente di archiviare e recuperare dati o informazioni strutturati, semi-strutturati o grezzi , spesso relativi a un tema oa un'attività; questi possono essere di diversa natura e più o meno interconnessi.
I loro dati possono essere archiviati in una forma molto strutturata ( database relazionale per esempio), o sotto forma di dati grezzi non strutturati (con database NoSQL per esempio). Un database può essere collocato nello stesso luogo e sullo stesso supporto informatico , oppure distribuito su più macchine in più luoghi.
La banca dati è al centro dei sistemi informatici per la raccolta, la formattazione, l' archiviazione e l'utilizzo delle informazioni . Il dispositivo comprende un sistema di gestione del database (abbreviazione: SGBD ): un software motore che manipola il database e dirige l'accesso al suo contenuto. Tali dispositivi includono anche software applicativo e un insieme di regole relative all'accesso e all'uso delle informazioni.
Uno degli usi più comuni dei computer è la manipolazione dei dati . I database sono utilizzati, ad esempio, nei settori finanziario , assicurativo , scolastico , epidemiologico , della pubblica amministrazione (incluse le statistiche) e dei media .
Quando diversi oggetti chiamati "database" vengono messi insieme sotto forma di una raccolta, questo viene chiamato database .
Un database è un "contenitore" che memorizza dati come numeri, date o parole, che possono essere rielaborati con mezzi informatici per produrre informazioni; ad esempio, numeri e nomi assemblati e ordinati per formare una directory . Le riformulazioni sono in genere una combinazione di operazioni di ricerca, scelta, ordinamento, raggruppamento e concatenazione .
È la parte centrale di un sistema informativo o di un sistema di database (o semplicemente database ), che regola la raccolta, l'archiviazione, la rielaborazione e l'uso dei dati. Questo dispositivo include spesso il software del motore (vedi paragrafo successivo), il software applicativo e un insieme di regole relative all'accesso e all'uso delle informazioni.
Il sistema di gestione del database è una suite di programmi che manipola la struttura del database e dirige l'accesso ai dati in esso memorizzati. Un database è costituito da una raccolta di file; vi si accede tramite il DBMS che riceve le richieste di manipolazione dei contenuti ed esegue le operazioni necessarie sui file. Nasconde la complessità delle operazioni e offre una visione sintetica del contenuto. Il DBMS consente a più utenti di manipolare contemporaneamente il contenuto e può offrire viste diverse sullo stesso insieme di dati.
L'uso di database è un'alternativa al metodo tradizionale di archiviazione dei dati, mediante il quale un'applicazione inserisce i dati in file manipolati dall'applicazione. Facilita la condivisione delle informazioni, consente il controllo automatico della coerenza e della ridondanza delle informazioni, la limitazione dell'accesso alle informazioni e una più facile produzione di informazioni sintetiche da informazioni grezze. Il database ha anche un effetto unificante: in una comunità che utilizza un database, una sola persona - l' amministratore del database - organizza il contenuto del database in modo vantaggioso per l'intera comunità. , che può evitare conflitti dovuti a interessi in competizione tra membri della comunità.
Un database generalmente richiede più spazio su disco, l'ampia gamma di funzioni offerte dal DBMS rende la gestione più complessa e gli errori hanno un impatto più ampio e sono più difficili da recuperare.
L'uso che viene fatto dei dati differisce da un database all'altro. I database possono essere classificati in base al numero di utenti, il tipo di contenuto, in particolare se è debolmente o fortemente strutturato, nonché secondo l'uso che è fatto di database, in particolare operativa uso. O analitico scopi :
I database possono essere classificati in base al numero di utenti: un singolo, un piccolo gruppo o anche un'azienda. Un database dell'ufficio è installato su un personal computer al servizio di un singolo utente. Considerando che un database aziendale è installato su un potente computer che serve centinaia di utenti. Un database centralizzato è installato in un'unica posizione, mentre un " database distribuito " è distribuito su più posizioni.
Il modo più diffuso per classificare i database è in base al loro utilizzo e all'aspetto temporale del contenuto:
basi operative o OLTP ( elaborazione delle transazioni online ) hanno lo scopo di aiutare gli utenti a tenere traccia delle attività quotidiane. In particolare, consentono di memorizzare immediatamente le informazioni relative a ciascuna operazione effettuata nell'ambito dell'attività: acquisti, vendite, prenotazioni, pagamenti. In tali applicazioni l'accento è posto sulla velocità di risposta e sulla capacità di elaborare più transazioni contemporaneamente. basi di analisi note anche come OLAP (dall'inglese online analytics processing ) sono composti da informazioni storiche come misurazioni su cui vengono effettuate operazioni massicce al fine di ottenere statistiche e previsioni . I database sono spesso database di data warehouse ( datawarehouse in inglese ) utilizzati per raccogliere enormi quantità di dati storici su base giornaliera per un database operativo. Il contenuto del database è utilizzato per effettuare analisi di evoluzione temporale e statistiche come quelle utilizzate nella gestione . In tali applicazioni l'accento è posto sulla capacità di eseguire elaborazioni molto complesse e il software del motore (il DBMS) è essenzialmente un motore di analisi .I database sono talvolta classificati anche in base alle caratteristiche del contenuto:
Gli hard disk , memorie di massa di grande capacità, furono inventati nel 1956 . L'invenzione dell'hard disk ha permesso di utilizzare i computer per raccogliere, classificare e archiviare grandi quantità di informazioni in modo più flessibile ed efficiente rispetto al supporto precedente: il nastro magnetico .
Il termine database è apparso per la prima volta nel 1964 per riferirsi a una raccolta di informazioni condivise da diversi utenti di un sistema informativo militare.
I primi database gerarchici sono apparsi nei primi anni '60 . Le informazioni sono state suddivise in due livelli gerarchici: un livello conteneva informazioni identiche su diversi record nel database. Il ritaglio è stato poi esteso per assumere la forma di un diagramma ad albero.
Nel 1965, Charles Bachman progettò l' architettura Ansi/Sparc ancora in uso oggi. Nel 1969 ha creato il modello dati di rete all'interno del consorzio CODASYL per applicazioni informatiche per le quali il modello gerarchico non è adatto. Charles Bachman ha ricevuto il Premio Turing nel 1973 per i suoi "eccezionali contributi alla tecnologia dei database".
Nel 1968 , Dick Pick ha creato Pick , un sistema operativo contenente un sistema di gestione di database "multivalore" (MV RDBMS).
Nel 1970 , Edgar F. Codd ha notato nella sua tesi matematica sull'algebra relazionale che un insieme di entità è paragonabile a una famiglia che definisce una relazione in matematica e che i join sono prodotti cartesiani . Questa tesi è all'origine dei database relazionali. Edgar F. Codd ha ricevuto il Premio Turing nel 1981 .
Il modello di associazione entità è stato inventato da Peter Chen nel 1975 ; ha lo scopo di chiarire l'organizzazione dei dati nei database relazionali.
Nel 1990 è stata lanciata in Belgio la banca dati legale LEADER, con aggiornamenti mensili sui computer dei clienti, inizialmente su dischetti e successivamente su CD-ROM (responsabile di René Janray). È stata venduta nel 2000 alla società Kluwer. Nel frattempo aveva raccolto quasi 1.000 clienti, tra i più importanti negozi e aziende. Una tesi di fine corso presso l'ISAT si è concentrata su questo prodotto ed era intitolata The Leaders Database: A Breakthrough in the World of Electronic Legal Publishing . Nel 1998, in un libro dedicato alle banche dati, l'editore MARABOUT ha dedicato un intero capitolo alla banca dati LEADER.
Nel modello relazionale, la relazione designa tutte le informazioni in una tabella, mentre l'associazione, nel modello associazione-entità, designa il collegamento logico che esiste tra due tabelle contenenti informazioni correlate.
Le prime banche dati si basavano sulla presentazione di schede perforate : suddivise in righe e colonne di larghezza fissa. Una tale distribuzione rende difficile memorizzare oggetti di programmazione; in particolare, non consentono l' ereditarietà tra entità, caratteristica della programmazione orientata agli oggetti .
Apparsi negli anni '90 , i database relazionali a oggetti utilizzano un modello di dati relazionali consentendo l'archiviazione di oggetti. In questi database, le associazioni di ereditarietà degli oggetti vengono aggiunte alle associazioni tra le entità del modello relazionale.
Le fasi chiave del ciclo di vita di un database sono la progettazione e la messa in servizio.
Prima della progettazione, gli utenti ei produttori delle informazioni vengono intervistati per conoscere le caratteristiche delle informazioni, le relazioni tra le informazioni, nonché le caratteristiche del sistema informatico che ospiterà il database. L'obiettivo di questa fase è raccogliere le caratteristiche delle informazioni nella pratica, e le esigenze degli utenti, e formularle in modo semplice, comprensibile tanto dagli utenti quanto dagli amministratori del database.
Verrà quindi realizzato un diagramma complessivo della rete informativa e relazionale, sotto forma di diagramma comprendente entità, attributi e relazioni. Esistono diversi metodi di modellazione dei dati, il più noto è il DCM ( Conceptual Data Model ). Ciò consente in particolare di stabilire un diagramma strutturato di tutti i dati di un sistema informativo, comprensibile da tutti i suoi attori (responsabile del prodotto, sviluppatore, cliente se informato…).
Questo piano viene poi trasformato in istruzioni formulate nel linguaggio di comando del DBMS e le istruzioni vengono eseguite per creare la struttura del database e renderlo operativo.
Definire l'organizzazione interna di un database - il suo modello di dati fisico - è il passo finale nella sua costruzione. Questa operazione consiste innanzitutto nella definizione dei record corrispondenti al modello logico dei dati. Le registrazioni sono archiviate in file e ogni file contiene in genere un batch di registrazioni simili. Durante questa fase vengono utilizzate varie tecniche per ottenere un modello che si traduca in un'adeguata velocità di manipolazione dei dati, garantendo nel contempo l'integrità dei dati.
La qualità del modello di dati fisici ha un impatto importante sulla velocità delle operazioni del database. Un semplice miglioramento può rendere le operazioni sui dati 50 volte più veloci, una differenza ancora più evidente quando c'è una grande quantità di dati. All'inizio degli anni 2000 esistevano database contenenti diversi terabyte (10 12 ) di dati e ingegneri indipendenti la cui attività era esclusivamente quella di aiutare i clienti ad accelerare i propri database.
Le operazioni di monitoraggio, una volta operative, consentono di rilevare problematiche che possono richiedere modifiche allo schema. Le modifiche possono essere apportate anche in caso di mutate esigenze degli utenti.
L'organizzazione interna di un database - il suo modello di dati fisico - include record corrispondenti al modello di dati logico, puntatori e tag utilizzati dal DBMS per trovare e manipolare i dati. Le registrazioni sono archiviate in file e ogni file contiene in genere un batch di registrazioni simili. L'organizzazione interna utilizza varie tecniche volte a raggiungere un'adeguata velocità nella manipolazione dei dati, garantendo nel contempo l'integrità dei dati.
L'organizzazione logica dei dati è indipendente dalla loro organizzazione fisica. Ciò significa che la posizione dei dati nei file può essere completamente modificata senza che la loro organizzazione sotto forma di record nelle tabelle sia interessata. Il DBMS organizza i file in modo da velocizzare le operazioni e differisce a seconda dell'hardware e del sistema operativo per cui è progettato il sistema di gestione del database . I record sono in genere raggruppati in cluster ( cluster inglese ), la cui dimensione è allineata con una dimensione ottimale per l'hardware ( dischi rigidi ).
Le principali tecniche utilizzate nel modello di dati fisici sono gli indici, le viste materializzate e il partizionamento. L'archiviazione dei dati viene spesso eseguita da dispositivi RAID e il DBMS utilizza tecniche come tabelle hash, alberi B, bitmap o file ISAM:
Indice Un indice è un insieme di dati destinati a velocizzare le operazioni di ricerca dei dati. La struttura dell'indice comprende valori associati a puntatori in cui ogni puntatore consente di trovare i dati che hanno questo valore. Vista materializzata In una vista materializzata , il risultato di una ricerca/aggregazione viene salvato nel database, consentendone l'utilizzo più volte e risparmiando tempo. Questa tecnica è utilizzata in particolare nei database analitici e nelle applicazioni OLAP . partizionamento Nella tecnica del partizionamento , il DBMS distribuisce i dati tra più dischi rigidi, il che velocizza le operazioni diminuendo la quantità di lavoro svolto da ciascun disco rigido. RAID ( dall'array ridondante inglese di dischi economici ) Nella tecnica RAID, un dispositivo hardware distribuisce i dati tra più dischi rigidi, velocizzando le operazioni e prevenendo la perdita di informazioni in caso di guasto. Questo dispositivo hardware viene utilizzato dal software come un normale disco rigido ; Hash table (in inglese hashing ) In questa organizzazione, una funzione hash viene utilizzata per trasformare, mediante calcoli aritmetici, qualsiasi valore in un numero intero. Il numero ottenuto viene utilizzato per determinare la posizione esatta in cui verranno salvati i dati di questo valore. albero B L' albero B è una struttura ad albero in cui tutti i rami hanno la stessa lunghezza e ogni nodo ha tra N / 2 e N rami. Questa è una struttura molto usata per gli indici. Bitmap Gli indici bitmap vengono spesso utilizzati per dati in cui sono presenti solo pochi valori possibili (esempio: genere M/F, giorno della settimana, ecc.). Per ciascuno dei possibili valori del dato, l'indice comprende una tabella di bit dove l'Nesimo bit è a “1” se l'Nesimo dato ha il valore in questione. ISAM ( Metodo di accesso sequenziale indicizzato ) In questa organizzazione i record sono archiviati ordinati secondo la chiave primaria , in una struttura suddivisa in cilindri e piste di dimensione fissa. Ogni traccia ha uno spazio libero per consentire l'inserimento di nuove registrazioni. Una struttura ad albero contiene il valore della chiave e un puntatore al primo record di ogni traccia. Giornale quotidiano Un registro contiene l'elenco delle ultime operazioni eseguite sul database. Questo registro viene utilizzato dal motore del database per eseguire il rollback delle operazioni, ad esempio in caso di arresto anomalo del computer o se le operazioni contengono un errore. Vedi anche transazione IT .Un sistema di gestione di database è un insieme di software che manipola il contenuto dei database. Viene utilizzato per eseguire operazioni ordinarie come trovare, aggiungere o eliminare record ( Crea , Leggi , Aggiorna , Elimina CRUD abbreviato ), manipolare indici , creare o copiare database).
I meccanismi del sistema di gestione delle banche dati mirano a garantire la coerenza, la riservatezza e la durabilità del contenuto delle banche dati. Il software rifiuterà di consentire a un utente di modificare o eliminare le informazioni se non è stato precedentemente autorizzato a farlo; rifiuterà che un utente aggiunga informazioni se esiste nel database ed è oggetto di una regola di unicità ; rifiuterà inoltre di archiviare informazioni non conformi alle regole di coerenza come le regole di integrità referenziale nei database relazionali.
Il sistema di gestione del database adatta automaticamente gli indici ad ogni modifica apportata a un database e ogni operazione viene scritta in un log contenuto nel database, che consente di annullare o terminare l'operazione stessa in caso di crash del computer e garantire così la coerenza di il contenuto della banca dati.
Dal 2009, IBM DB2 , Oracle Database , MySQL , PostgreSQL e Microsoft SQL Server sono i principali sistemi di gestione di database sul mercato.
I database sono sempre più spesso messi a disposizione dei propri utenti su server, via Internet o su server locali per una maggiore sicurezza ottimale. L'accesso è più o meno sicuro.
Alcuni produttori di dati (soprattutto le autorità locali) mettono gratuitamente a disposizione di tutti alcuni dei loro database. I dati di cui sono legalmente titolari o depositari autorizzati alla diffusione (foto ad esempio) possono in questo caso essere accessibili sotto licenza libera (ex CC-BY-SA ), oppure talvolta l'intero database stesso può essere accessibile sotto licenza libera licenza ( ODBL per esempio). Tali licenze consentono di preservare la proprietà intellettuale sui contenuti, autorizzandone il riutilizzo e la trasformazione, citando la fonte. Esistono molte altre licenze diverse, più o meno restrittive.
Uno degli usi più comuni dei computer è la manipolazione dei dati. I settori finanziario, assicurativo, educativo, della pubblica amministrazione e dei media, i principali settori della società dell'informazione , che forniscono servizi basati sull'informazione, utilizzano banche dati. Tra gli ambiti pratici di utilizzo ci sono inventari (magazzini, magazzini, biblioteche), strumenti di prenotazione (voli aerei, cinema, ecc.), patenti (guida, caccia, proprietario di cani)…), risorse umane, salari, produzione industriale ( le macchine di produzione sono spesso informatizzate), così come la contabilità e la fatturazione.
Le applicazioni informatiche per la raccolta di informazioni amministrative come cartelle cliniche, documenti fiscali o permessi per il porto d'armi fanno uso di database.
In un'applicazione computerizzata per la biglietteria , i biglietti di viaggio o di concerto sono registrati in un database.
Nei software di contabilità o tesoreria, le registrazioni così come il piano dei conti sono registrate in un database; il report è un report ottenuto dalla sintesi automatica del contenuto del database. Allo stesso modo, un'applicazione informatica di gestione della produzione assistita da computer (Rep. POAG), lo stato delle scorte, la disponibilità del personale e il tempo vengono salvati in un database e forniscono la base per un rapporto di pianificazione.
Nei software di ausilio alla diagnostica medica , un insieme di patologie e diagnosi viene registrato in un database. Un motore di ricerca estrae le diagnosi che meglio corrispondono alle patologie scelte dall'utente.
Le Système d'information Schengen est une application de base de données utilisée par les services de police et des douanes de l' Espace Schengen , en Europe pour collecter et s'échanger des renseignements judiciaires (mandat d'arrêts, empreintes digitales, interdictions de rimanere…).
ITIS è un'applicazione informatica che contiene un catalogo di tassonomia delle specie viventi (piante, animali, funghi, microrganismi, ecc.).
La CIA , un'agenzia di intelligence degli Stati Uniti, ha uno dei database più grandi al mondo.
Il catalogo della libreria online amazon.com è uno dei database più grandi al mondo con oltre 250 milioni di libri catalogati. Amazon.com possiede anche il database dei film IMDb .
Le biblioteche, in particolare le biblioteche universitarie , forniscono al loro pubblico l'accesso alle banche dati. Si tratta generalmente di banche dati contenenti libri e/o articoli digitali della stampa generale o specializzata, forniti da fornitori di servizi esterni. Ad esempio, la biblioteca della National School of Information Sciences and Libraries ( enssib ) offre ai suoi utenti l'accesso a 76 database, tra cui dalla A alla Z (stampa), Cairn (stampa ed e-book), Dawsonera (e-book), Électra (banca dati bibliografica), ecc. Alcuni sono ad accesso libero e gratuito, altri sono solo ad accesso in loco e altri sono ad accesso remoto e in loco. Inoltre, la scuola (enssib) produce e mette online i propri database per servire meglio la comunità dei professionisti delle scienze dell'informazione e delle biblioteche: base di costruzione di biblioteche francesi dal 1992 , servizio di tirocinio e offerte di lavoro de l'enssib, Base Maguelone: database di ornamenti tipografici.
Nei sistemi informativi geografici, le informazioni cartografiche sono registrate in un database. Le informazioni sulla mappatura del cielo sono disponibili nei cataloghi stellari .
Nei newsgroup o nei software di posta elettronica , i messaggi vengono spesso salvati in un database.
Il software antivirus utilizza spesso un database in cui sono memorizzate le impronte digitali lasciate dai virus informatici .
Il registro è un database che contiene le impostazioni di configurazione dei sistemi operativi Windows . L' oggetto Data Manager è un database simile a AIX operativi sistemi .
Nel software di gestione dei documenti elettronici, i documenti elettronici sono archiviati in un database. In un sistema di gestione dei contenuti, parti di una pagina Web sono archiviate in un database e nel software di e- commerce queste sono le pubblicità, così come gli inserzionisti.
In una piattaforma e-learning , gli esercizi, gli esami, i curricula, così come l'elenco degli insegnanti e degli studenti sono archiviati in un database.
Un ERP come SAP ERP (da SAP AG ) è costituito da un insieme di software che utilizzano tutti lo stesso database. I vari software di tali prodotti riguardano operazioni aziendali ordinarie come la fatturazione , la contabilità , lo stipendio , il monitoraggio degli ordini e le scorte .