Anda di halaman 1dari 6

Taller de Base d Datos

Comentario profesional
(Trabajo)
Ingeniera En Sistemas Computacionales
Quinto Semestre-Grupo B
Lic. Jos Leonel Pech May
(Docente)
Jairo Israel Medina Cervera
(Nombre Del Alumno)
REFERENCIAS.-

Fecha de Entrega:
Martes 1 de Noviembre del 2014

http://emanuelpeg.blogspot.mx/2011/05/procedimientos-almacenados-y-funciones.html
(Emanuel Goette, alias Crespo)
http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-dedatos/P06_M2109_02151.pdf (LIBRO DE BASE DE DATOS, Luis Alberto Casillas Santilln)
http://elpoli.delphiaccess.com/procedimientos-almacenados-en-mysql/ (BLOG DEL POLI, BASE DE
DATOS).

Ttulo: USO DE DISPARADORES Y PROCEDIMIENTOS ALMACENADOS EN BASE DE


DATOS.

Planteamiento del tema: mediante este tema aprenderemos como utilizar los
disparadores y el procedimiento de almacenamiento en una base de datos, mediante
estos dos tipos de procesos aprenderemos a manejar sentencias las cuales permitan
ejecutar lo que deseen siempre y cuando se cumpla esa sentencia, tambin para tener la
logia suficiente y poner llevar a cabo la tarea requerida.
Investigacin y Argumentacin:

Un trigger (o disparador) en una Base de datos, es un procedimiento que se


ejecuta cuando se cumple una condicin establecida al realizar una operacin.
Dependiendo de la base de datos, los triggers pueden ser de insercin (INSERT),
actualizacin (UPDATE) o borrado (DELETE). Algunas bases de datos pueden
ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros
objetos. Son usados para mejorar la administracin de la Base de datos, sin
necesidad de contar con que el usuario ejecute la sentencia de SQL. Adems,
pueden generar valores de columnas, previene errores de datos, sincroniza tablas,
modifica valores de una vista, etc. Permite implementar programas basados en
paradigma lgico (sistemas expertos, deduccin).
La estructura bsica de un trigger es:

Llamada de activacin: es la sentencia que permite "disparar" el cdigo a


ejecutar.

Restriccin: es la condicin necesaria para realizar el cdigo. Esta restriccin


puede ser de tipo condicional o de tipo nulidad.

Accin a ejecutar: es la secuencia de instrucciones a ejecutar una vez que se


han cumplido las condiciones iniciales.

Existen dos tipos de disparadores que se clasifican segn la cantidad de


ejecuciones a realizar:

Row Triggers (o Disparadores de fila): son aquellas que se ejecutaran cada


vez que se llama al disparador desde la tabla asociada al trigger.

Statement Triggers (o Disparadores de secuencia): son aquellos que sin


importar la cantidad de veces que se cumpla con la condicin, su ejecucin es
nica.

No aceptan parmetros o argumentos (pero podran almacenar los datos


afectados en tablas temporales)

No pueden ejecutar las operaciones COMMIT o ROLLBACK por que estas son
parte de la sentencia SQL del disparador (nicamente a travs de
transacciones autnomas)

Pueden causar errores de mutaciones en las tablas, si se han escrito de


manera deficiente.

El estndar SQL: 2003 requiere que los disparadores den a los


programadores acceso a las variables de un registro utilizando una sintaxis
como REFERENCING NEW AS n. Por ejemplo, si un disparador est
monitoreando los cambios en la columna salario, podra escribirse un
disparador como:
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario <> o.salario THEN
END IF;

Como en MySQL las sentencias se ejecutan luego de escribir el signo punto y


coma (;), cabe destacar que para crear un disparador en MySQL, antes se escribe
la sentenciaDELIMITER seguida de un carcter tal como |, la cual asigna la
funcin del punto y coma (;) a otro carcter permitiendo que el disparador sea
escrito usando los punto y comas sin que se ejecute mientras se escribe; despus
de escrito el disparador se escribe nuevamente la sentencia DELIMITER ; para
asignar al punto y coma su funcin habitual.

Los procedimientos almacenados son un conjunto de instrucciones SQL ms una


serie de estructuras de control que nos permiten dotar de cierta lgica al
procedimiento. Estos procedimientos estn guardados en el servidor y pueden ser
accedidos a travs de llamadas, como veremos ms adelante. Para crear un
procedimiento, MySQL nos ofrece la directiva CREATE PROCEDURE. Al crearlo
ste es ligado o relacionado con la base de datos que se est usando, tal como
cuando creamos una tabla.
Un procedimiento almacenado, al igual cualquiera de los procedimientos que
podamos programar en nuestras aplicaciones utilizando cualquier lenguaje, tiene:

Un nombre.

Puede tener una lista de parmetros.

