SlideShare a Scribd company logo
1 of 12
Instituto Tecnológico de Las Américas StoredProcedures (SP) Bases de Datos Avanzadas Prof. Quinta Ana Pérez Luis José Rodríguez (2009-0529)
Qué son? Son un conjunto de procedimientos almacenados físicamente en una base de datos (de ahí su nombre). Estos pueden ser llamados por una aplicación externa, un trigger u otro storedprocedure.
Implementación La implementación de un SP varía de un SGBD a otro. La mayoría lo soportan de alguna forma. Dependiendo del SGBD, los SP pueden ser implementados por varios lenguajes de programación, tales como SQL, Java, C y C++.
Implementación La creciente adopción de los SP llevó a la introducción de elementos procedurales en el propio estándar SQL. La mayoría de los sistemas de bases de datos ofrecen extensiones propietarias, extendiendo así las funcionalidades de SQL.
Usos En algunos sistemas se usan para controlar el manejo de las transacciones. Los SP pueden ser invocados por un trigger. Por ejemplo, un SP puede ser disparado por un INSERT en una tabla específica, o un UPDATE en un campo, y el código del SP se ejecutaría automáticamente.  También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.
Ventajas El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y sólo necesita enviar el resultado final al usuario. Los procedimientos almacenados pueden permitir que la lógica del negocio se encuentre como un API en la base de datos, que pueden simplificar la gestión de datos y reducir la necesidad de codificar la lógica en el resto de los programas cliente. Esto puede reducir la probabilidad de que los datos sean corrompidos por el uso de programas clientes defectuosos o erróneos.De este modo, el motor de base de datos puede asegurar la integridad de los datos y la consistencia, con la ayuda de procedimientos almacenados. Aumentan el rendimiento. Una vez creados, son compilados y almacenados en el catálogo de la base de datos. Corren más rápido que comandos SQL enviados desde aplicaciones externas, ya que estos no están compilados.
Ventajas Reducen el tráfico entre las aplicaciones y el servidor de bases de datos porque en vez de enviar varios comandos SQL sin compilar, la aplicación sólo tiene que enviar el nombre del SP y obtener el resultado de su ejecución. Sonreusables y transparentes a cualquier aplicación que lo quiera usar. Los SP exponen la interfaz de la base de datos a todas las aplicaciones, por lo que los desarrolladores no tienen que programar funciones que ya están soportadas en los mismos. Son seguros. Los DBA pueden dar permiso a x aplicación para que pueda acceder a y SP en el catálogo de la base de datos, sin tener que darle permiso de acceso a la tabla.
Desventajas Los Stored procedures son “definidos una vez, usados muchas”. Si se necesita modificarlo, su definición tiene que ser reemplazada totalmente. Cualquier cambio instantáneamente afecta todas las otras piezas de software, reportes, etc. (dentro o fuera del DBMS) que directa o indirectamente se refieran a este. No es siempre posible determinar con exactitud qué magnitud tendrá este cambio, ni que cambios pueden hacerse para corregir lo antes mencionado sin afectar otra cosa. Por varias razones, muchas organizaciones limitan estrictamente quiénes pueden hacer consultas a la base de datos. Los programadores y otros usuarios no tienen más opción que implementar soluciones ineficientes a sus problemas usando los SP que estén disponibles… sin importar o no que estos sean apropiados para la tarea.
Desventajas Hacen que la base de datos sea más pesada tanto para la memoria como para el procesador. En vez de estar concentrado en almacenar y devolver datos, uno puede estarle pidiendo al SGBD que realice varias operaciones lógicas, la cual no es su función. Sólo contienen SQL declarativo, así que es muy dificultoso escribir procedimientos complejos para negocios como en otros lenguajes de programación en la capa de aplicación tales como Java, C#,C++… Algunos SGBD modernos (notablemente Microsoft SQL Server 2000 en adelante) no ofrecen ninguna ventaja de desempeño usando SP: son compilados y almacenados en caché de la misma forma dynamic SQL.
SQL Server CREATE PROCEDUREautos @velocidadint, @marcavarchar(50)  BEGIN IF velocidad < 120 THEN INSERT INTO familiares VALUES (velocidad, marca); ELSE INSERT INTO deportivos VALUES (velocidad, marca); END IF; END; CREATE PROC [ EDURE ] [ owner. ] procedure_name [ ; number ]     [ { @parameter data_type }        [ VARYING ] [ = default ] [ OUTPUT ]     ] [ ,...n ] [ WITH     { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ]
MySQL CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_bodyproc_parameter: [ IN | OUT | INOUT ] param_nametypefunc_parameter: param_nametypetype: Any valid MySQL data typecharacteristic: LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string' routine_body: Valid SQL procedure statement CREATE PROCEDURE autos(IN velocidad int,IN marca varchar(50)) BEGIN  IF velocidad < 120 then  INSERT INTO familiares VALUES(velocidad,marca);  ELSE INSERT INTO deportivos VALUES(velocidad,marca);  END IF; END;
Oracle CREATE OR REPLACE PROCEDURE autos IS velocidad NUMBER(3), marca VARCHAR(50) BEGIN IF velocidad < 120 THEN INSERT INTO familiares VALUES (velocidad, marca); ELSE INSERT INTO deportivos VALUES (velocidad, marca); END IF; END;

More Related Content

What's hot

Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesMoises Benzan
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelaspineda2
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Modelador de base de datos ERwin
Modelador de base de datos ERwinModelador de base de datos ERwin
Modelador de base de datos ERwinXeberth MendoZa
 
Modelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasModelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasEmerson Garay
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Jazmin Glez.
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datosCristian Salazar C.
 
Examen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoExamen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoBertha Canaviri
 
Trabajo de diapositivas sql
Trabajo de diapositivas sqlTrabajo de diapositivas sql
Trabajo de diapositivas sqlAndreita Beltran
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 

What's hot (20)

1. Modelo de Datos
1. Modelo de Datos1. Modelo de Datos
1. Modelo de Datos
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
 
Bases De Datos Paralelas
Bases De Datos ParalelasBases De Datos Paralelas
Bases De Datos Paralelas
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Integridad de base de datos
Integridad de base de datosIntegridad de base de datos
Integridad de base de datos
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Modelador de base de datos ERwin
Modelador de base de datos ERwinModelador de base de datos ERwin
Modelador de base de datos ERwin
 
Modelo entidad relación BD Matriculas
Modelo entidad relación BD MatriculasModelo entidad relación BD Matriculas
Modelo entidad relación BD Matriculas
 
Cuadro comparativo de SMBD
Cuadro comparativo de SMBD Cuadro comparativo de SMBD
Cuadro comparativo de SMBD
 
Introduccion a las bases de datos
Introduccion a las bases de datosIntroduccion a las bases de datos
Introduccion a las bases de datos
 
Manual de Erwin
Manual de ErwinManual de Erwin
Manual de Erwin
 
Base de datos relacionales
Base de datos relacionalesBase de datos relacionales
Base de datos relacionales
 
Fundamentos de las bases de datos
Fundamentos de las bases de datosFundamentos de las bases de datos
Fundamentos de las bases de datos
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Examen final de base de datos ii solucionado
Examen final de base de datos ii solucionadoExamen final de base de datos ii solucionado
Examen final de base de datos ii solucionado
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Trabajo de diapositivas sql
Trabajo de diapositivas sqlTrabajo de diapositivas sql
Trabajo de diapositivas sql
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 

Viewers also liked

Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQLRonald Rivas
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenadosbat1820
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 

Viewers also liked (9)

7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Curso HTML 5 & jQuery - Leccion 4
Curso HTML 5 & jQuery - Leccion 4Curso HTML 5 & jQuery - Leccion 4
Curso HTML 5 & jQuery - Leccion 4
 
Funciones y procedimientos en SQL
Funciones y procedimientos en SQLFunciones y procedimientos en SQL
Funciones y procedimientos en SQL
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
Taller Tablas Dinámicas Excel 2010
Taller Tablas Dinámicas Excel 2010Taller Tablas Dinámicas Excel 2010
Taller Tablas Dinámicas Excel 2010
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 

Similar to SP usos ventajas

Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosArmando
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañanaANilez Solrak
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos AlmacenadosMiriam Martinez
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos AlmacenadosRafa
 
Procesamientos Almacenados
Procesamientos AlmacenadosProcesamientos Almacenados
Procesamientos Almacenadoselylupita
 
Procedimiento de almacenados
Procedimiento de almacenadosProcedimiento de almacenados
Procedimiento de almacenadosLuisaM17
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxCESARHERNANPATRICIOP1
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidadjuanmanuelsalgado
 

Similar to SP usos ventajas (20)

Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
procedimientos almacenados
procedimientos almacenadosprocedimientos almacenados
procedimientos almacenados
 
. procedimientos almacenados
.  procedimientos almacenados.  procedimientos almacenados
. procedimientos almacenados
 
Taller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL proceduralTaller de Base de Datos - Unidad 6 SQL procedural
Taller de Base de Datos - Unidad 6 SQL procedural
 
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 TodosBd T1 Eq7 Caracteristicas Sql Server 2008 Todos
Bd T1 Eq7 Caracteristicas Sql Server 2008 Todos
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Procedimientos almacenados..mañana
Procedimientos almacenados..mañanaProcedimientos almacenados..mañana
Procedimientos almacenados..mañana
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
 
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
 
Procedimiento de almacenados
Procedimiento de almacenadosProcedimiento de almacenados
Procedimiento de almacenados
 
Procedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptxProcedimientos Almacenados SQL SEVER.pptx
Procedimientos Almacenados SQL SEVER.pptx
 
Pa
PaPa
Pa
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
Portabilidad y transportabilidad
Portabilidad y transportabilidadPortabilidad y transportabilidad
Portabilidad y transportabilidad
 

Recently uploaded

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 

Recently uploaded (20)

El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 

SP usos ventajas

  • 1. Instituto Tecnológico de Las Américas StoredProcedures (SP) Bases de Datos Avanzadas Prof. Quinta Ana Pérez Luis José Rodríguez (2009-0529)
  • 2. Qué son? Son un conjunto de procedimientos almacenados físicamente en una base de datos (de ahí su nombre). Estos pueden ser llamados por una aplicación externa, un trigger u otro storedprocedure.
  • 3. Implementación La implementación de un SP varía de un SGBD a otro. La mayoría lo soportan de alguna forma. Dependiendo del SGBD, los SP pueden ser implementados por varios lenguajes de programación, tales como SQL, Java, C y C++.
  • 4. Implementación La creciente adopción de los SP llevó a la introducción de elementos procedurales en el propio estándar SQL. La mayoría de los sistemas de bases de datos ofrecen extensiones propietarias, extendiendo así las funcionalidades de SQL.
  • 5. Usos En algunos sistemas se usan para controlar el manejo de las transacciones. Los SP pueden ser invocados por un trigger. Por ejemplo, un SP puede ser disparado por un INSERT en una tabla específica, o un UPDATE en un campo, y el código del SP se ejecutaría automáticamente. También pueden ser usados para el control de gestión de operaciones, y ejecutar procedimientos almacenados dentro de una transacción de tal manera que las transacciones sean efectivamente transparentes para ellos.
  • 6. Ventajas El servidor de la base de datos tiene acceso directo a los datos necesarios para manipular y sólo necesita enviar el resultado final al usuario. Los procedimientos almacenados pueden permitir que la lógica del negocio se encuentre como un API en la base de datos, que pueden simplificar la gestión de datos y reducir la necesidad de codificar la lógica en el resto de los programas cliente. Esto puede reducir la probabilidad de que los datos sean corrompidos por el uso de programas clientes defectuosos o erróneos.De este modo, el motor de base de datos puede asegurar la integridad de los datos y la consistencia, con la ayuda de procedimientos almacenados. Aumentan el rendimiento. Una vez creados, son compilados y almacenados en el catálogo de la base de datos. Corren más rápido que comandos SQL enviados desde aplicaciones externas, ya que estos no están compilados.
  • 7. Ventajas Reducen el tráfico entre las aplicaciones y el servidor de bases de datos porque en vez de enviar varios comandos SQL sin compilar, la aplicación sólo tiene que enviar el nombre del SP y obtener el resultado de su ejecución. Sonreusables y transparentes a cualquier aplicación que lo quiera usar. Los SP exponen la interfaz de la base de datos a todas las aplicaciones, por lo que los desarrolladores no tienen que programar funciones que ya están soportadas en los mismos. Son seguros. Los DBA pueden dar permiso a x aplicación para que pueda acceder a y SP en el catálogo de la base de datos, sin tener que darle permiso de acceso a la tabla.
  • 8. Desventajas Los Stored procedures son “definidos una vez, usados muchas”. Si se necesita modificarlo, su definición tiene que ser reemplazada totalmente. Cualquier cambio instantáneamente afecta todas las otras piezas de software, reportes, etc. (dentro o fuera del DBMS) que directa o indirectamente se refieran a este. No es siempre posible determinar con exactitud qué magnitud tendrá este cambio, ni que cambios pueden hacerse para corregir lo antes mencionado sin afectar otra cosa. Por varias razones, muchas organizaciones limitan estrictamente quiénes pueden hacer consultas a la base de datos. Los programadores y otros usuarios no tienen más opción que implementar soluciones ineficientes a sus problemas usando los SP que estén disponibles… sin importar o no que estos sean apropiados para la tarea.
  • 9. Desventajas Hacen que la base de datos sea más pesada tanto para la memoria como para el procesador. En vez de estar concentrado en almacenar y devolver datos, uno puede estarle pidiendo al SGBD que realice varias operaciones lógicas, la cual no es su función. Sólo contienen SQL declarativo, así que es muy dificultoso escribir procedimientos complejos para negocios como en otros lenguajes de programación en la capa de aplicación tales como Java, C#,C++… Algunos SGBD modernos (notablemente Microsoft SQL Server 2000 en adelante) no ofrecen ninguna ventaja de desempeño usando SP: son compilados y almacenados en caché de la misma forma dynamic SQL.
  • 10. SQL Server CREATE PROCEDUREautos @velocidadint, @marcavarchar(50)  BEGIN IF velocidad < 120 THEN INSERT INTO familiares VALUES (velocidad, marca); ELSE INSERT INTO deportivos VALUES (velocidad, marca); END IF; END; CREATE PROC [ EDURE ] [ owner. ] procedure_name [ ; number ]     [ { @parameter data_type }        [ VARYING ] [ = default ] [ OUTPUT ]     ] [ ,...n ] [ WITH     { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] [ FOR REPLICATION ] AS sql_statement [ ...n ]
  • 11. MySQL CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body CREATE [DEFINER = { user | CURRENT_USER }] FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_bodyproc_parameter: [ IN | OUT | INOUT ] param_nametypefunc_parameter: param_nametypetype: Any valid MySQL data typecharacteristic: LANGUAGE SQL | [NOT] DETERMINISTIC | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string' routine_body: Valid SQL procedure statement CREATE PROCEDURE autos(IN velocidad int,IN marca varchar(50)) BEGIN IF velocidad < 120 then INSERT INTO familiares VALUES(velocidad,marca); ELSE INSERT INTO deportivos VALUES(velocidad,marca); END IF; END;
  • 12. Oracle CREATE OR REPLACE PROCEDURE autos IS velocidad NUMBER(3), marca VARCHAR(50) BEGIN IF velocidad < 120 THEN INSERT INTO familiares VALUES (velocidad, marca); ELSE INSERT INTO deportivos VALUES (velocidad, marca); END IF; END;