Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

DBMS – 3: MySQL

Tags: mysql

Continua il nostro percorso alla scoperta e all’analisi dei DBMS. Finora abbiamo parlato di DB2, oltre ad avervi fornito una panoramica preliminare sui database e sui DBMS. In questo articolo parleremo di MySQL.

Panoramica e storia di MySQL

MySQL è uno dei più diffusi sistemi DBMS open source, sviluppato, distribuito e supportato da MySQL AB, un’organizzazione fondata dagli stessi, primi sviluppatori di MySQL. A riprova della sua grossa diffusione, si consideri che, oltre alla vastissima utenza, MySQL è attualmente in grado di operare su un parco di oltre 20 piattaforme, tra le quali annoveriamo Linux, Windows, OS/X, HP-UX, AIX, Netware.

Ma come nacque MySQL? Tutto scaturì dall’esigenza di un’azienda scandinava, la TcX, che, nell’anno 1996, si trovò dinanzi alla necessità di un database (di tipo relazionale, come vedremo nel seguito di questo articolo) che fosse in grado di gestire grandi quantità di dati, e che, al contempo, fosse molto veloce e sicuro; ulteriore caratteristica richiesta era quella di un DBMS che potesse essere usato con un insieme limitato di risorse hardware. In quel periodo, trovare un prodotto che rispondesse a queste esigenze pareva impossibile; l’azienda decise quindi di creare un proprio DBMS, basandosi su un altro database precedentemente sviluppato: mSQL. Il prodotto che ne scaturì (ovvero la prima versione di MySQL) risultò essere estremamente veloce e semplice nell’uso, con l’unico svantaggio, (rispetto a DBMS maggiormente diffusi e costosi come, ad esempio, Oracle) di essere privo di un’interfaccia specifica per la gestione manuale dei dati.

Caratteristiche di MySQL

Come precedentemente accennato, MySQL può essere inquadrato nell’ambito dei database di tipo relazionale. Per database relazionale si intende un database nel quale i dati immagazzinati sono memorizzati sotto forma di tabelle, messe poi in relazione tra loro; questa tecnica organizzativa permette di ottimizzare la gestione dei dati, ma soprattutto di ridurre lo spazio di memoria impegnato.

Compreso il significato di database relazionale, è ora possibile fornire una definizione più precisa di cosa effettivamente è MySQL: un software fornitore di un sistema in grado di gestire i database relazionali. Quindi, in questa accezione, possiamo indicare MySQL non propriamente come DBMS, bensì più precisamente come RDBMS, ovvero Relational DataBase Management System (Sistema di gestione di database relazionali). Lo stesso DB2, di IBM, del quale vi abbiamo parlato nel precedente articolo, è un RDBMS.

MySQL utilizza il linguaggio SQL (Structured Query Language) per permettere, principalmente, l’interrogazione dei database che gestisce. Oltre a questa funzione principale, questo particolare linguaggio permette di effettuare tutte le operazioni necessarie alla creazione delle tabelle di un database; di definire i vincoli intrarelazionali (ossia vincoli vigenti all’interno di un’unica relazione) ed interrelazionali (ossia vigenti tra due o più relazioni); di inserire, cancellare e modificare i dati contenuti nel database.

Reperire ed installare MySQL

Come precedentemente asserito, nell’ambito della nostra panoramica a MySQL, questo è un prodotto open source, distribuito con licenza GPL. Può dunque essere liberamente prelevato attraverso Internet. In particolare possiamo procurare la nostra copia di MySQL al sito seguente:

http://www.mysql.org/

in particolare, attualmente, MySQL è disponibile nella versione 5.0 in due diverse tipologie:

  • MySQL Community Server
  • MySQL Enterprise Server

