back to top

Introduzione a MySQL

Il termine database in informatica sta ad indicare una struttura organizzata di dati. I database (o, più brevente, DB), quindi, sono gli archivi dove gli applicativi (nel senso più ampio del termine) memorizzano dei dati in modo persistente al fine di poterli leggere successivamente e, se necessario, modificare o cancellare.

I DBMS (DataBase Management System)

Tra i più diffusi software per la gestione di database (DBMS) deve certamente essere annoverato MySQL: originariamente sviluppato dalla società svedese TcX per uso interno, MySQL costituisce oggi la soluzione ottimale (soprattutto in ambiente Linux) per chi è in cerca di un database veloce, flessible, affidabile e, soprattutto, gratuito. Pur essendo passato sotto il controllo di Oracle, infatti, MySQL continua ad essere distributo anche in versione free (con licenza GNU General Public License) cosa che ne ha agevolato non poco la diffusione.

Abbiamo detto che MySQL è uno dei DBMS più famosi al mondo… ma cos’è un DBMS?

Un DBMS è un software di tipo server avente il compito di gestire uno o più database; nessun altro software all’infuori del DBMS può interagire direttamente con le basi dati! Questo vuol dire che il DBMS deve intervenire, in qualità di intermediario, in ogni operazione sui database svolta dai software che ne fanno utilizzo.

Se lavoriamo con MySQL, quindi, tutte le nostre applicazioni che utilizzano un DB dovranno "chiedere il permesso" a MySQL che si farà da tramite nello scambio di dati da e verso i database. Sarà MySQL, quindi, a gestire gli accessi ai dati (filtrando quelli non autorizzati), ad eseguire le interrogazioni ed a restituirne il risultato ove previsto.

DBMS e RDBMS

Abbiamo appena detto che MySQL è un software appartenente alla famiglia dei DBMS. Volendo essere più precisi, tuttavia, dovremmo puntualizzare che all’interno di questo vasto gruppo di software è possibile identificare dei sotto-insiemi più specifici tra cui, ad esempio, quello dei DBMS NoSQL e quello dei RDBMS a cui appartiene tra gli altri, appunto, il nostro MySQL.

Gli RDBMS non sono altro che dei sistemi di gestione delle banche dati che operano in aderenza alla teoria relazionale formulata negli anni 70 dall’informatico britannico Edgar F. Codd, secondo la quale il sistema deve operare sui dati mediante relazioni tra le diverse tabelle in cui questi vengono suddivisi e ordinati.

Nel modello relazionale, infatti, i dati all’interno di un database sono organizzati in differenti tabelle le quali sono in relazione tra loro. Facciamo un esempio: supponiamo di dover organizzare i dati di un’ipotetica videoteca all’interno di un database (molto semplificato) in cui catalogare film e registi; per soddisfare questa nostra esigenza il database sarà suddiviso in due tabelle così strutturate:

  • Tabella "registi"
    • id
    • nome
  • Tabella "film"
    • id
    • titolo
    • id_regista

Questa struttura realizza un relazione di tipo uno a molti in quanto il medesimo regista potrà essere associato ad una pluralità di film. La relazione tra le due tabelle è gestita mediante il campo "id" della tabella "registi" ed il campo "id_regista" della tabella "film". Di seguito uno schema grafico:

RDBMS

Come detto anche MySQL adotta questa logica che pertanto ritroveremo nel proseguo di questa guida.

Alcune precisazioni su MySQL

Prima di addentrarci nei meandri di MySQL ritengo opportune alcune precisazioni al fine di fugare eventuali dubbi e fare un po’ di chiarezza su cos’è e cosa non è MySQL:

  1. MySQL NON va confuso con SQL: SQL è un linguaggio di interrogazione strutturata sviluppato da IBM. MySQL sfrutta SQL per interagire con i dati. Quindi: SQL è un linguaggio, MySQL è un software;
  2. MySQL NON è un database ma, come abbiamo detto, è un DBMS (Database Mangment System) cioè un software per la gestione di database;
  3. MySQL è un prodotto multi-piattaforma: ciò significa che può girare sia in ambiente Linux che Windows;
  4. MySQL è open-source: questo significa non solo che è gratuito, ma anche che avete a disposizione il codice sorgente del programma e quindi, se sapete dove mettere le mani, potete modificarlo ed adattarlo alle vostre specifiche esigenze.
  5. MySQL è molto diffuso ed utilizzato nelle applicazioni per il Web. Principalmente viene utilizzato insieme a PHP, tuttavia non sono infrequenti utilizzi di MySQL con altri linguaggi di scripting server side quali, ad es., ASP o JSP.

Come ottenere MySQL

Chiunque fosse interessato ad ottenere una copia di MySQL può collegarsi al sito www.mysql.com e scaricare la versione per il proprio OS. Sul sito ufficiale di MySQL, tra l’altro, è disponibile anche una esaustiva documentazione (in inglese) sulle varie caratteristiche e sulle funzioni native implementate nel DBMS.

Ora che ci siamo fatti un’idea di cos’è MySQL vediamo i capire insieme come funziona, partendo ovviamente dall’installazione (sia in ambiente Windows che Linux) che sarà l’oggetto del prossimo capitolo di questa nostra guida.

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).
Articolo successivo

In questa guida...