MySQL ya casi es una base de datos


Me estoy informando del estado actual de la base MySQL. Están en la versión 5.1 y en ella aparece por primera vez la aritmética decimal exacta. Sí, en la versión 5.0.x y todas las anteriores sumar, multiplicar, restar y dividir valores de tipo DECIMAL o NUMERIC acarreaba errores de redondeo. Lo bueno es que ya está la versión 5.1 que permite hacer esos cálculos sin pasar los valores a coma flotante.

Pero no es del todo bueno porque dependen de que esté seleccionado el llamado modo estricto de lo contrario los overflows pasan inadvertidos y se guardan valores válidos a pensar de que el resultado de la operación no encaja en la precisión de la columna. Increíble.

Los genios de MySQL han logrado un avance histórico en la matemática: la división por cero da como resultado NULL. A menos que seleccionemos el modo ERROR_FOR_DIVISION_BY_ZERO.

Creo yo que MySQL 5.0 ya es casi una base de datos, si se la configura en modo estricto y si no se permite cambiar ese modo a nadie para esquivar las verificaciones. Eso es un tema, porque cualquiera puede cambiar el modo de su sesión en cualquier momento…

Si tenemos en cuenta que muchos todavía usan MySQL 3.23 o 4.x, y que aún con la versión 5.0.3 no obtienen la aritmética decimal exacta aunque la quieran, creo que el panorama es desalentador.

Aquí está la lista de modos soportados con su explicación.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s