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 , ...] AS -- Sentencias del procedure Para modificar un procedimiento almacenado debemos emplear la sentencia ALTER PROCEDURE.
ALTER PROCEDURE<nombre_procedure> [@param1 , ...] 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
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. • : 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 IS END; CREATE OR REPLACE PACKAGE BODY IS 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.