Mostrando las entradas con la etiqueta MySQL. Mostrar todas las entradas
Mostrando las entradas con la etiqueta MySQL. Mostrar todas las entradas

lunes, 12 de mayo de 2014

Procedimientos almacenados en MySQL



Los procedimientos almacenados son un conjunto de comandos SQL que se almacenan en el gestor de la base de datos; facilitando en alguna medida que los desarrolladores sigan el lema DRY (No te repitas tu mismo), pues las sentencias se escriben una sola ves y pueden ser llamadas en cualquier momento y estas devolverán el resultado de los valores solicitados.

Poner en practica esta utilidad nos brinda ventajas y desventajas, como estas:
Ventajas:
  • Mejoran el rendimiento ya que se envía menos información entre cliente y servidor.
  • La respuesta a una petición, está directamente bajo el control del motor de base de datos.
  • Aseguran la integridad de los datos, validando la información que será ingresada o editada.
  • Brinda seguridad pues en la red solo está visible la llamada al procedimiento almacenado mas no los nombres de los objetos de base de datos y tablas.

Desventajas:
  • Carga de procesos excesiva en el servidor de base de datos.

Ejemplo de procedimientos almacenados en MySQL
Estos son los necesarios para realizar el mantenimiento (CRUD) a las entidades, así como la búsqueda de información dentro de ella:

SELECT:
-- --------------------------------------------------------------------------------
-- Autor: Kevin Eduardo Moran Ramirez
-- Note: Procedimiento almacenado en MySQL para consulta select
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `consulta_select` (
 IN Tabla VARCHAR(50),
 IN Campos VARCHAR(255),
 IN Donde VARCHAR(255),
 IN AgruparPor VARCHAR(50),
 IN OrdenarPor VARCHAR(50)
)
BEGIN
 # Verifico que si las variables contienen parametros
 IF Donde <> '' THEN SET Donde = CONCAT(' WHERE ', Donde); END IF;
 IF AgruparPor <> '' THEN SET AgruparPor = CONCAT(' GROUP BY ', AgruparPor); END IF;
 IF OrdenarPor <> '' THEN SET OrdenarPor = CONCAT(' ORDER BY ', OrdenarPor); END IF;
 SET @VConsulta = CONCAT(
  "SELECT ", Campos , " FROM ", Tabla, Donde, AgruparPor, OrdenarPor, ";"
 );
 #Preparo y ejecuto la sentencia SQL
 PREPARE Declaracion FROM @VConsulta;
 EXECUTE Declaracion;
END

INSERT:
-- --------------------------------------------------------------------------------
-- Autor: Kevin Eduardo Morán Ramirez
-- Note: Procedimiento almacenado en MySQL para consulta insert into
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `consulta_insertar` (
 IN Tabla VARCHAR(50),
 IN Campos VARCHAR(255),
 IN Valores VARCHAR(255)
)
BEGIN
 SET @VConsulta = CONCAT(
  "INSERT INTO ", Tabla , "(" , Campos , ") VALUES(" , Valores , ")"
 );
 PREPARE Declaracion FROM @VConsulta;
 EXECUTE Declaracion;
END

UPDATE:
-- --------------------------------------------------------------------------------
-- Autor: Kevin Eduardo Morán Ramirez
-- Note: Procedimiento almacenado en MySQL para consulta update
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `consulta_actualizar` (
 IN Tabla VARCHAR(50),
 IN Establecer VARCHAR(255),
 IN Donde VARCHAR(255)
)
BEGIN
 SET @VConsulta = CONCAT(
  "UPDATE " , Tabla , " SET " , Establecer ," WHERE " , Donde
 );
 PREPARE Declaracion FROM @VConsulta;
 EXECUTE Declaracion;
END

DELETE:
-- --------------------------------------------------------------------------------
-- Autor: Kevin Eduardo Morán Ramirez
-- Note: Procedimiento almacenado en MySQL para consulta delete
-- --------------------------------------------------------------------------------
DELIMITER $$

CREATE PROCEDURE `consulta_eliminar` (
 IN Tabla VARCHAR(50),
 IN Donde VARCHAR(255)
)
BEGIN
 SET @VConsulta = CONCAT(
  "DELETE " , Tabla , " WHERE " , Donde
 );
 PREPARE Declaracion FROM @VConsulta;
 EXECUTE Declaracion;
END
 

jueves, 2 de enero de 2014

Conjunto de servidores libres independientes de plataforma (XAMPP)


En el desarrollo de aplicaciones muchas veces es imprescindible la utilización de servicios como Base de datos, servidor web e interpretes de lenguajes de programación. Y cuando son proyectos pequeños o por simple afición no es necesario de tener estos servicios instalados y en funcionamiento diario de ellos, es por ello que existe esta herramienta poderosa, multiplataforma que combina estos servicios, y no es necesario tener activos todos los servicios solo los que uno necesita.
Esta herramienta es XAMPP, la cual contiene servidor de base de datos MySQL, Servidor web Apache y los interpretes para PHP y Perl; en base a ello su nombre siendo X el significado de multiplataforma (WinBug$, GNU/Linux, Mac OS X).

Explicare la instalación de esta herramienta en GNU/Linux (Distribución Linux Mint Debian Edition)

Iniciamos dirigiéndonos al sitio:
En la cual existe mucha documentación de esta herramienta.

Dentro de este sitio elegimos el sistema operativo para el cual queremos descargar el instalador, en este caso seleccionare Linux
 
La cual nos dirigirá a esta ventana y seleccionaremos el vinculo a Download


Nos enviará a la sección de descargas en la cual podremos elegir entre XAMPP PHP 5.4 o XAMPP PHP 5.5 Diferencia el interprete de PHP solamente, recomendación descargar la ultima versión ya que las aplicaciones deben de ir actualizándose.
En ambas existen dos archivos para descargar, los cuales son XAMPP para arquitecturas de x32 y x64, seleccionamos la que se apegue a nuestra arquitectura. En mi caso será la de x32



Esto nos descargara este archivo “xampp-linux-1.8.3-2-installer.run”, Para comenzar su instalación debemos abrir la terminal y ubicarnos en la carpeta donde el archivo esta almacenado.

Asignamos el permiso de ejecución al archivo (Recordar que para ello se necesita del permiso de administrador, explicare de ambas formas como su o con sudo)


 
Luego que ya se le dieron los permisos necesarios de ejecución, corremos la instalación

 
Al correrla nos mostrará las siguientes ventanas en las cuales solo debemos de dar siguiente, hasta que se instale el servidor.








La instalación de XAMPP en GNU/Linux se almacena en /opt/lampp por lo tanto para su ejecución debemos ser administradores y dependiendo de los servicios que queramos activar serán de esta forma
Espero sirva de mucho a quien lo necesite, cualquier consulta sobre algo mal explicado estamos para solventar dudas.