SlideShare una empresa de Scribd logo
1 de 18
1
Administración de Sistemas Gestores de Bases de Datos
Índice
 Rutinas almacenadas (SR) y Lenguaje de Programas
Almacenados (SPL)
 Inspeccionando las rutinas almacenadas
2
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.
3
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).
4
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.
5
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.
6
Rutinas Almacenadas
 DELIMITER //
 CREATE PROCEDURE `DBName.AddData`(err VARCHAR(255))
 BEGIN
 …………
 END;
 //
 DELIMITER ;
7
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.
8
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(“…”);
9
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.
10
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.
11
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.
12
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
13
Procedimientos Almacenados
CALL how_is_it(6);
+-------------+
| answer |
+-------------+
| 6 is higher |
+-------------+
CALL how_is_it(2);
+-------------+
| answer |
+-------------+
| 2 is lower |
+-------------+
14
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();
15
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.
16
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.
Funciones Almacenadas
CREATE FUNCTION is_bigger (x INT)
RETURNS CHAR(3)
BEGIN
IF (x > 5) THEN
RETURN 'YES';
ELSE
RETURN 'NO';
END IF;
END
18

Más contenido relacionado

La actualidad más candente

Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo dbRuby B. Blanca
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Rodolfo Alcantara Rosales
 
Caracteristicas de un buen programa de computadora
Caracteristicas de un buen programa de computadoraCaracteristicas de un buen programa de computadora
Caracteristicas de un buen programa de computadoraalexmoon1408
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 
introduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosintroduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosAndersson Marrtinez
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJSBEEVA_es
 
Introducción a los patrones de diseño
Introducción a los patrones de diseñoIntroducción a los patrones de diseño
Introducción a los patrones de diseñoSoftware Guru
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesosIchinose 11
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de códigoDenisse C
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLalexmerono
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacionAndhy H Palma
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraAlexandraMolinaSanchez
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandraLuis Alvarado
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones Marco Jiménez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalomorenito9001
 
Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasBlanca Parra
 

La actualidad más candente (20)

Manual de instalacion de Mongo db
Manual de instalacion de Mongo dbManual de instalacion de Mongo db
Manual de instalacion de Mongo db
 
Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1Principios electricos y aplicaciones digitalesl sesion 1
Principios electricos y aplicaciones digitalesl sesion 1
 
Caracteristicas de un buen programa de computadora
Caracteristicas de un buen programa de computadoraCaracteristicas de un buen programa de computadora
Caracteristicas de un buen programa de computadora
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
introduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionadosintroduccion a c# y ejercicios solucionados
introduccion a c# y ejercicios solucionados
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
Introducción a los patrones de diseño
Introducción a los patrones de diseñoIntroducción a los patrones de diseño
Introducción a los patrones de diseño
 
Sincronización entre procesos
Sincronización entre procesosSincronización entre procesos
Sincronización entre procesos
 
Proposiciones y bloques de código
Proposiciones y bloques de códigoProposiciones y bloques de código
Proposiciones y bloques de código
 
CreacióN De Objetos En MySQL
CreacióN De Objetos En MySQLCreacióN De Objetos En MySQL
CreacióN De Objetos En MySQL
 
Unidad 3 graficacion
Unidad 3 graficacionUnidad 3 graficacion
Unidad 3 graficacion
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Trabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandraTrabajo de compiladores completo alexandra
Trabajo de compiladores completo alexandra
 
Instalacion de cassandra
Instalacion de cassandraInstalacion de cassandra
Instalacion de cassandra
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Backups en Oracle
Backups en OracleBackups en Oracle
Backups en Oracle
 
2.1 metodo de intervalo
2.1 metodo de intervalo2.1 metodo de intervalo
2.1 metodo de intervalo
 
Algoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginasAlgoritmo óptimo de reemplazo de páginas
Algoritmo óptimo de reemplazo de páginas
 
VISTAS
VISTASVISTAS
VISTAS
 

Destacado (11)

Vistasensqlymysql
VistasensqlymysqlVistasensqlymysql
Vistasensqlymysql
 
Puesta en operacion de sistemas
Puesta en operacion de sistemasPuesta en operacion de sistemas
Puesta en operacion de sistemas
 
Departamento de mantenimiento
Departamento de mantenimientoDepartamento de mantenimiento
Departamento de mantenimiento
 
