jueves, julio 27, 2006

MySQL5 - La base de datos

MySQL ha sido una de las Bases de Datos (BD) más populares entre la comunidad de programadores Web. Las estadísticas muestran muchas verdades. La potencia de MySQL ha sido elevada con la versión estable 5.x.

Por cuestiones de trabajo he tenido que conocer y programar por el momento a este RDBMS. Mis esfuerzos son más enfocados a sistemas de piso de planta. Interfaciando entre Niveles 1, 2 y 3, entre plataformas completamente diferentes (Windows y QNX/Linux). Para nuestra suerte existen los protocolos estándares.

Bien, conectar con MySQL no es díficil: hay muchos lenguajes de script que han sido utilizados y mejorados durante años. Desde Java, .NET, C, etc no es problema. Entender cómo sacarle provecho a MySQL5 es el reto.

Un simple pedazo de código de un SP que, en pocas palabras, simula una sequencia de Oracle:
/* DROP PROCEDURE IF EXISTS gptm.sp_ProximoNumeroINT; */
CREATE PROCEDURE sp_ProximoNumeroINT(IN Objeto CHAR(30), OUT ProxNum INT)
BEGIN
IF EXISTS( SELECT ID_OBJETO_A_ENUMERAR FROM secnumeros WHERE LTRIM(RTRIM(Objeto)) = LTRIM(RTRIM(ID_OBJETO_A_ENUMERAR)) ) THEN
UPDATE secnumeros SET ULTIMO_NUMERO_INT = ULTIMO_NUMERO_INT + 1
WHERE LTRIM(RTRIM(Objeto)) = LTRIM(RTRIM(ID_OBJETO_A_ENUMERAR));
SELECT ULTIMO_NUMERO_INT INTO ProxNum FROM secnumeros WHERE LTRIM(RTRIM(Objeto)) = LTRIM(RTRIM(ID_OBJETO_A_ENUMERAR));
ELSE
INSERT INTO secnumeros (ID_OBJETO_A_ENUMERAR,ULTIMO_NUMERO_INT,ULTIMO_NUMERO_BIGINT, TIPO)
VALUES (Objeto, 1,0,'I');
SET ProxNum = 1;
END IF;
END


Este SP muestra mucho de las características de procedimientos programados en MySQL. Si bien muchas cosas, que encontramos en MSSQL y Oracle, le faltan a MySQL; pero los avances en este aspecto son fenomenales. Las librerías DAL pueden ser estardarizadas ahora.

Seguiremos comunicando novedades.

No hay comentarios.: