Sie sind auf Seite 1von 9

TECNOLOGICO DE ESTUDIOS SUPERIORES ORIENTE DEL ESTADO DE

MEXICO

TAREA 1

PROCEDIMIENTOS ALMACENADOS

VISTAS

TRIGGERS

PAQUETES (PACKAGE)

MATERIA: Administración De Base De Datos

ALUMNO: Carreón Ortega Luis Enrique

GRUPO: 6S11

PROFESOR: Mtro. Omar Sosa Aguilar

Fecha: 12-03-2019
DESARROLLO
PROCEDIMIENTOS ALMACENADOS
Un procedimiento almacenado es un conjunto de sentencias SQL y de control de
flujo
Beneficios de los procedimientos almacenados:
Simplifican la ejecución de tareas repetitivas
Corren más rápido que las mismas instrucciones ejecutadas en forma interactiva
Reducen el tráfico a través de la red
Pueden capturar errores antes que ellos puedan entrar a la base de datos
Establece consistencia porque ejecuta las tareas de la misma forma

Sintaxis
Para crear un procedimiento almacenado debemos emplear la sentencia CREATE
PROCEDURE.

CREATE PROCEDURE <nombre_procedure> [@param1 <tipo>, ...]


AS
-- Sentencias del procedure
Para modificar un procedimiento almacenado debemos emplear la sentencia
ALTER PROCEDURE.

ALTER PROCEDURE<nombre_procedure> [@param1 <tipo>, ...]


AS
-- Sentencias del procedure
El siguiente ejemplo muestra un procedimiento almacenado, llamado
spu_addCliente que añade clientes, o sea, inserta un registro en la tabla ‘Clientes’:

CREATE PROCEDURE spu_addCliente @nombre varchar(100),


@apellidos varchar(100),
@f_Naciento datetime,
@email varchar(50)
AS
INSERT INTO CLIENTES (nombre, apellidos, f_nacimiento, email)
VALUES (@nombre, @apellidos, @f_naciento, @email)
Sintaxis simplificada para create:
create proc procedure_name
as
statements
return

VISTAS
Una vista es una alternativa para mostrar datos de varias tablas. Una vista es
como una tabla virtual que almacena una consulta. Los datos accesibles a través
de la vista no están almacenados en la base de datos como un objeto.
Entonces, una vista almacena una consulta como un objeto para utilizarse
posteriormente. Las tablas consultadas en una vista se llaman tablas base. En
general, se puede dar un nombre a cualquier consulta y almacenarla como una
vista.
Una vista suele llamarse también tabla virtual porque los resultados que retorna y
la manera de referenciarlas es la misma que para una tabla.
La sintaxis básica parcial para crear una vista es la siguiente:
create view NOMBREVISTA as
SENTENCIASSELECT
from TABLA;
El contenido de una vista se muestra con un "select":
select *from NOMBREVISTA;
O
CREATE VIEW <nombre de la vista> [(<nombres de las columnas de la vista>)]
AS <expresión de consulta>
[ WITH CHECK OPTION ]
En el siguiente ejemplo creamos la vista "vista_empleados", que es resultado de
una combinación en la cual se muestran 4 campos:
create view vista_empleados as
select (apellido+' '+e.nombre) as nombre,sexo,
s.nombre as seccion, cantidadhijos
from empleados as e
join secciones as s
on codigo=seccion
Para ver la información contenida en la vista creada anteriormente tipeamos:
select *from vista_empleados;

TRIGGER
Un Trigger o Disparador es un programa almacenado(stored programo SP),
creado para ejecutarse automáticamente cuando ocurra un evento en una tabla o
vista de la base de datos. Dichos eventos son generados por los comandos
INSERT,
UPDATE y DELETE, los cuales forman parte del DM(Data Modeling Language) de
SQL
SINTAXIS DE UN TRIGGER
Usamos la siguiente sintaxis:
CREATE [DEFINER={usuario|CURRENT_USER}]
TRIGGER nombre_del_trigger {BEFORE|AFTER} {UPDATE|INSERT|DELETE}
ON nombre_de_la_tabla
FOR EACH ROW
<bloque_de_instrucciones>
Obviamente la sentencia CREATE es conocida para crear nuevos objetos en la
base de datos.