la differenza fra le due tipologie sta essenzialmente nella notifica, nel caso della tipologia Enterprise, degli aggiornamenti che nel corso del tempo vengono sviluppati e pubblicati sul sito ufficiale. La versione Enterprise, quindi, rispetto alla versione Community, rappresenta un prodotto destinato ad un uso più professionale. Supponendo di scegliere la versione Community, troveremo disponibili diverse sottotipologie e versioni, destinate a Windows, Linux, Solaris, FreeBSD, HP-UX, IBM AIX, Mac OS etc. Riferendoci ai principali s.o. ad uso desktop, si nota che mentre per Windows troviamo la semplice scelta tra il download dell’eseguibile (.EXE) e il formato compresso (.ZIP), per Linux la gamma di scelta e molto più ampia; è infatti disponibile una versione differente per ciascuna delle principali distribuzioni (Red Hat Enterprise, Suse, Ubuntu, etc.) e, per ognuna di esse, è prevista la scelta fra la versione Server, quella contenente una suite per i benchmark di sistema, oltre che la parte tool dell’applicativo, costituita dal file contenente l’insieme delle libraries e dal file client interface per consentire una gestione maggiormente user-friendly dell’applicativo. Ciascuna di queste tipologie è scaricabile in due diversi tipi di file:

  • file non rpm (nel caso particolare un file .tar.gz)
  • file rpm

A titolo esemplificativo, supponiamo che la nostra scelta ricada sulla versione non-rpm, ovvero quella indicata dal link denominato:

Linux (x86, glibc-2.2, “standard” is static)

come potete osservare nella foto sottostante

cliccando su tale link, veniamo redirezionati verso una pagina che permette l’inserimento dei nostri dati personali e la scelta di un mirror, tra i vari presenti, dal quale scaricare il nostro file, come si vede dalla foto sottostante:

Reperito il file, dobbiamo ora installarlo; il nostro file è in formato compresso .tar.gz, e dobbiamo quindi scompattarlo. Il file sarà analogo al seguente:

mysql-standard-5.0.27-linux-i686.tar.gz

per scompattarlo inseriamolo per comodità nella directory seguente:

/usr/local

nella quale scompatteremo il file ed avvieremo l’installazione. I comandi sono i seguenti:

cd /usr/local

gunzip mysql-standard-5.0.27-linux-i686.tar.gz

tar -xvf mysql-standard-5.0.27-linux-i686.tar.gz

a questo punto creiamo un link simbolico alla directory creata, in modo da potersi riferire ad essa in maniera semplificata; scegliamo quindi, come nome, mysql:

ln - s mysql-standard-5.0.27-linux-i686 mysql

Alcune note sono infine d’obbligo per consentire il corretto funzionamento di MySQL in Linux:

  1. MySQL ha bisogno di uno specifico utente appartenente ad un apposito gruppo: sia l’utente che il gruppo sono denominati mysql; bisogna quindi crearli entrambi.

  2. Eseguita la creazione di utente e gruppo mysql, è necessario creare una directory che conterrà i dati relativi ai database che verrano creati nell’utilizzo del RDBMS MySQL. Inoltre sarà necessario che i file ivi contenuti abbiano dei permessi adeguati alle esigenze di sicurezza. Entrambe le su citate operazioni possono essere effettuate chiamando in causa uno script presente nella directory /mysql/scripts. Lo script si chiama mysql_install_db.


MySQL viene largamente utilizzato in combinazione con applicativi web sviluppati nei più svariati linguaggi, tra cui i più diffusi PHP, JSP, ASP. Proprio a causa di questa eterogeneità realizzativa, in aggiunta alla variegata casistica di utilizzo, è opportuno fare riferimento, nella pratica sviluppativa, ai numerosi newsgroup e agli altrettanti forum “a tema” che popolano la rete. Vi consiglio, in particolare, la consultazione dei seguenti due forum:

http://www.giorgiotave.it/forum/php-mysql/ (dedicato in particolare a MySQL combinato col il PHP);

http://forums.mysql.com/.

Articolo a cura di: Sebastiano Sacco

Fonti: “MySQL”, di S. Rubini, ed. Apogeo; http://www.devspy.com/, www.mysql.org




This post first appeared on Ingegneri Pesanti Group | Quelli Che L’Informati, please read the originial post: here

Share the post

DBMS – 3: MySQL

×

Subscribe to Ingegneri Pesanti Group | Quelli Che L’informati

Get updates delivered right to your inbox!

Thank you for your subscription

×