MySQL: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
m Correggo dei wikilink.
 
(35 versioni intermedie di 16 utenti non mostrate)
Riga 3:
|DimensioneLogo = 150px
|Screenshot = Screenshot-mysql-client-text-debian.png
|Didascalia = Client MySQL a riga di comando (in [[Debian]]).
|Sviluppatore = [[Oracle Corporation]]
|UltimaVersione =
Riga 15:
|Lingua =
}}
'''MySQL''' o '''Oracle MySQL''' ([[Alfabeto fonetico internazionale|AFI]]: {{IPA|/maɪ ˌɛskjuːˈɛl/|en}} "My S-Q-L")<ref>
{{cita web|titolo=What is MySQL?|url=https://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html|editore=[[Oracle Corporation]]|citazione=The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.|accesso=22 giugno 2014|lingua=en}}</ref> è un ''[[relational database management system]]'' (RDBMS) composto da un [[client]] a [[Interfaccia a riga di comando|riga di comando]] e un [[server]]. Ambo i costituenti sono [[multipiattaforma]]<ref>{{Cita web|url = https://www.mysql.com/support/supportedplatforms/database.html|titolo = Supported Platforms: MySQL Database|accesso = 20 dicembre 2021|lingua = en}}</ref> e sono disponibili ufficialmente su tutte le [[Distribuzione (software)|distribuzioni]] conosciute, quali [[Debian]], [[Ubuntu]] e [[CentOS]]<ref>{{Cita web|url = https://packages.debian.org/stable/mariadb-server|titolo= MariaDB database server|accesso = 20 dicembre 2021|lingua = en}}
{{cita web
</ref>, sebbene lo abbiano sostanzialmente sostituito con [[MariaDB]] a partire dal [[2012]].<ref name="2012-mariadb-discussion-launchpad">{{Cita web|url = https://lists.launchpad.net/maria-discuss/msg00514.html|titolo = MySQL's future in Debian and Ubuntu|accesso = 20 dicembre 2021|lingua = en}}</ref>
|titolo=What is MySQL?
|url=https://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html
|editore=[[Oracle Corporation]]
|citazione=The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.
|accesso=22 giugno 2014
|lingua=en
}}</ref> è un ''[[relational database management system]]'' (RDBMS) composto da un [[client]] a [[Interfaccia a riga di comando|riga di comando]] e un [[server]]. Entrambi i software sono disponibili sia per sistemi [[Unix]] e [[Unix-like]] sia per [[Microsoft Windows|Windows]]; le piattaforme principali di riferimento sono [[Linux]] e [[Oracle Solaris (sistema operativo)|Oracle Solaris]].
 
E' unÈ [[software libero]] rilasciatopubblicato a doppia licenza, compresa la [[GNU General Public License]], ed è sviluppato per essere il più possibile conforme agli standard ANSI [[Structured Query Language|SQL]] e ODBC SQL.<ref>
{{cita web|titolo=Commercial License for OEMs, ISVs and VARs|url=https://www.mysql.com/about/legal/licensing/oem/|editore=[[Oracle Corporation]]|citazione=Oracle provides its MySQL database server and MySQL Client Libraries under a dual license model designed to meet the development and distribution needs of both commercial distributors (such as OEMs, ISVs and VARs) and open source projects.|accesso=22 giugno 2014|lingua=en}}</ref><ref>
{{cita web
{{cita web|titolo=MySQL Standards Compliance|url=http://www.radionomy.com/en/radio/abc-jazz/|editore=[[Oracle Corporation]]|citazione=One of our main goals with the product is to continue to work toward compliance with the SQL standard, but without sacrificing speed or reliability.|accesso=22 giugno 2014|lingua=en}}
|titolo=Commercial License for OEMs, ISVs and VARs
|url=https://www.mysql.com/about/legal/licensing/oem/
|editore=[[Oracle Corporation]]
|citazione=Oracle provides its MySQL database server and MySQL Client Libraries under a dual license model designed to meet the development and distribution needs of both commercial distributors (such as OEMs, ISVs and VARs) and open source projects.
|accesso=22 giugno 2014
|lingua=en
}}</ref><ref>
{{cita web
|titolo=MySQL Standards Compliance
|url=http://www.radionomy.com/en/radio/abc-jazz/
|editore=[[Oracle Corporation]]
|citazione=One of our main goals with the product is to continue to work toward compliance with the SQL standard, but without sacrificing speed or reliability.
|accesso=22 giugno 2014
|lingua=en
}}
</ref><ref>
{{cita web|titolo=MySQL Differences from Standard SQL|url=https://dev.mysql.com/doc/refman/5.7/en/differences-from-ansi.html|editore=[[Oracle Corporation]]|citazione=We try to make MySQL Server follow the ANSI SQL standard and the ODBC SQL standard, but MySQL Server performs operations differently in some cases|accesso=22 giugno 2014|lingua=en}}
{{cita web
</ref> I sistemi e i [[linguaggi di programmazione]] che supportanolo MySQLsupportano sono molto numerosi:, fra cui [[ODBC]], [[Java (linguaggio di programmazione)|Java]], [[Mono (progetto)|Mono]], [[Microsoft .NET|.NET]], [[PHP]], [[Python]] e molti altri.
|titolo=MySQL Differences from Standard SQL
|url=https://dev.mysql.com/doc/refman/5.7/en/differences-from-ansi.html
|editore=[[Oracle Corporation]]
|citazione=We try to make MySQL Server follow the ANSI SQL standard and the ODBC SQL standard, but MySQL Server performs operations differently in some cases
|accesso=22 giugno 2014
|lingua=en
}}
</ref>
I sistemi e i linguaggi di programmazione che supportano MySQL sono molto numerosi: [[ODBC]], [[Java (linguaggio di programmazione)|Java]], [[Mono (progetto)|Mono]], [[Microsoft .NET|.NET]], [[PHP]], [[Python]] e molti altri.
 
Le piattaforme [[LAMP]] e [[WAMP (piattaforma)|WAMP]] incorporano MySQL per l'implementazione di server per gestire [[sito web|siti web]] dinamici, inoltre molti dei ''[[content management system]]'' di successo come [[WordPress]], [[Joomla]], [[Drupal]] e [[TikiWiki]] nascono proprio con il supporto predefinito a MySQL.<ref>
{{cita web
|titolo=About WordPress
|editore=[[WordPress]]
|url=https://wordpress.org/about/
|citazione=WordPress was born out of a desire for an elegant, well-architectured personal publishing system built on PHP and MySQL
|accesso=22 giugno 2014
|lingua=en
}}
</ref><ref>
{{cita web
|titolo=What is Joomla?
|editore=[[Joomla]]
|url=https://www.joomla.org/about-joomla.html
|citazione=Joomla is based on PHP and MySQL
|accesso=22 giugno 2014
|lingua=en
}}
</ref><ref>
{{cita web
|titolo=A proposito di Drupal
|editore=[[Drupal]]
|url=http://www.drupal.it/a_proposito_di_drupal
|citazione=Utilizza come base di dati MySQL e PostgreSQL in modo nativo ma è utilizzabile con ogni tipo di database server.
|accesso=22 giugno 2014
}}
</ref>
Il software [[MediaWiki]], che gestisce i siti del progetto [[Wikimedia Foundation|Wikimedia]], è basato su database MySQL.
 
== Storia ==
Il [[codice sorgente]] di MySQL era inizialmente di proprietà della società MySQL AB, veniva però distribuito con la licenza [[GNU GPL]] oltre che con una [[licenza (informatica)|licenza]] che prevedeva assistenza commerciale. Fino alla versione 4.0, una buona parte del codice del client era licenziato con la [[GNU LGPL]] e quindi poteva essere utilizzato anche per applicazioni proprietarie. Dalla versione 4.1 in poi, anche il codice del client è distribuito sotto GNU GPL. Esiste peraltro una [https://www.mysql.com/company/legal/licensing/foss-exception.html clausola estensiva] che consente l'utilizzo di MySQL con una vasta gamma di licenze libere.
 
Nel luglio [[2007]] la società svedese MySQL AB aveva 385 dipendenti in numerosi paesi. I suoi principali introiti provenivano dal supporto agli utilizzatori di MySQL tramite il pacchetto [https://www.mysql.com/products/enterprise/ Enterprise], dalla vendita delle licenze commerciali e dall'utilizzo da parte di terzi del marchio ''MySQL''. Il 16 gennaio [[2008]] [[Sun Microsystems]] ha acquistato la società per un miliardo di dollari,<ref name=autogenerato1>{{en}} [http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml Sun Microsystems Announces Agreement to Acquire MYSQL]</ref> stimando il mercato del database in 15 miliardi di [[dollaro|dollari]].
Line 90 ⟶ 33:
Il 20 aprile 2009 alla stessa Sun Microsystems è stata proposta l'acquisizione da parte di [[Oracle Corporation|Oracle]] per 7,4 miliardi di dollari. L'accordo, approvato dall'antitrust USA, è poi passato al vaglio degli organi corrispondenti dell'Unione Europea, preoccupati per il [[conflitto di interessi]] costituito dai database commerciali Oracle rispetto a MySQL. [[Michael Widenius]], il padre di MySQL, ha lanciato una petizione online per opporsi alla fusione. Nonostante ciò l'[[Unione europea]] ha dato parere favorevole e l'acquisizione è stata completata il 27 gennaio 2010<ref>{{cita web|url=https://finance.yahoo.com/news/Oracle-Completes-Acquisition-iw-2658323391.html?x=0&.v=1|editore=Yahoo Finance|titolo=Oracle Completes Acquisition of Sun|lingua=EN|data=27 gennaio 2010|accesso=4 febbraio 2010|urlmorto=sì}}</ref>.
 
Il ramo 5.5 è il primo a includere estensioni non Open Source, disponibili solo nella versione Enterprise a pagamento.<ref name=autogenerato1 /><ref>{{en}} [https://blogs.oracle.com/MySQL/entry/new_commercial_extensions_for_mysql New Commercial Extensions for MySQL Enterprise Edition] {{Webarchive|url=https://web.archive.org/web/20130426203840/https://blogs.oracle.com/MySQL/entry/new_commercial_extensions_for_mysql |date=26 aprile 2013 }}</ref>
 
A partire dal [[2012]] diverse [[distribuzioni Linux]] e alcuni utenti importanti come Wikipedia<ref>{{cita web|url=https://blog.wikimedia.org/2013/04/22/wikipedia-adopts-mariadb/|titolo=Wikipedia Adopts MariaDB}}</ref> hanno iniziato a sostituire MySQL con il [[Fork (sviluppo software)|fork]] [[MariaDB]].<ref name="2012-mariadb-discussion-launchpad" /><ref>{{cita web|url=http://www.itwire.com/opinion-and-analysis/open-sauce/58571-monty-has-last-laugh-as-distros-abandon-mysql|titolo=Monty has last laugh as distros abandon MySQL|accesso=24 giugno 2013|dataarchivio=29 dicembre 2013|urlarchivio=https://web.archive.org/web/20131229161325/http://www.itwire.com/opinion-and-analysis/open-sauce/58571-monty-has-last-laugh-as-distros-abandon-mysql|urlmorto=sì}}</ref><ref>{{cita web|url=https://monty-says.blogspot.it/2013/02/mariadb-living-in-interesting-times.html|titolo=MariaDB living in interesting times}}</ref><ref>{{cita web|url=https://kb.askmonty.org/it/distribuzioni-che-includono-mariadb/|titolo=Distribuzioni che includono MariaDB|accesso=24 giugno 2013|urlarchivio=https://web.archive.org/web/20130320061603/https://kb.askmonty.org/it/distribuzioni-che-includono-mariadb/|urlmorto=sì}}</ref>.
 
== Sviluppo ==
Fino a {{Chiarire|qualche anno fa|sostituire il riferimento relativo con uno assoluto}} lo sviluppo del programma era opera soprattutto dei suoi sviluppatori iniziali: [[David Axmark]], [[Allan Larsson]] e [[Michael Widenius]]. Quest'ultimo era il principale autore del codice, oltre che principale socio della {{Chiarire|società|Quale? Ci sono state 2 acquisizioni}}, e tuttora coordina il progetto, tra l'altro vagliando i contributi che pervengono dai volontari. I contributi vengono accettati a condizione che il loro autore condivida i diritti d'autore con la {{Chiarire|società|Quale? Ci sono state 2 acquisizioni}}.
 
== Caratteristiche ==
L'[[Internet Assigned Numbers Authority]] ha formalmente assegnato al server MySQL la [[Porta (reti)|porta]] [[Transmission Control Protocol|TCP]] <code>3306</code>.<ref>{{Cita web|url = https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=mysql|titolo = Service Name and Transport Protocol Port Number Registry|lingua = en|accesso = 17 febbraio 2021|sito = [[Internet Assigned Numbers Authority]]}}</ref><ref>{{Cita web|url = https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html|titolo = Chapter 3 MySQL Port Reference Tables|accesso = 17 febbraio 2021|lingua = en|dataarchivio = 27 gennaio 2021|urlarchivio = https://web.archive.org/web/20210127163621/https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.html|urlmorto = sì}}</ref>
 
== Versioni ==
=== 3.23 ===
La prima versione alfa del ramo 3.23.x è stata pubblicata nel luglio 1999. La prima {{Chiarire|versione di produzione}} è del gennaio 2001. Nelle versioni 3.23.x sono stati aggiunti i tipi di tabella [[MyISAM]] (che rimpiazza il vecchio Isam), HEAP (ora MEMORY), [[InnoDB]] e BDB. Inoltre sono state aggiunte la [[ricerca fulltextfull text]] e la replica dei database.
 
=== 4.0 ===
Nell'ottobre 2001 è stata rilasciatapubblicata la prima versione alfa del ramo 4.0.x, mentre nel marzo 2003 è entrata in produzione. Le aggiunte più significative sono:
* una [[cache]] per le query
* le query di tipo [[UNION]]
Line 121 ⟶ 68:
 
=== 5.0 ===
Il 22 dicembre [[2003]] viene rilasciatapubblicata la prima versione della serie 5.0, che è entrata in produzione il 19 ottobre [[2005]]. Le aggiunte più significative sono:
* Le [[Vista (modello relazionale)|viste]], tabelle virtuali ricavate da una query SQL, aggiornabili quando possibile;
* Le [[stored procedure]], un vero e proprio linguaggio di programmazione per interagire con i dati del database. Oltre ai soliti parametri di ricerca e selezione è possibile inserire costrutti [IF... THEN... ELSE], tanto per fare un esempio;
Line 158 ⟶ 105:
 
=== 5.6 ===
È l'ultima versione rilasciatapubblicata in produzione. Sono molte, di cui alcune molto attese, le nuove funzionalità della versione 5.6:
* La gestione dei microsecondi e dei millisecondi nei datatype temporali e nei timestamp;
* La possibilità di controllare i dati della Host Cache e i relativi errori;
Line 175 ⟶ 122:
== Compatibilità ==
<!-- Non basta dire [[multipiattaforma]]? -->
MySQL, essendo scritto in [[C (linguaggio)|linguaggio C]] e [[C++]], è disponibile su molti differenti [[sistema operativo|sistemi operativi]] tra cui [[AIX (sistema operativo)|AIX]], [[AmigaOS]], [[BSDi]], Digital Unix, [[FreeBSD]], [[HP-UX]], [[GNU/Linux]], [[macOS]], [[NetBSD]], [[Novell NetWare]], [[OpenBSD]], [[OS/2]] Warp, [[Silicon Graphics|SGI]] [[IRIX]], [[Oracle Solaris (sistema operativo)|Solaris]], [[SunOS]], SCO OpenServer, SCO UnixWare, SGI Irix, [[Tru64]], [[Windows 95]], [[Windows 98]], [[Windows NT]], [[Windows 2000]], [[Windows XP]], [[Windows Server 2003|Windows 2003]], [[Windows Server 2008]], [[Windows Server 2008 R2]], [[Windows Vista]], [[Windows 7]], [[Windows 8]] e [[Windows 10]].<ref>
{{cita web|titolo=The Main Features of MySQL|url=https://dev.mysql.com/doc/refman/5.7/en/features.html|editore=[[Oracle Corporation]]|citazione=Written in C and C++|accesso=29 giugno 2014|lingua=en}}
{{cita web
|titolo=The Main Features of MySQL
|url=https://dev.mysql.com/doc/refman/5.7/en/features.html
|editore=[[Oracle Corporation]]
|citazione=Written in C and C++
|accesso=29 giugno 2014
|lingua=en
}}
</ref>
 
Line 193 ⟶ 133:
[[GNU/Linux]] 2.x Intel, [[Oracle Solaris (sistema operativo)|Solaris]] (SPARC and x86), [[FreeBSD]] 4.x/5.x (x86, sparc64), [[AIX (sistema operativo)|AIX]] 4.3.x, SCO OpenServer, SCO UnixWare 7.1.x
 
Sono disponibili dei driver per i linguaggi [[C (linguaggio)|C]], [[C++]], [[C sharp|C#]], [[Eiffel (linguaggio)|Eiffel]], [[Java (linguaggio di programmazione)|Java]], [[Perl]], [[PHP]], [[Python]], [[Ruby (linguaggio di programmazione)|Ruby]], [[Tcl]] e per le piattaforme Mono e. Net.NET.
 
Infine, il linguaggio SQL di MySQL comprende numerose estensioni che sono tipiche di altri DBMS, quali [[PostgreSQL]], Oracle e Sybase. In questo modo le query non standard scritte per altri DBMS in alcuni casi funzioneranno senza problemi.
 
== Amministrazione ==
Line 229 ⟶ 169:
 
=== Storage engine prodotti da terze parti ===
{{W|software libero|settembre 2016|link esterni in corpo voce}}
Esistono anche storage engine prodotti da terze parti. Eccone alcuni:
 
* [[XtraDB]] - Fork di InnoDB, sviluppato da Percona
* [[OQGRAPH]] - Simula strutture a [[grafo]]
* [SolidDB<ref>{{cita web|url=http://dev.soliddb.com/ |titolo=solidDB]}}</ref> - Motore transazionale
* [RitmarkFS<ref>{{cita web|url=http://www.ritmark.com/ |urlarchivio=https://web.archive.org/web/20060713082654/http://www.ritmark.com/ |titolo=RitmarkFS]}}</ref> - Permette di accedere al filesystem in lettura e in scrittura tramite comandi SQL, supporta anche la replica del filesystem
* [Distributed Data Engine<ref>{{cita web|url=http://www.ddengine.org/ |urlarchivio=https://web.archive.org/web/20060627093152/http://www.ddengine.org/ |titolo=Distributed Data Engine]}}</ref> - Motore per dati distribuiti, per gestire meglio il carico di lavoro
* [[Sphinx (software)#API|SphinxSE]] - Interfaccia MySQL con Sphinx
* [[CassandraSE]] - Interfaccia MariaDB con Apache Cassandra
* [mdbtools<ref>{{cita web|url=https://sourceforge.net/projects/mdbtools |titolo=mdbtools]}}</ref> - Permette di leggere e scrivere un file. mdb (Access)
* BrightHouse - Appare all'utilizzatore come un normale MyISAM, ma struttura internamente i dati per colonne anziché per righe. Da utilizzare tipicamente in lettura per Data Warehouse: riduce da 10 a 100 volte i tempi di accesso e lo spazio per i dati.
 
Line 283 ⟶ 222:
 
Il repository contiene le versioni, anche datate, per tutti i sistemi operativi supportati da MySQL.
 
== Diffusione ==
Le piattaforme [[LAMP]] e [[WAMP (piattaforma)|WAMP]] incorporano MySQL per l'implementazione di server per gestire [[sito web|siti web]] dinamici, inoltre molti dei ''[[content management system]]'' di successo come [[WordPress]], [[Joomla]], [[Drupal]] e [[TikiWiki]] nascono proprio con il supporto predefinito a MySQL.<ref>
{{cita web|titolo=About WordPress|editore=[[WordPress]]|url=https://wordpress.org/about/|citazione=WordPress was born out of a desire for an elegant, well-architectured personal publishing system built on PHP and MySQL|accesso=22 giugno 2014|lingua=en}}
}}</ref><ref>
{{cita web|titolo=What is Joomla?|editore=[[Joomla]]|url=https://www.joomla.org/about-joomla.html|citazione=Joomla is based on PHP and MySQL|accesso=22 giugno 2014|lingua=en}}
</ref><ref>
{{cita web|titolo=A proposito di Drupal|editore=[[Drupal]]|url=http://www.drupal.it/a_proposito_di_drupal|citazione=Utilizza come base di dati MySQL e PostgreSQL in modo nativo ma è utilizzabile con ogni tipo di database server.|accesso=22 giugno 2014}}
</ref>
 
Il software [[MediaWiki]] nato nel [[2002]], che gestisce i siti del progetto [[Wikimedia Foundation|Wikimedia]], è basato su database MySQL. [[Wikimedia Foundation]] ha adottato MySQL fino al 2015 circa, migrando poi a [[MariaDB]].<ref>{{Cita web|url = https://www.mediawiki.org/wiki/File:MySQL_at_Wikipedia.pdf|titolo = MySQL at Wikipedia|lingua = en|autore = Jaime Crespo|accesso = 20 dicembre 2021|data = 23 settembre 2015}}</ref>
 
== Note ==
Line 304 ⟶ 254:
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* {{FOLDOC}}
* [http://www.oracle.com/us/products/mysql/overview/index.html MySQL], dal sito di [[Oracle Corporation|Oracle]]
* [http://downloads.mysql.com/docs/administrator-it.a4.pdf Manuale di MySQL Administrator]<!--http://dev.mysql.com/doc/administrator/it/index.html-->
* [http://downloads.mysql.com/docs/query-browser-it.pdf Manuale di MySQL Query Browser]<!--http://dev.mysql.com/doc/query-browser/it/index.html-->
* {{en}} [http://downloads.mysql.com/docs/migration-toolkit-en.pdf Manuale di MySQL Migration Toolkit]<!--http://dev.mysql.com/doc/migration-toolkit/en/index.html-->
* {{cita web|url=https://blogs.oracle.com/MySQL/|titolo=Oracle's MySQL Blog|lingua=en|accesso=10 marzo 2013|dataarchivio=8 marzo 2013|urlarchivio=https://web.archive.org/web/20130308085121/https://blogs.oracle.com/MySQL/|urlmorto=sì}}
* {{en}} [https://web.archive.org/web/20120722013146/http://forge.mysql.com/wiki/Main_Page MySQL Forge Wiki], il wiki ufficiale dedicato a MySQL (archiviato)
* [https://web.archive.org/web/20041209053830/http://freephp.html.it/guide/lezioni.asp?idguida=9 Breve tutorial per phpMyAdmin], da HTML.it
* [https://www.mrw.it/mysql/guida-mysql/ Guida MySQL in Italiano], da MRW.it
 
{{Database management system}}