Tiene un contenido (seccin tambin llamada definicin del procedimiento:

aqu

se especifica qu es lo que va a hacer y cmo).

Ese contenido puede estar compuesto por instrucciones sql, estructuras de


control, declaracin de variables locales, control de errores, etctera.
En resumen, la sintaxis de un procedimiento almacenado es la siguiente:
view plainprint?

1.
2.

CREATE PROCEDURE nombre (parmetro)


[caractersticas] definicin

Puede haber ms de un parmetro (se separan con comas) o puede no haber


ninguno (en este caso deben seguir presentes los parntesis, aunque no haya
nada
dentro).
Los

parmetros

tienen

la

siguiente

estructura:

modo

nombre

tipo

Donde:

modo: es opcional y puede ser IN (el valor por defecto, son los parmetros
que el procedimiento recibir), OUT (son los parmetros que el procedimiento
podr modificar) INOUT (mezcla de los dos anteriores).

nombre: es el nombre del parmetro.

tipo: es cualquier tipo de dato de los provistos por MySQL.

Dentro de caractersticas es posible incluir comentarios o definir si el


procedimiento obtendr los mismos resultados ante entradas iguales, entre otras
cosas.

definicin: es el cuerpo del procedimiento y est compuesto por el


procedimiento en s: aqu se define qu hace, cmo lo hace y bajo qu
circunstancias lo hace.
As como existen los procedimientos, tambin existen las funciones. Para crear
una funcin, MySQL nos ofrece la directiva CREATE FUNCTION.
La diferencia entre una funcin y un procedimiento es que la funcin devuelve
valores. Estos valores pueden ser utilizados como argumentos para instrucciones
SQL, tal como lo hacemos normalmente con otras funciones como son, por
ejemplo, MAX () o COUNT ().
Utilizar la clusula RETURNS es obligatorio al momento de definir una funcin y
sirve para especificar el tipo de dato que ser devuelto (slo el tipo de dato, no el
dato).
Su sintaxis es:
1.
2.
3.

CREATE FUNCTION nombre (parmetro)


RETURNS tipo
[caractersticas] definicin

Puede haber ms de un parmetro (se separan con comas) o puede no haber


ninguno (en este caso deben seguir presentes los parntesis, aunque no haya
nada dentro). Los parmetros tienen la siguiente estructura:nombre tipo
Donde:

nombre: es el nombre del parmetro.

tipo: es cualquier tipo de dato de los provistos por MySQL.

Dentro de caractersticas es posible incluir comentarios o definir si la


funcin devolver los mismos resultados ante entradas iguales, entre otras cosas.

definicin: es el cuerpo del procedimiento y est compuesto por el


procedimiento en s: aqu se define qu hace, cmo lo hace y cundo lo hace.
Para llamar a una funcin lo hacemos simplemente invocando su nombre, como
se hace en muchos lenguajes de programacin.
Desde una funcin podemos invocar a su vez a otras funciones o procedimientos.
mysql> delimiter //
1.
2.
3.
4.
5.
6.
7.
8.

mysql> CREATE PROCEDURE procedimiento (IN cod INT)


-> BEGIN
->
SELECT * FROM tabla WHERE cod_t = cod;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> CALL procedimento(4);

Emisin de juicios: segn Luis Alberto Casillas Santilln; se entiende que Los

triggers tienen dos palabras clave, OLD y NEW que se refieren a los valores que
tienen las columnas antes y despus de la modificacin. Los INSERT permiten
NEW,

los

DELETE

Sintaxis

necesaria

para

slo
crear

OLD
un

trigger

los

UPDATE

CREATETRIGGER

ambas.
<nombre>

{BEFORE|AFTER}. Y que los procedimientos almacenados pueden mejorar el


rendimiento ya que se necesita enviar menos informacin entre el servidor y el
cliente. El intercambio que hay es que aumenta la carga del servidor de la base de
datos ya que la mayora del trabajo se realiza en la parte del servidor y no en el
cliente.

Conclusin: como conclusin se puede decir que los el uso de disparadores y el uso de

los procedimientos almacenados son tiles para poder integridad definida por el
usuario y/o las reglas de manejo restricciones y de igual manera las reglas de
integridad activadores lo cual son los triggers para definir reglas sobre eventos
sobre una tabla. Mediante el procedimiento de almacenados se dicen que activan
automticamente al ocurrir el evento (insert, update o delete) sobre la tabla y
ejecuta acciones definidas en caso de cumplirse las condiciones especificadas. Y
los disparadores hablamos de que son similares a los procedimientos
almacenados, as que las notas precedentes tambin se aplican a disparadores
con

las

siguientes

excepciones: create

trigger no

tiene

una

caracterstica deterministic opcional, as que los disparadores se asumen como


deterministas.

Anda mungkin juga menyukai