Structured Query Language (SQL)

Structured Query Language (SQL)

Dalla sua nascita ad oggi l’informatica ha fatto molta strada, fino a diventare indispensabile per milioni di utenti e per il mondo del lavoro. Enormi progressi che hanno portato alla realizzazione di veri e propri mezzi sofisticati, utili a migliorare l’efficienza di servizi e prodotti di pubbliche amministrazioni e aziende private. I salti in avanti in termini di velocizzazione dei servizi e, anche in fatto di risparmio, in gran parte sono riconducibili proprio agli sviluppi dell’informatica. In tale logica è sufficiente ricordare gli effetti positivi della digitalizzazione, un processo in Italia ancora in atto e lungo da ultimare ma che tuttavia ha già portato buoni risultati. Fatta eccezione per qualche utente ancora affezionato alla carta, la stragrande maggioranza infatti riconosce i grandi meriti e accetta volentieri le risorse informatiche. Ai giorni nostri, nel mondo dell’informatica, rivestono un ruolo da protagonisti i database. In questa guida ci occuperemo di questi archivi dati e del linguaggio SQL, analizzando gli argomenti partendo dal significato fino ad arrivare alle loro principali funzionalità. Vediamo allora nei paragrafi successivi cosa sono i database, la loro utilità e andiamo anche a conoscere le caratteristiche e la struttura del linguaggio SQL.

In informatica, i database o banche dati sono collezioni di dati, correlati tra loro, strutturati in maniera tale da permettere la gestione dei dati stessi in fatto di inserimento, aggiornamento, ricerca e cancellazione delle informazioni. In parole semplici, i database sono sviluppati per la conservazione, il recupero e l’elaborazione delle informazioni. Da queste prime righe si capisce come i database siano degli archivi dati organizzati. In pratica, una banca dati realizza una struttura che consente l’inserimento e la veloce modifica delle informazioni di interesse. L’insieme di dati, omogeneo per formato e contenuti, una volta memorizzato in un dispositivo elettronico, può tranquillamente essere consultato da qualunque terminale, naturalmente con l’uso di specifiche chiavi di accesso. La mancata perdita dei dati quindi si deve proprio ai database, in quanto le informazioni archiviate vengono gestite e trattate per usarle nei vari campi applicativi. Per quanto riguarda invece l’architettura, un database è incorporato a livello fisico in un hardware per la memorizzazione dei dati e supportato a livello logico con determinati software. Un client di database non fa altro che interagire con la banca dati in senso fisico, mentre dal punto di vista logico la gestione dei dati strutturati viene garantita dal Database Management System (DBMS).

In informatica l’arrivo dei database è stato prezioso per le organizzazioni di lavoro, in quanto le banche dati sono particolarmente indicate per la gestione dei dati e per favorire la ricerca di determinate informazioni. Un tempo, prima dello sviluppo di tali strumenti, pratiche di difficile realizzazione. Una banca dati raccoglie i dati, collegandoli a un’unità logica. In questo modo i singoli dati sono rappresentati come metadescrizioni e corredati delle informazioni utili per essere elaborati. Quando un database è realizzato in maniera efficiente sono maggiori le possibilità di integrarlo con altri strumenti di analisi e di estrazione, per trasformare e caricare i dati. Quindi una banca dati deve essere ottimizzata al meglio per un utilizzo migliore di questa preziosa risorsa informatica, per permettere cioè corretti processi di estrazione e trasformazione dei dati. La differenza tra database e datawarehouse sta nel fatto che mentre il primo strumento consente di raccogliere i dati in base a logiche differenti, con il datawarehouse si memorizzano quei dati consolidati da più database.

Nel campo informatico, Structured Query Language (SQL) è un linguaggio standardizzato per database che si basano sul modello relazionale (RDBMS), strutturato e diviso nei seguenti gruppi di comandi:

  • Data Definition Language (DDL):
    gestione di schemi e descrizioni di database.
  • Data Manipulation Language (DML):
    inserimento, modifica e gestione dei dati.
  • Data Control Language (DCL):
    gestione strumenti di controllo e accesso ai dati.
  • Data Query Language (DQL):
    operazioni di interrogazione dei dati memorizzati.
  • Transaction Control Language (TCL):
    gestione delle transazioni all’interno del database.

Nato agli inizi degli anni settanta nei laboratori IBM, Structured Query Language (SQL) è un linguaggio standardizzato per database per interrogare e gestire banche di dati attraverso l’uso di costrutti di programmazione detti query. Con il linguaggio SQL è possibile leggere, modificare, cancellare dati ed esercitare funzionalità gestionali sui sistemi database. Trattasi quindi di un linguaggio di programmazione per database, per la creazione, la trasformazione e il recupero di informazioni in un Relational Database Management System (RDBMS). A dispetto del nome, il linguaggio SQL non è solamente un query language, ma presenta anche funzionalità per la gestione e il monitoraggio tipiche di altri linguaggi di programmazione. Arrivati a questo punto, prima di riepilogare le caratteristiche dello Structured Query Language, è assolutamente necessario fare un passo indietro per capire esattamente cosa sono i Relational Database Management System (RDBMS). Un RDBMS non è altro che un sistema per gestire le banche dati (database) basato su principi relazionali. In virtù della semplicità d’uso e di comprensione, tale sistema si è velocemente diffuso in diversi campi di applicazione prendendo il posto dei sistemi di gestione database di tipo gerarchico.

Una volta compresa bene la natura di un RDBMS, passiamo a riassumere le principali caratteristiche del linguaggio Structured Query Language e la sua struttura. Lo SQL è un linguaggio di programmazione nel quale non c’è la necessità di stendere tutta una sequenza di operazioni, ma piuttosto corre il bisogno di dichiarare e specificare le logiche proprietà delle informazioni da ricercare. Un linguaggio standardizzato utile per la lettura, la modifica e la cancellazione dei dati che sono presenti nel database.

L’impiego delle risorse informatiche oggi è massiccio e interessa ogni settore lavorativo. Da questo punto di vista i database fanno la loro bella figura perché la memorizzazione di dati strutturata per formato e contenuti permette la disponibilità di importanti informazioni in qualunque momento. Al pari, ha la sua grande importanza anche il linguaggio SQL, standardizzato per database che si basano sul modello relazionale Relational Database Management System (RDBMS). Strumenti che dimostrano il grande sviluppo dell’informatica e veri e propri protagonisti del mondo d’oggi. Naturalmente risorse digitali che garantiscono, oltre alle funzioni sopra descritte, anche margini di sicurezza accettabili a favore di una corretta tutela e gestione delle informazioni. Con tali presupposti, credere soltanto per un attimo di abbandonare il ricorso ai mezzi informatici per tornare alle vecchie abitudini sarebbe una follia. Ovviamente l’utilizzo di alcuni strumenti comporta anche delle difficoltà e richiama la necessità di attenzioni particolari, ma l’efficienza e la velocità dei servizi digitali non sono in discussione.

Info sull'autore

Andrea Masella author