En este artículo, vamos a explorar los conceptos clave de la programación de bases de datos en MySQL, utilizando la estructura de una base de datos llamada «Comisaria» como ejemplo. Esta base de datos incluye tablas para gestionar agentes, ciudadanos, casos y reportes, y nos servirá para entender cómo funcionan procedimientos, funciones, triggers, y otros elementos importantes en MySQL.
Declaración y Uso de Variables
Las variables en MySQL se declaran y se asignan valores de la siguiente manera:
También se pueden asignar valores a variables como resultado de una consulta:
Estructuras de Control de Flujo
Sentencia IF
La sentencia IF
permite ejecutar bloques de código condicionalmente:
Sentencia CASE
La sentencia CASE
se utiliza para seleccionar entre múltiples opciones:
Bucles y Control de Bucles
MySQL soporta varios tipos de bucles: LOOP
, REPEAT
, y WHILE
.
LOOP
REPEAT
WHILE
Salir de Bucles: LEAVE y ITERATE
LEAVE etiqueta;
para salir de un bucle etiquetado.ITERATE etiqueta;
para reiniciar un bucle etiquetado.
Procedimientos y Funciones Almacenadas
Los procedimientos y funciones almacenadas son conjuntos de comandos SQL almacenados en el servidor.
Crear un Procedimiento
Crear una Función
Ejemplos de Procedimientos
Listar Usuarios
Ver Reservas de una Pista
Control de Transacciones
Para manejar varias operaciones relacionadas como una transacción:
Control de Errores
Gestionar errores mediante excepciones:
Triggers
Los triggers son procedimientos que se activan automáticamente cuando ocurre un evento específico en una tabla. Los eventos pueden ser INSERT
, UPDATE
, o DELETE
, y pueden activarse antes (BEFORE
) o después (AFTER
) del evento.
Crear un Trigger
Ejemplo de Trigger
Calcular automáticamente la edad de un usuario al insertarlo:
Ventajas y Desventajas de Procedimientos Almacenados
Ventajas
- Reutilización de Código: Permiten ejecutar el mismo código desde diferentes aplicaciones sin necesidad de duplicarlo.
- Seguridad: Las aplicaciones no necesitan acceso directo a los datos.
- Reducción de Tráfico de Red: Menos datos enviados entre cliente y servidor.
Desventajas
- Limitaciones de Código: No se pueden combinar con otros lenguajes como Java o C++.
- Complejidad: Difíciles de escribir y mantener, requieren conocimientos específicos.
Uso de DELIMITER
Para crear procedimientos o funciones sin conflictos con el delimitador ;
:
Conclusión
La programación de bases de datos en MySQL ofrece poderosas herramientas para gestionar datos de manera eficiente y segura. A través de procedimientos, funciones y triggers, es posible automatizar y asegurar muchas operaciones comunes, facilitando así el manejo de datos en aplicaciones complejas. La base de datos de ejemplo «Comisaria» ilustra cómo estos conceptos pueden implementarse en un entorno real.