Access
AccessAccess
Access
 
Conceptos básicos de los Sistemas de Información
Conceptos básicos de los Sistemas de InformaciónConceptos básicos de los Sistemas de Información
Conceptos básicos de los Sistemas de Información
 
UNIDAD I: Los sistemas de información
UNIDAD I: Los sistemas de informaciónUNIDAD I: Los sistemas de información
UNIDAD I: Los sistemas de información
 
Sistemas de Información Empresarial
Sistemas de Información EmpresarialSistemas de Información Empresarial
Sistemas de Información Empresarial
 
Desarrollo De Sistemas De InformacióN
Desarrollo De  Sistemas De  InformacióNDesarrollo De  Sistemas De  InformacióN
Desarrollo De Sistemas De InformacióN
 
Curso oracle por temas
Curso oracle por temasCurso oracle por temas
Curso oracle por temas
 
Sistemas de Información Gerencial
Sistemas de Información GerencialSistemas de Información Gerencial
Sistemas de Información Gerencial
 
Enunciados de casos para Bases de Datos
Enunciados de casos para Bases de DatosEnunciados de casos para Bases de Datos
Enunciados de casos para Bases de Datos
 

Similar a Procedimientos y funciones

Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos AlmacenadosMiriam Martinez
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos AlmacenadosRafa
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenadoselylupita
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosVicente Alberca
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCarlos Pereda Miñano
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxCESARHERNANPATRICIOP1
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Procedimientos almacenados daniela
Procedimientos almacenados danielaProcedimientos almacenados daniela
Procedimientos almacenados danielareny0
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copiaGonzalo del Pozo
 
Base de Datos en Microsoft SQL Server
Base de Datos en Microsoft SQL ServerBase de Datos en Microsoft SQL Server
Base de Datos en Microsoft SQL ServerSuarezJhon
 

Similar a Procedimientos y funciones (20)

Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenados
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 
Categorias de Procedimientos Almacenados
Categorias de Procedimientos AlmacenadosCategorias de Procedimientos Almacenados
Categorias de Procedimientos Almacenados
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptx
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos almacenados daniela
Procedimientos almacenados danielaProcedimientos almacenados daniela
Procedimientos almacenados daniela
 
PROCEDIMIENTOS ALMACENADOS.pptx
PROCEDIMIENTOS ALMACENADOS.pptxPROCEDIMIENTOS ALMACENADOS.pptx
PROCEDIMIENTOS ALMACENADOS.pptx
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copia
 
Base de Datos en Microsoft SQL Server
Base de Datos en Microsoft SQL ServerBase de Datos en Microsoft SQL Server
Base de Datos en Microsoft SQL Server
 

Último

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 

Último (20)

Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 

Procedimientos y funciones

  • 1. 1 Administración de Sistemas Gestores de Bases de Datos
  • 2. Índice  Rutinas almacenadas (SR) y Lenguaje de Programas Almacenados (SPL)  Inspeccionando las rutinas almacenadas 2
  • 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. 3
  • 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). 4
  • 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. 5
  • 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. 6
  • 7. Rutinas Almacenadas  DELIMITER //  CREATE PROCEDURE `DBName.AddData`(err VARCHAR(255))  BEGIN  …………  END;  //  DELIMITER ; 7
  • 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. 8
  • 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(“…”); 9
  • 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. 10
  • 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. 11
  • 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. 12
  • 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 13
  • 14. Procedimientos Almacenados CALL how_is_it(6); +-------------+ | answer | +-------------+ | 6 is higher | +-------------+ CALL how_is_it(2); +-------------+ | answer | +-------------+ | 2 is lower | +-------------+ 14
  • 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(); 15
  • 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. 16
  • 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.
  • 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 18

Notas del editor

  1. The Optimizations section will consists of two main sub sections: SQL Optimizations. SRs as an alternative to Reducing Network Traffic and Complex SQL Statements SRs Optimizations. This sub section will include: Branching and Looping optimizations, Cursor and Triggers Overhead, Recursion.
  2. The stored routine and language concept was introduced in the early 90’s. MySQL PSL is very similar (uses the same ANSI SQL:2003 standard specification) to the PSL used by DB2 (one of IBM’s RDBMS), while it is different from Oracle and Microsoft SQL PSL, which are very much proprietary.