Recent Articles



































MySQL



         




MySQL is a multithreaded, multi-user, SQL (Structured Query Language) relational database server (RDBS). MySQL is available either under the GNU General Public License (GPL) or under other licenses when the GPL is inapplicable to the intended use.

Unlike projects such as Apache, MySQL is owned and sponsored by a single for-profit firm, MySQL AB. The MySQL trademark and copyright are owned by the Swedish company MySQL AB. The company develops and maintains the system, selling support and service contracts, as well as commercially-licensed copies of MySQL, and employing people all over the world who communicate over the internet. Two Swedes and a Finn founded MySQL AB: David Axmark, Allan Larsson and Michael "Monty" Widenius.

Despite the widespread pronunciation of "SQL" as "sequel", professionals generally pronounce "MySQL" as "my ess-que-ell", not "my-sequel" [1] (http://dev.mysql.com/doc/mysql/en/What-is.html#IDX25).

Contents
[edit]

Platforms

MySQL works on many different platforms—including AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, and more recent versions of Windows. A port of MySQL to OpenVMS is available here (http://www.pi-net.dyndns.org/anonymous/kits/).

[edit]

Programming languages

Programming languages which can access MySQL databases include: C, C++, Eiffel, Smalltalk, Java (with a native Java driver implementation), Lisp, Perl, PHP, Python, Ruby, and Tcl; each of these using a specific API. An ODBC interface called MyODBC allows additional programming languages that support the ODBC interface to communicate with a MySQL database. MySQL uses ANSI C as its "native" language.

[edit]

Uses

MySQL is popular for web applications like BambooWeb and PHP-Nuke and acts as the database component of LAMP. The popularity as a web application is closely tied to the popularity of PHP, which is often combined with MySQL and nicknamed the Dynamic Duo. It is easy to find many references that combine the two from books (PHP and MySQL for Dummies, PHP and MySQL Bible, Beginning PHP and MySQL....) to websites. The implication in many books is that MySQL is easier to learn and use than many other database applications. An example from the Dummies book is that you can quit MySQL with an obvious command of either exit or quit.

[edit]

The latest production version

As of 2004, MySQL offers production version 4.1.7. It includes the following features:

It does not include the following features:

[edit]

Future releases

MySQL 5.0 contains support for the following features:

MySQL 5.1 will contain support for:

[edit]

Criticisms of MySQL

Early versions of MySQL included few standard RDBMS features, and the current production version still lacks many properties found in other SQL RDBMSs. This has led some database experts, such as Chris Date and Fabian Pascal, to criticize MySQL as falling short of being an RDBMS. [2] (http://www.dbdebunk.com/)

Many of the early criticisms have been remedied in later versions of the software, including the lack of transactions and relational integrity constraints. These are features necessary to support the "ACID properties" for relational databases, which allow the DBMS to ensure that client applications cannot interfere with one another or insert inconsistent values. [3] (http://www.service-architecture.com/database/articles/acid_properties.html) Other criticisms include MySQL's divergence from the SQL standard on the subject of treatment of NULL values and default values. Its handling of dates allowed invalid dates to be stored, and arithmetic operations are vulnerable to either integer overflow or floating point truncation. [4] (http://sql-info.de/mysql/gotchas.html)

Earlier versions of the MySQL manual included claims that certain essential missing features were useless or even harmful, and that users were better off without them. One section, entitled "Reasons NOT to use Foreign Keys constraints" (sic) advised users that relational-integrity checking was difficult to use and complicated a database application, and that its only useful purpose was to allow client software to diagram the relationships between database tables. [5] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#Broken_Foreign_KEY) Another section claimed that a DBMS lacking transactions can provide as reliable of data-integrity assurances as one supporting them -- conflating the issue of transactional integrity with that of saving data when the database server loses power. [6] (http://sunsite.univie.ac.at/textbooks/mysql/manual.html#IDX340) Since these claims contradicted basic principles of relational database design, they caused MySQL to be ridiculed by some database experts. Right or wrong, these claims have since been removed in more recent versions of the manual. MySQL today supports the previously-dismissed features of relational integrity checking and transactions in an effort to meet the broadest needs, and facilitate migration efforts.

Critics find MySQL's popularity surprising in the light of the existence of other open-source database projects with comparable performance and in closer compliance to the SQL standards. MySQL advocates reply that the program serves its purpose for its users, who are willing to accept the program's limitations (which decrease with every major revision) in exchange for speed, simplicity, and rapid development.

Some users have also criticized MySQL AB's position on the licensing of the software.

[edit]

Licensing

Both the MySQL server software itself and the client libraries are distributed under a dual-licensing format. Users may choose GNU General Public License [7] (http://www.mysql.com/products/licensing/opensource-license.html), or they may choose a commercial license.

Some users have independently continued to develop an earlier version of the client libraries, which was distributed under the less-restrictive Lesser General Public License. [8] (http://packages.debian.org/testing/libs/libmysqlclient10)

[edit]

See also

[edit]

Other SQL database servers

[edit]

External links





-This article has been brought to you by BambooWeb and Wikipedia-



  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License