MySQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Correggo dei wikilink. |
|||
(30 versioni intermedie di 14 utenti non mostrate) | |||
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}}
</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>
È [[
{{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|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}}▼
▲|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.
}}</ref><ref>▼
▲|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.
</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}}▼
</ref>
▲|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
▲</ref>, i sistemi e i [[linguaggi di programmazione]] che lo supportano 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>▼
|citazione=WordPress was born out of a desire for an elegant, well-architectured personal publishing system built on PHP and MySQL▼
</ref><ref>▼
</ref><ref>▼
|citazione=Utilizza come base di dati MySQL e PostgreSQL in modo nativo ma è utilizzabile con ogni tipo di database server.▼
== 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 89 ⟶ 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/
== 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
=== 4.0 ===
Nell'ottobre 2001 è stata
* una [[cache]] per le query
* le query di tipo [[UNION]]
Line 120 ⟶ 68:
=== 5.0 ===
Il 22 dicembre [[2003]] viene
* 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 157 ⟶ 105:
=== 5.6 ===
È l'ultima versione
* 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 174 ⟶ 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}}
</ref>
Line 192 ⟶ 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
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 228 ⟶ 169:
=== Storage engine prodotti da terze parti ===
Esistono anche storage engine prodotti da terze parti. Eccone alcuni:
* [[XtraDB]] - Fork di InnoDB, sviluppato da Percona
* [[OQGRAPH]] - Simula strutture a [[grafo]]
*
*
*
* [[Sphinx (software)#API|SphinxSE]] - Interfaccia MySQL con Sphinx
* [[CassandraSE]] - Interfaccia MariaDB con Apache Cassandra
*
* 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 282 ⟶ 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}}
{{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}}
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 303 ⟶ 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
|