Programación 3. Tarea 7

Universidad abierta para adultos(UAPA).

Después de consultar el texto básico de la asignatura Programación 3 y otros documentos sugeridos por su facilitador, en el contenido de la Unidad VI, realiza las actividades sugeridas:

1. Investigar en la web acerca de los procedimientos almacenados, su importancia, características, ventajas y desventajas.

Un procedimiento almacenado es un set precomstackdo de una o más sentencias SQL que realizan alguna tarea específica. Un procedimiento almacenado debe ejecutarse de forma independiente utilizando EXEC. Un procedimiento almacenado puede devolver múltiples parámetros.

Un procedimiento almacenado (stored procedure en inglés) es un programa (o procedimiento) almacenado físicamente en una datos. Su implementación varía de un gestor de bases de datos a otro. La ventaja de un procedimiento almacenado es que, al ser ejecutado, en respuesta a una petición de usuario, es ejecutado directamente en el motor de bases de datos, el cual usualmente corre en un servidor separado. Como tal, posee acceso directo a los datos que necesita manipular y solo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Los procedimientos pueden ser ventajosos cuando una base de datos es manipulada desde muchos programas externos al incluir la lógica de la aplicación en la base de datos utilizando procedimiento almacenados, la necesidad de embeber la misma lógica en todos los programas que acceden a los datos es reducida. Esto puede simplificar la creación y, particularmente, el mantenimiento de los programas involucrados. Podemos ver un claro ejemplo de estos procedimientos cuando requerimos realizar una misma operación en un servidor dentro de algunas o todas las bases de datos y a la vez dentro de todas o algunas de las tablas de las bases de datos de este. Para ello podemos utilizar a los Procedimientos almacenados auto creables que es una forma de generar ciclos redundantes a través de los procedimientos almacenados.

Características principales de procedimientos almacenados:

-Pueden recibir y devolver parámetros.

-Pueden manejar tablas, ejecutando operaciones e iteraciones de lectura/escritura.

-Pueden devolver una tabla como resultado.

-Se almacenan en la base de datos en la cual se crean.

-No dependen de ninguna tabla en particular.

-Pueden aceptar recursividad.

Implementación:

Estos procedimientos, se usan a menudo, pero no siempre, para realizar consultas SQL sobre los objetos de la base de datos de una manera abstracta, desde el punto de vista del cliente de la aplicación. Un procedimiento almacenado permite agrupar en forma exclusiva parte de algo específico que se desee realizar o, mejor dicho, el SQL apropiado para dicha acción. 

Ventajas de los procedimientos MySQL

Recurrir a los procedimientos MySQL puede resultar muy beneficioso. Muestra de ello, son las siguientes ventajas:

  • Aumento del rendimiento de las aplicaciones. Después de crear el procedimiento almacenado, se compila y almacena en la base de datos. Pero MySQL implementa procedimientos almacenados ligeramente diferentes, lo que ayuda a aumentar el rendimiento de las aplicaciones. Los procedimientos MySQL se compilan bajo demanda para después ponerse en un caché. No hay que olvidar que MySQL mantiene su propio caché de procedimientos almacenados para cada conexión. Así, si una aplicación utiliza un procedimiento almacenado varias veces en una sola conexión, se usa la versión compilada; y, de lo contrario, el procedimiento almacenado funciona como una consulta.
  • Mejora de la agilidad. Los procedimientos MySQL son rápidos porque el servidor MySQL aprovecha el almacenamiento en caché. Otra razón que explica su velocidad es que reduce el tráfico de red. Así, por ejemplo, si tenemos una tarea repetitiva que requiere verificación, repetición de bucles, múltiples declaraciones y ninguna interacción del usuario, lo hace con una sola consulta a un procedimiento que está almacenado en el servidor.
  • Los procedimientos MySQL son portátiles porque cuando escribimos nuestro procedimiento almacenado en SQL, sabemos que se ejecutará en todas las plataformas en las que se ejecuta MySQL, sin obligarnos a instalar un paquete adicional de entorno de ejecución ni a establecer permisos para la ejecución del programa en el sistema operativo.
  • Transparencia y posibilidad de reutilización. Los procedimientos almacenados exponen la interfaz de la base de datos a todas las aplicaciones para que los desarrolladores no tengan que desarrollar funciones que ya sean compatibles con ellos. Por lo tanto, podemos decir que los procedimientos MySQL son reutilizables y transparentes.
  • Los procedimientos MySQL son seguros, al permitir al administrador de la base de datos otorgar los permisos adecuados a las aplicaciones que acceden a los procedimientos almacenados en la base de datos, sin necesidad de conceder ningún permiso en las tablas de la base de datos subyacente.

Desventajas de los procedimientos MySQL

Utilizar los procedimientos almacenados de MySQL está ligado a algunos inconvenientes que merece la pena conocer. Se trata de los siguientes:

  • Aumentan el uso de la memoria: si usamos muchos procedimientos almacenados, el uso de la memoria de cada conexión que utiliza esos procedimientos se incrementará sustancialmente.
  • Restringidos para una lógica de negocios compleja: en realidad, las construcciones de procedimientos almacenados no están diseñadas para desarrollar una lógica de negocios compleja y flexible.
  • Difíciles de depurar. Es difícil depurar procedimientos almacenados. Solo unos pocos sistemas de administración de bases de datos permiten hacerlo.
  • Difíciles de mantener: no es fácil desarrollar y mantener procedimientos almacenados. El desarrollo y mantenimiento de procedimientos almacenados a menudo requiere un conjunto de habilidades especializadas que no todos los desarrolladores de aplicaciones poseen.

Deja una respuesta