MySQL: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Storia: assistenza commerciale
m Correggo dei wikilink.
 
(24 versioni intermedie di 12 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}}
{{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 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 disponibi ufficialmente su praticamente tutte le [[Distribuzione (software)|distribuzioni]] conosciute, come [[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>
 
È [[software libero]] rilasciatopubblicato a doppia licenza, compresa la [[GNU General Public License]], 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
|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 lo supportano sono molto numerosi, fra cui [[ODBC]], [[Java (linguaggio di programmazione)|Java]], [[Mono (progetto)|Mono]], [[Microsoft .NET|.NET]], [[PHP]], [[Python]].
 
Line 76 ⟶ 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/|dataarchivio=20 marzo 2013|urlmorto=sì}}</ref><ref name="2012-mariadb-discussion-launchpad" />
 
== Sviluppo ==
Line 84 ⟶ 41:
 
== 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>
{{...|informatica}}
L'[[Internet Assigned Numbers Authority]] ha formalmente assegnato al server MySQL la [[Porta (reti)|porta]] <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
}}</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 122 ⟶ 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 159 ⟶ 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 176 ⟶ 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 194 ⟶ 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 235 ⟶ 174:
* [[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)
Line 285 ⟶ 224:
 
== Diffusione ==
{{Sezione vuota}}
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=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}}
{{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}}
{{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>
|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 343 ⟶ 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