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

Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de softwareTom Rodriguez
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layersMatias Yima
 
puertos logicos puerto ftp
puertos logicos puerto ftppuertos logicos puerto ftp
puertos logicos puerto ftpCrhis
 
PREGUNTAS DE EXAMEN
PREGUNTAS DE EXAMENPREGUNTAS DE EXAMEN
PREGUNTAS DE EXAMENAlfa Mercado
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de softwareilianacon
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacionjosebrandon24
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoJesús E. CuRias
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesSergio Castillo Yrizales
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuidaRJ Manayay Chavez
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREEdwingelviz
 
Sistemas gestores de_bases-de-datos_2009-2010
Sistemas gestores de_bases-de-datos_2009-2010Sistemas gestores de_bases-de-datos_2009-2010
Sistemas gestores de_bases-de-datos_2009-2010Diego Caceres
 
Capitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaCapitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaJonnathan Cuvi
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioSacro Undercrown
 
Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3Paradigma Digital
 
Ejercicios Subnetting
Ejercicios SubnettingEjercicios Subnetting
Ejercicios SubnettingPatty Vm
 

La actualidad más candente (20)

Implementacion de software
Implementacion de softwareImplementacion de software
Implementacion de software
 
Patrones arquitectónicos layers
Patrones arquitectónicos layersPatrones arquitectónicos layers
Patrones arquitectónicos layers
 
Niveles de un sgbd
Niveles de un sgbdNiveles de un sgbd
Niveles de un sgbd
 
puertos logicos puerto ftp
puertos logicos puerto ftppuertos logicos puerto ftp
puertos logicos puerto ftp
 
PREGUNTAS DE EXAMEN
PREGUNTAS DE EXAMENPREGUNTAS DE EXAMEN
PREGUNTAS DE EXAMEN
 
Plan de gestion de configuración de software
Plan de gestion de configuración de softwarePlan de gestion de configuración de software
Plan de gestion de configuración de software
 
Diagramas clases presentacion
Diagramas clases presentacionDiagramas clases presentacion
Diagramas clases presentacion
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Arquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móvilesArquitectura de software para aplicaciones móviles
Arquitectura de software para aplicaciones móviles
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Tarea1 programacion-distribuida
Tarea1 programacion-distribuidaTarea1 programacion-distribuida
Tarea1 programacion-distribuida
 
MODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWAREMODELOS DE CALIDAD DEL SOFTWARE
MODELOS DE CALIDAD DEL SOFTWARE
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Sistemas gestores de_bases-de-datos_2009-2010
Sistemas gestores de_bases-de-datos_2009-2010Sistemas gestores de_bases-de-datos_2009-2010
Sistemas gestores de_bases-de-datos_2009-2010
 
Capitulo 16- Excepciones en Java
Capitulo 16- Excepciones en JavaCapitulo 16- Excepciones en Java
Capitulo 16- Excepciones en Java
 
Unidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietarioUnidad 2-servidores-con-software-propietario
Unidad 2-servidores-con-software-propietario
 
Scrum vs RUP
Scrum vs RUPScrum vs RUP
Scrum vs RUP
 
Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3Introducción a HTML5 y CSS3
Introducción a HTML5 y CSS3
 
Ejercicios Subnetting
Ejercicios SubnettingEjercicios Subnetting
Ejercicios Subnetting
 

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 DBRutinasAlmacenadas

Similar a DBRutinasAlmacenadas (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
 
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
 
Base de dato
Base de  dato Base de  dato
Base de dato
 

Último

SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
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
 

Último (20)

SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
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...
 

DBRutinasAlmacenadas

  • 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.