Cuándo sábado, 13 enero, 23:59
Tipo de Evento de curso
Después de consultar el texto básico de la asignatura y otros documentos
sugeridos por su facilitador, en el contenido de la Unidad VI, realiza las
actividades sugeridas:
Puede visitar el siguiente link:
Introducción a los procedimientos almacenados
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 unos 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.
2. Crear procedimientos almacenados que permitan:
Insertar y Actualizar.
3. Llamar dichos procedimientos desde el lenguaje de programación
especificado por tu facilitador.