MySQL dalle origini ad oggi
Il progenitore di MySQL è mSQL (miniSQL), sviluppato da Hughes Tecnology (australiana).
Nei primi anni '90 Michael "Monty" Widenius, uno sviluppatore svedese della società TcX utilizza la versione 1.x di mSQL
che però non supportava gli indici, decide quindi di aggiungere delle funzionalità ralizzando nel 1995 MySQL 1.0
(my deriva dal fatto che la moglie si chiamava My e che le tabelle utilizzavano my come suffisso).
MySQL AB è una società virtuale (decine di paesi comunicazioni via internet) svedese con David Axmark e Allan Larsson.
Vogliono promuovere la filosofia Open Source e nel 2000 utilizzano la GPL (Gnu Public License) per MySQL
MySQL è classificabile come un "database relazionale" permettendo la conservazione dei dati in tabelle separate piuttosto che in una unica grande entità. Questo, oltre ad aggiungere flessibilità e velocità nell'accesso ai dati, permette una più efficace modellazione delle basi di dati.
Il sistema si presenta con una struttura client/server, dove il server SQL, scritto in C e C++, utilizza una architettura multithread e offre una completa raccolta di API (Application Programming Interfaces) utilizzabili sia tramite i client forniti nella distribuzione sia da applicazioni scritte in una notevole varietà di linguaggi: C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e TCL.
Il fatto di essere Open Source ha inoltre favorito lo sviluppo di interfacce, rilasciate ovviamente sotto GPL, in pressoché tutti i linguaggi maggiormente utilizzati, soprattutto nello sviluppo di applicazioni web ma non solo: in PHP ad esempio viene fornita in modo nativo al linguaggio la connettività al database server, in Perl la connessione è possibile grazie ai moduli DBI e DBD::MySql, utilizzando MySQL Connector/ODBC (MyODBC) è possibile connettersi al database utilizzando applicazioni come ad esempio Microsoft Access, Microsoft Excel o linguaggi di programmazione come Delphi Borland o ASP e Visual Basic, viene inoltre fornito supporto ai client Java, sia in ambiente Windows che Unix, tramite l'interfaccia Connector/JDBC.
L'accesso ai dati è reso possibile dall'utilizzo di SQL (Structured Query Language), in particolare viene garantito il supporto alla versione corrente dello standard definito nel ANSI/ISO SQL Standard.
Breve overview sulle caratteristiche e funzionalitą del database server MySQL