ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PROCEDIMIENTOS ALMACENADOS EN BASE DE DATOS


Enviado por   •  23 de Abril de 2013  •  589 Palabras (3 Páginas)  •  578 Visitas

Página 1 de 3

Teoría de procedimientos almacenados de Base de datos

Un procedimiento almacenado es un programa (o procedimiento) el cual es almacenado físicamente en una base de 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 sólo necesita enviar sus resultados de regreso al usuario, deshaciéndose de la sobrecarga resultante de comunicar grandes cantidades de datos salientes y entrantes.

Usos

Los usos 'típicos' de los procedimientos almacenados se aplican en la validación de datos, integrados dentro de la estructura del banco de datos. Los procedimientos almacenados usados con tal propósito se llaman comúnmente disparadores, o triggers. Otro uso común es la 'encapsulación' de un API para un proceso complejo o grande que podría requerir la 'ejecución' de varias consultas SQL, tales como la manipulación de un 'dataset' enorme para producir un resultado resumido.

También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.

Ventajas y desventajas

La ventaja de un procedimiento almacenado, en respuesta a una petición de usuario, está directamente bajo el control del motor del manejador de bases de datos, lo cual corre generalmente en un servidor separado de manejador de bases de datos aumentando con ello, la rapidez de procesamiento de requerimientos del manejador de bases de datos. El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y sólo necesita enviar el resultado final al usuario. Los procedimientos almacenados pueden permitir que la lógica del negocio se encuentre como un API en la base de datos, que pueden simplificar la gestión de datos y reducir la necesidad de codificar la lógica en el resto de los programas cliente. Esto puede reducir la probabilidad de que los datos sean corrompidos por el uso de programas clientes defectuosos o erróneos. De este modo, el motor de base de datos puede asegurar la integridad de los datos y la consistencia, con la ayuda de procedimientos almacenados. Algunos afirman que las bases de datos deben ser utilizadas para el almacenamiento de datos solamente, y que la lógica de negocio sólo debería ser aplicada en la capa de negocio de código, a través de aplicaciones cliente que deban acceder a los datos. Sin embargo, el uso de procedimientos almacenados no se opone a la utilización de una capa de negocio.

Son más ventajas que desventajas... si ejecutamos sentencias SQL estableciendo una conexión entre mi aplicación y la base por la naturaleza de la aplicación web se demorará más en relación si tan solo mandamos a ejecutar dichas sentencias en un procedimiento almacenado, sobre todo si son sentencias pesadas.

Aunque también es verdad que la base de datos tiene mas importancia ya que existe programación dentro de ella pero se debe de tener una buena estrategia de respaldos de la misma, si ya tenemos una base de datos en producción se debe generar los script necesarios que contengan los CREATE PROCEDURE, TABLE, VIEW, FUNCTION, DATABASE, TRIGGER, USER... y todos los objetos de la base. De tal manera que si le pasa algo a la base su estructura está protegida.

Utilizar procedimientos es beneficioso ya que dicho código ya está compilado en la base de datos y se ejecuta mucho más rápido.

...

Descargar como  txt (3.6 Kb)  
Leer 2 páginas más »
txt