La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Administración de Sistemas Gestores de Bases de Datos.

Presentaciones similares


Presentación del tema: "Administración de Sistemas Gestores de Bases de Datos."— Transcripción de la presentación:

1 Administración de Sistemas Gestores de Bases de Datos

2 Índice Rutinas almacenadas (SR) and Lenguaje de Programas Almacenados (SPL) Inspeccionando las rutinas almacenadas 2I.E.S. Dos Mares

3 Rutinas Almacenadas Cuando múltiples aplicaciones cliente se escriben en distintos lenguajes o funcionan en distintas plataformas, pero necesitan realizar la misma operación en la base de datos. Cuando la seguridad es muy importante. Los bancos, por ejemplo, usan procedimientos almacenados para todas las oparaciones comunes. Esto proporciona un entorno seguro y consistente, y los procedimientos pueden asegurar que cada operación se loguea apropiadamente. En tal entorno, las aplicaciones y los usuarios no obtendrían ningún acceso directo a las tablas de la base de datos, sólo pueden ejectuar algunos procedimientos almacenados. 3I.E.S. Dos Mares

4 Rutinas Almacenadas Conjunto de sentencias disponibles para las aplicaciones que acceden a un RDBMS. Almacenados en el Gestor de la Bases de Datos. En MySQL, se escriben usando SPL basado en un subconjunto del estandar Módulo de Almacenamiento Persistente del ANSI SQL:2003 (PSM). 4I.E.S. Dos Mares

5 Rutinas Almacenadas Tiene un nombre Puede tener una lista de parámetros Puede contener un conjunto de sentencias SQL. Se crean utilizando el comando CREATE. 5I.E.S. Dos Mares

6 Rutinas Almacenadas Por defecto, se crea en la base de datos actual. Si queremos crearla en una BD distinta, deberemos hacer preceder el nombre de la BD de destino. El delimitador de línea de comando por defecto (;) necesita ser cambiado a la hora de codificar rutinas almacenadas. 6I.E.S. Dos Mares

7 Rutinas Almacenadas DELIMITER // CREATE PROCEDURE `DBName.AddData`(err VARCHAR(255)) BEGIN ………… END; // DELIMITER ; 7I.E.S. Dos Mares

8 Rutinas Almacenadas Cuando se invocan, se realiza un USE DBName implícito (y se deshace cuando la rutina termina). La sentencia USE no está permitida dentro de las SRs. Cuando se borra una DB, todas las SR almacenadas en él, se borran también. MySQL soporta 3 tipos de rutinas: 1. Procedimientos Almacenados (SP), 2. Funciones Almacenadas (SF), 3. Triggers o Disparadores. 8I.E.S. Dos Mares

9 Procedimientos Almacenados Son llamados utilizando el comando explícito CALL. No devuelven un valor de manera explícita. CREATE PROCEDURE `DBName.AddData`(err VARCHAR(255)) ….. CALL AddData(“…”); 9I.E.S. Dos Mares

10 Procedimientos Almacenados Conjunto de sentencias SQL que pueden ser almacenados en el servidor. Una vez creados, los clientes pueden referirse al procedimiento almacenado en lugar de ejecutar las sentencias individuales. Ninguno de los 3 tipos de parámetros son requeridos en un SP. 10I.E.S. Dos Mares

11 Procedimientos Almacenados Aunque no tenga parámetros, hay que finalizar la definición de la cabecera con (). No obstante, un SP sin parámetros, puede ser invocado sin utilizar los paréntesis. Se le invoca utilizando el comando CALL. Un SP puede mostrar resultados o devolver los resultados en las variables OUTPUT especificadas. 11I.E.S. Dos Mares

12 Tipos de parámetros IN. Es el parámetro por defecto. Puede cambiar su valor dentro de la rutina, pero, permanece inalterable su valor externo. OUT. En el momento de la llamada, su valor es NULL, pero, puede ser modificado dentro de la rutina y dicho valor estará disponible en el exterior de la rutina. INOUT. Se comporta como una combinación de los 2 anteriores. Se le puede asignar un valor en la llamada, que puede ser modificado en el interior y estar disponible en el exterior. 12I.E.S. Dos Mares

13 Procedimientos Almacenados CREATE PROCEDURE how_is_it (IN x INT) BEGIN IF (x > 5) THEN SELECT CONCAT(x, " is higher") as answer; ELSE SELECT CONCAT(x, " is lower") as answer; END IF; END 13I.E.S. Dos Mares

14 Procedimientos Almacenados CALL how_is_it(6); +-------------+ | answer | +-------------+ | 6 is higher | +-------------+ CALL how_is_it(2); +-------------+ | answer | +-------------+ | 2 is lower | +-------------+ 14I.E.S. Dos Mares

15 Funciones Almacenadas Pueden ser usadas como funciones definidas por el usuario. Se invocan utilizando su nombre. Puede devolver un valor, que puede ser usado en otra sentencia SQL, de la misma forma que se invocan a otras funciones como REPLACE, CONCAT(), etc. CREATE FUNCTION AddData() RETURNS …….. SELECT AddData(); 15I.E.S. Dos Mares

16 Funciones Almacenadas Una SF no puede mostrar resultados. Una SF se crea utilizando el comando CREATE. Los parámetros de entrada (IN) no son requeridos en una SF. Una SF debe tener una sentencia RETURN y sólo puede devolver un valor. 16I.E.S. Dos Mares

17 Funciones Almacenadas Una SF es llamada simplemente con su nombre (sin usar CALL). El nombre de una SF debe ser diferente a la de cualquier función SQL. 17I.E.S. Dos Mares

18 Funciones Almacenadas CREATE FUNCTION is_bigger (x INT) RETURNS CHAR(3) BEGIN IF (x > 5) THEN RETURN 'YES'; ELSE RETURN 'NO'; END IF; END 18I.E.S. Dos Mares


Descargar ppt "Administración de Sistemas Gestores de Bases de Datos."

Presentaciones similares


Anuncios Google