Explicación de las partes de la definición:


• DEFINER={usuario|CURRENT_USER}: Indica al gestor de bases de
datos qué usuario tiene privilegios en su cuenta, para la invocación de los
triggers cuando surjan los eventos DML. Por defecto esta característica tiene
el valor CURRENT_USER que hace referencia al usuario actual que esta
creando el Trigger.
• nombre_del_trigger: Indica el nombre del trigger. Por defecto existe
una nomenclatura práctica para nombrar un trigger, la cual da mejor
legibilidad en la administración de la base de datos. Primero, escriba el
5
nombre de tabla, luego especifique con la inicial de la operación DML y
seguido usamos la inicial del momento de ejecución (AFTER o BEFORE).
Por ejemplo:
-- BEFORE INSERT clientes_BI_TRIGGER
• BEFORE|AFTER: Especifica si el Trigger se ejecuta antes o después del
evento DML.
• UPDATE|INSERT|DELETE: Aquí elija que sentencia usa para que se
ejecute el Trigger.
• ON nombre_de_la_tabla: En esta sección establece el nombre de la
tabla asociada.
• FOR EACH ROW: Establece que el Trigger se ejecute por cada fila en la tabla
asociada.
• <bloque_de_instrucciones>: Define el bloque de sentencias que el Trigger
ejecuta al ser invocado.
PAQUETES (PACKAGE)

Un paquete es una agrupación lógica de variables, funciones y stored procedures.

Se divide lógicamente en 2 partes

Sintaxis:

CREATE OR REPLACE PACKAGE <NOMBRE_PAQUETE> IS <CODIGO> END;

CREATE OR REPLACE PACKAGE BODY <NOMBRE_PAQUETE> IS


<CODIGO>

END;

Ejemplo:
Especificación.
CREATE OR REPLACE PACKAGE MIPAQUETE
IS
V_VAR NUMBER:=0;
FUNCTION GET_SUMA(X NUMBER, Y NUMBER) RETURN NUMBER;
PROCEDURE SPU_ACTUALIZA_STOCK;
END;
/
Body.
CREATE OR REPLACE PACKAGE BODY MIPAQUETE
IS
V_VAR NUMBER:=0;
FUNCTION GET_SUMA(X NUMBER, Y NUMBER) RETURN NUMBER
IS
BEGIN
RETURN X+Y;
END;
PROCEDURE SPU_ACTUALIZA_STOCK
IS
BEGIN
NULL;
END;
END;
/
CONCLUSIONES
Pues dados los temas investigados en este caso procedimientos almacenados y
como crearlos (créate procedure) se aprendio la definición de lo que este viene
representando y un poco su función como tal, habra que practicarlo para entender
realmente su función y sintaxis del mismo, asi mismo aprendi si quiera lo que es
por que no lo sabia, dado que estoy algo estancado en conocimientos de BD.
Aprendi también la definición de una vista, analice su sintaxis y de igual forma
faltaría practicarlo para entenderlo de una manera correcta para después
utilizarlas, para solo mostrar cierta información al usuario o mejor dicho la que el
necesita ver.
Dado que no sabia que era un trigger mas que por la impresión de un juego en mi
teléfono, con la definición buscada aprendi que es un procedimiento almacenado,
pero este no se manda a llamar como tal, si no, que este mismo se ejecuta
automáticamente cuando se le solicita.
BIBLIOGRAFIA
Programando con PL/SQL en una Base de Datos Oracle
Francisco Riccio

Bases de Datos Relacionales Procedimientos almacenados


Ismael Castañeda Fuentes

Domínguez, J. (2015). MySQL Triggers, Funciones y Procedimientos. Venezuela:


IEASS.

Oppel,A., & Sheldon, R. (2009). Fundamentos de SQL. México: McGraw Hill.

Das könnte Ihnen auch gefallen