Un disparador no es otra cosa que una accin definida en una tabla de
nuestra base de datos y ejecutada automticamente por una funcin programada por nosotros. Esta accin se activar, segn la definamos, cuando realicemos un INSERT, un UPDATE un DELETE en la susodicha tabla. Un disparador se puede definir de las siguientes maneras: Para que ocurra ANTES de cualquier INSERT,UPDATE DELETE Para que ocurra DESPUES de cualquier INSERT,UPDATE DELETE Para que se ejecute una sola vez por comando SQL (statementlevel trigger) Para que se ejecute por cada linea afectada por un comando SQL (row-level trigger) Esta es la definicin del comando SQL que se puede utilizar para definir un disparador en una tabla. CREATE TRIGGER nombre { BEFORE | AFTER } { INSERT | UPDATE | DELETE [ OR ... ] } ON tabla [ FOR [ EACH ] { ROW | STATEMENT } ] EXECUTE PROCEDURE nombre de funcion ( argumentos )
Procedimientos Almacenados (Stored
Procedure) El procedimiento almacenado es un conjunto de una o ms operaciones creadas con sentencias SQL, y que se almacenan como un objeto en un sistema manejador de base de datos. Puede recibir valores a travs de parmetros y devolver un resultado. Un procedimiento almacenado es cdigo ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar informacin estadstica, encapsular clculos complejos, entre otros.
Sintaxis CREATE PROCEDURE procedure_name [ ; number ] [ { @parameter data_type } ] go
Por qu utilizar procedimientos almacenados?
Distribucin del trabajo Seguridad de la base de datos Ejecucin ms rpida Reduce el trfico de red Proporciona flexibilidad
Por qu utilizar Disparadores (Triggers)?
Ofrecen chequeos de seguridad basada en valores Integridad de
los datos mejorada:
Fuerzan restricciones dinmicas de integridad de datos y de
integridad referencial.
Aseguran que las operaciones relacionadas se realizan juntas de
forma implcita.
Respuesta instantnea ante un evento auditado
Ofrece un mayor control sobre la B.D.
Ventajas Disparadores (Triggers):
Ofrecen chequeos de seguridad basada en valores. Integridad de
los datos mejorada:
Fuerzan restricciones dinmicas de integridad de datos y de
integridad referencial.
Aseguran que las operaciones relacionadas se realizan juntas de
forma implcita.
Respuesta instantnea ante un evento auditado
Ofrece un mayor control sobre la B.D.
Desventajas Disparadores (Triggers):
Peligro de prdida en Reorganizaciones
Hay que programarlos para cada DBMS
Un Trigger nunca se llama directamente.
Los triggers no se desarrollan pensando en un solo
registro, los mismos deben funcionar en conjunto con los datos ya que se disparan por operacin y no por registro.
Por funcionalidad, no hay que poner en uno solo las
funciones de INSERT,UPDATE y DELETE.
Utilizar moderadamente los triggers.
No se pueden utilizar en tablas temporales
Ventajas Procedimientos Almacenados
Ejecucin plan de retencin y la reutilizacin
Consulta de parametrizacin automtica La encapsulacin de reglas de negocio y las polticas Solicitud de modularizacin Puesta en comn de la lgica de aplicacin entre las aplicaciones de El acceso a los objetos de base de datos que es a la vez seguro y uniforme Modificacin de datos consistentes y seguros
Desventajas Procedimientos Almacenados
Las aplicaciones que involucran la lgica de negocio y elaboracin extensa podra suponer una carga excesiva en el servidor si la lgica se implement en su totalidad en los procedimientos almacenados. No ponga toda la lgica de negocio en los procedimientos almacenados. El mantenimiento y la agilidad de su aplicacin se convierte en un problema cuando se debe modificar la lgica de negocio.
La escritura y el mantenimiento de los procedimientos
almacenados es ms a menudo en una tarea especializada establece que no todos los desarrolladores poseen.