Prima di addentrarsi nel linguaggio SQL, è importante conoscere i vari tipi di database esistenti, poiché rappresentano la base sulla quale si costruiscono e gestiscono le applicazioni e i sistemi di dati. I database possono essere classificati in diverse categorie, tra cui:
- Database relazionali: sono il tipo più comune di database e organizzano i dati in tabelle strutturate, che si interconnettono tramite relazioni basate su chiavi primarie e chiavi esterne. Questi database utilizzano il linguaggio SQL per eseguire query e manipolare i dati. Esempi di sistemi di gestione dei database relazionali (RDBMS) sono MySQL, PostgreSQL, Oracle e Microsoft SQL Server.
- Database non relazionali: noti anche come database NoSQL, questi sistemi di gestione dei dati non utilizzano tabelle e relazioni per organizzare i dati, ma altre strutture più flessibili e scalabili. I database non relazionali si suddividono in diverse sottocategorie, come document-based (MongoDB), key-value (Redis), column-family (Cassandra) e graph-based (Neo4j). Questi database utilizzano linguaggi di query specifici per il loro sistema, che possono differire dal tradizionale SQL.
- Database ad oggetti: questi database memorizzano e gestiscono i dati come oggetti, piuttosto che come tabelle e relazioni. Sono particolarmente adatti per applicazioni che richiedono un alto livello di astrazione e la capacità di gestire relazioni complesse tra oggetti. Esempi di database ad oggetti includono db4o e ObjectDB.
- Database temporali: questi database tengono traccia delle modifiche ai dati nel tempo, consentendo agli utenti di eseguire query su dati storici o su intervalli temporali specifici. Sono spesso utilizzati in ambito finanziario, meteorologico e di analisi delle serie temporali. Esempi di database temporali includono TimescaleDB e InfluxDB.
Conoscere i diversi tipi di database è fondamentale per comprendere come funzionano e come interagire con essi tramite il linguaggio SQL o altri linguaggi di query. Questa conoscenza sarà utile per scegliere il sistema di gestione dei dati più adatto alle esigenze del tuo progetto e per imparare a utilizzare il linguaggio SQL in modo efficace.
In questa sede vedremo alcune informazioni su alcuni dei sistemi di memorizzazione logica dei dati: SQL per i database relazionali, NoSQL per i database non relazionali e blockchain, che non si riferisce direttamente a un tipo di database tradizionale come quelli relazionali o NoSQL. Tuttavia, può essere considerata una categoria particolare di database distribuiti e immutabili.