PROCEDIMIENTOS
ALMACENADOS
Mag. Ing. PATRICIO PERALTA,CESAR
HERNAN
Índice
04
05
06
01
02
03
Introducción
Que es un Stored
Procedure
Tipos de Stored Procedure
Ventajas del Stored
Procedure
Situacion y Aplicación
Recomendaciones
07
Conclusiones
INTRODUCCIÓN
SQL:
SQL es un lenguaje gestor para el manejo de
información en una base de datos relacional. El SQL es
muy popular por su facilidad de uso y efectividad para
convertir grandes volúmenes de datos en información
útil
Stored Procedure:
Se pueden usar los Procedimientos Almacenados para
implementar la lógica empresarial que pueden reutilizar
varias aplicaciones. Los procedimientos almacenados
ayudan a reducir los esfuerzos de duplicar la misma
lógica en muchas aplicaciones y hacen que su base de
datos sea más consistente.
¿QUÉ ES UN PROCEDIMIENTO
ALMACENADO?
QUÉ ES UN PROCEDIMIENTO
ALMACENADO
Un procedimiento almacenado es un conjunto de instrucciones
de T-SQL que SQL Server compila, en un único plan de ejecución,
los llamados «store procedures» se encuentran almacenados en
la base de datos, los cuales pueden ser ejecutados en cualquier
momento.
El Transact-SQL .
El Administrador Corporativo de SQL Server.
El asistente para La Creación de Procedimientos Almacenados .
Los objetos de Administración distribuida de SQL .
¿Para que se utilizan?
Los procedimientos almacenados se utilizan para agrupar las
instrucciones de T-SQL y cualquier lógica asociada necesaria
para llevar a cabo una tarea.
¿Cómo se ejecutan?
Cuando un procedimiento almacenado es ejecutado por primera
vez se compila, se crea y se guarda en memoria su plan de
ejecución., luego SQL utiliza ese plan de ejecución cuando se
vuelve a llamar al procedimiento sin volver a compilarlo
nuevamente.
SQL
¿QUÉ NOS
PROPORCIONA?
Nos proporcionan a nosotros los usuarios un acceso fácil a la base de datos,
se puede tener acceso a la base de datos sin tener que conocer los detalles de
la arquitectura de tablas -simplemente se ejecutan los procedimientos
almacenados que llevan a cabo las tareas solicitadas.
Tipos de Procedimientos Almacenados
Procedimientos Almacenados del sistema, se utilizan para administrar el SQL
Server y para mostrar información sobre base de datos y sobre usuarios.
Procedimientos almacenados Extendidos, son bibliotecas de vínculos
dinámicos que SQL puede cargar y ejecutar de manera dinámica.
Los procedimientos almacenados ofrecen ventajas importantes
Rendimiento: al ser ejecutados por el motor de base de datos ofrecen un
rendimiento inmejorable ya que no es necesario transportar datos a ninguna
parte. Cualquier proceso externo tiene una penalidad de tiempo adicional dada
por el : transporte de datos.
Potencia: el lenguaje para procedimientos almacenados es muy potente.
SQL
TIPOS DE
PROCEDIMIENTOS
ALMACENADOS
TIPOS DE PROCEDIMIENTOS
ALMACENADOS
Definidos por el usuario: Un procedimiento definido por el usuario se puede
crear en una base de datos definida por el usuario o en todas las bases
de datos del sistema excepto en la base de datos Resource . El
procedimiento se puede desarrollar en Transact-SQL o como una
referencia a un método Tipos de procedimientos almacenados
Common Runtime Language (CLR) de Microsoft .NET Framework.
Temporales: Los procedimientos temporales son una forma de
procedimientos definidos por el usuario. Son iguales que los
procedimientos permanentes salvo porque se almacenan en tempdb.
Hay dos tipos de procedimientos temporales: locales y globales. Se
diferencian entre sí por los nombres, la visibilidad y la disponibilidad.
Los locales tienen como primer carácter de sus nombres un solo signo
de número (#); solo son visibles en la conexión actual del usuario y se
eliminan cuando se cierra la conexión. Los globales presentan dos
signos de número (##) antes del nombre; son visibles para cualquier
usuario después de su creación y se eliminan al final de la última
sesión en la que se usa el procedimiento.
SQL
TIPOS DE PROCEDIMIENTOS
ALMACENADOS
Sistema: Los procedimientos del sistema se incluyen con SQL Server. Están
almacenados físicamente en la base de datos interna y oculta Resource y se
muestran de forma lógica en el esquema sys de cada base de datos definida
por el sistema y por el usuario. Además, la base de datos msdb también
contiene procedimientos almacenados del sistema en el esquema dbo que se
usan para programar alertas y trabajos. Dado que los procedimientos del
sistema empiezan con el prefijo sp_ , le recomendamos que no use este
prefijo cuando asigne un nombre a los procedimientos definidos por el
usuario.
Extendidos: definidos por el usuario Los procedimientos extendidos le permiten
crear sus propias rutinas externas en un lenguaje de programación como
puede ser C. Estos procedimientos son DLL que una instancia de SQL Server
puede cargar y ejecutar dinámicamente.
SQL
VENTAJAS
VENTAJAS
Mayor seguridad: El procedimiento controla qué procesos y actividades se
llevan a cabo y protege los objetos de base de datos subyacentes.
Esto elimina la necesidad de conceder permisos en cada nivel de
objetos y simplifica los niveles de seguridad.
Tráfico de red reducido entre el cliente y el servidor: Los
comandos de un procedimiento se ejecutan en un único
lote de código. Esto puede reducir significativamente el
tráfico de red entre el servidor y el cliente porque
únicamente se envía a través de la red la llamada que va a
ejecutar el procedimiento.
Rendimiento mejorado: De forma predeterminada, un
procedimiento se compila la primera vez que se ejecuta y
crea un plan de ejecución que vuelve a usarse en
posteriores ejecuciones. Como el procesador de consultas
no tiene que crear un nuevo plan, normalmente necesita
menos tiempo para procesar el procedimiento.
SQL
VENTAJAS
Reutilización del código: El código de cualquier operación de base de datos
redundante resulta un candidato perfecto para la encapsulación de
procedimientos. De este modo, se elimina la necesidad de escribir de
nuevo el mismo código, se reducen las inconsistencias de código y se
permite que cualquier usuario o aplicación que cuente con los permisos
necesarios pueda acceder al código y ejecutarlo.
Mantenimiento más sencillo: Cuando las aplicaciones cliente llaman a
procedimientos y mantienen las operaciones de base de datos en la capa
de datos, solo deben actualizarse los cambios de los procesos en la base
de datos subyacente. El nivel de aplicación permanece independiente y no
tiene que tener conocimiento sobre los cambios realizados en los
diseños, las relaciones o los procesos de la base de datos.
SQL
SITUACIÓN
Y
APLICACIÓN
SITUACIÓN
En un minimarket el jefe desea realizar distintas consultas sobre los
proceso que se han desarrollado, por ello se acerca con el encargado de
la base de datos del minimarket
SQL
SITUACIÓN
Se desean ingresar nuevos registros en la tabla Productos y a la Tabla Clientes
SQL
SITUACIÓN
Se desea realizar un consulta sobre los productos que están proximos a vencer
SQL
SITUACIÓN
Se desea ver el nombre y apellido de los clientes, cuyo apellido empieze con
una letra indicada por el usuario
SQL
SITUACIÓN
Se requiere crear un procedimiento almacenado donde nos muestre todos los
productos que formen parte de una categoría dada
SQL
RECOMENDACIONES
SQL
RECOMENDACIONES
SQL
Este comando también se puede escribir
“CREATE PROC”
CREATE PROCEDURE
RECOMENDACIONES
Tener la información completa en
las tablas de tu base de datos,
para que puedan ser visualizadas
en las consultas que realices.
SQL
CONCLUSIONES
SQL

Procedimientos Almacenados SQL SEVER.pptx

  • 1.
  • 2.
    Índice 04 05 06 01 02 03 Introducción Que es unStored Procedure Tipos de Stored Procedure Ventajas del Stored Procedure Situacion y Aplicación Recomendaciones 07 Conclusiones
  • 3.
    INTRODUCCIÓN SQL: SQL es unlenguaje gestor para el manejo de información en una base de datos relacional. El SQL es muy popular por su facilidad de uso y efectividad para convertir grandes volúmenes de datos en información útil Stored Procedure: Se pueden usar los Procedimientos Almacenados para implementar la lógica empresarial que pueden reutilizar varias aplicaciones. Los procedimientos almacenados ayudan a reducir los esfuerzos de duplicar la misma lógica en muchas aplicaciones y hacen que su base de datos sea más consistente.
  • 4.
    ¿QUÉ ES UNPROCEDIMIENTO ALMACENADO?
  • 5.
    QUÉ ES UNPROCEDIMIENTO ALMACENADO Un procedimiento almacenado es un conjunto de instrucciones de T-SQL que SQL Server compila, en un único plan de ejecución, los llamados «store procedures» se encuentran almacenados en la base de datos, los cuales pueden ser ejecutados en cualquier momento. El Transact-SQL . El Administrador Corporativo de SQL Server. El asistente para La Creación de Procedimientos Almacenados . Los objetos de Administración distribuida de SQL . ¿Para que se utilizan? Los procedimientos almacenados se utilizan para agrupar las instrucciones de T-SQL y cualquier lógica asociada necesaria para llevar a cabo una tarea. ¿Cómo se ejecutan? Cuando un procedimiento almacenado es ejecutado por primera vez se compila, se crea y se guarda en memoria su plan de ejecución., luego SQL utiliza ese plan de ejecución cuando se vuelve a llamar al procedimiento sin volver a compilarlo nuevamente. SQL
  • 6.
    ¿QUÉ NOS PROPORCIONA? Nos proporcionana nosotros los usuarios un acceso fácil a la base de datos, se puede tener acceso a la base de datos sin tener que conocer los detalles de la arquitectura de tablas -simplemente se ejecutan los procedimientos almacenados que llevan a cabo las tareas solicitadas. Tipos de Procedimientos Almacenados Procedimientos Almacenados del sistema, se utilizan para administrar el SQL Server y para mostrar información sobre base de datos y sobre usuarios. Procedimientos almacenados Extendidos, son bibliotecas de vínculos dinámicos que SQL puede cargar y ejecutar de manera dinámica. Los procedimientos almacenados ofrecen ventajas importantes Rendimiento: al ser ejecutados por el motor de base de datos ofrecen un rendimiento inmejorable ya que no es necesario transportar datos a ninguna parte. Cualquier proceso externo tiene una penalidad de tiempo adicional dada por el : transporte de datos. Potencia: el lenguaje para procedimientos almacenados es muy potente. SQL
  • 7.
  • 8.
    TIPOS DE PROCEDIMIENTOS ALMACENADOS Definidospor el usuario: Un procedimiento definido por el usuario se puede crear en una base de datos definida por el usuario o en todas las bases de datos del sistema excepto en la base de datos Resource . El procedimiento se puede desarrollar en Transact-SQL o como una referencia a un método Tipos de procedimientos almacenados Common Runtime Language (CLR) de Microsoft .NET Framework. Temporales: Los procedimientos temporales son una forma de procedimientos definidos por el usuario. Son iguales que los procedimientos permanentes salvo porque se almacenan en tempdb. Hay dos tipos de procedimientos temporales: locales y globales. Se diferencian entre sí por los nombres, la visibilidad y la disponibilidad. Los locales tienen como primer carácter de sus nombres un solo signo de número (#); solo son visibles en la conexión actual del usuario y se eliminan cuando se cierra la conexión. Los globales presentan dos signos de número (##) antes del nombre; son visibles para cualquier usuario después de su creación y se eliminan al final de la última sesión en la que se usa el procedimiento. SQL
  • 9.
    TIPOS DE PROCEDIMIENTOS ALMACENADOS Sistema:Los procedimientos del sistema se incluyen con SQL Server. Están almacenados físicamente en la base de datos interna y oculta Resource y se muestran de forma lógica en el esquema sys de cada base de datos definida por el sistema y por el usuario. Además, la base de datos msdb también contiene procedimientos almacenados del sistema en el esquema dbo que se usan para programar alertas y trabajos. Dado que los procedimientos del sistema empiezan con el prefijo sp_ , le recomendamos que no use este prefijo cuando asigne un nombre a los procedimientos definidos por el usuario. Extendidos: definidos por el usuario Los procedimientos extendidos le permiten crear sus propias rutinas externas en un lenguaje de programación como puede ser C. Estos procedimientos son DLL que una instancia de SQL Server puede cargar y ejecutar dinámicamente. SQL
  • 10.
  • 11.
    VENTAJAS Mayor seguridad: Elprocedimiento controla qué procesos y actividades se llevan a cabo y protege los objetos de base de datos subyacentes. Esto elimina la necesidad de conceder permisos en cada nivel de objetos y simplifica los niveles de seguridad. Tráfico de red reducido entre el cliente y el servidor: Los comandos de un procedimiento se ejecutan en un único lote de código. Esto puede reducir significativamente el tráfico de red entre el servidor y el cliente porque únicamente se envía a través de la red la llamada que va a ejecutar el procedimiento. Rendimiento mejorado: De forma predeterminada, un procedimiento se compila la primera vez que se ejecuta y crea un plan de ejecución que vuelve a usarse en posteriores ejecuciones. Como el procesador de consultas no tiene que crear un nuevo plan, normalmente necesita menos tiempo para procesar el procedimiento. SQL
  • 12.
    VENTAJAS Reutilización del código:El código de cualquier operación de base de datos redundante resulta un candidato perfecto para la encapsulación de procedimientos. De este modo, se elimina la necesidad de escribir de nuevo el mismo código, se reducen las inconsistencias de código y se permite que cualquier usuario o aplicación que cuente con los permisos necesarios pueda acceder al código y ejecutarlo. Mantenimiento más sencillo: Cuando las aplicaciones cliente llaman a procedimientos y mantienen las operaciones de base de datos en la capa de datos, solo deben actualizarse los cambios de los procesos en la base de datos subyacente. El nivel de aplicación permanece independiente y no tiene que tener conocimiento sobre los cambios realizados en los diseños, las relaciones o los procesos de la base de datos. SQL
  • 13.
  • 14.
    SITUACIÓN En un minimarketel jefe desea realizar distintas consultas sobre los proceso que se han desarrollado, por ello se acerca con el encargado de la base de datos del minimarket SQL
  • 15.
    SITUACIÓN Se desean ingresarnuevos registros en la tabla Productos y a la Tabla Clientes SQL
  • 16.
    SITUACIÓN Se desea realizarun consulta sobre los productos que están proximos a vencer SQL
  • 17.
    SITUACIÓN Se desea verel nombre y apellido de los clientes, cuyo apellido empieze con una letra indicada por el usuario SQL
  • 18.
    SITUACIÓN Se requiere crearun procedimiento almacenado donde nos muestre todos los productos que formen parte de una categoría dada SQL
  • 19.
  • 20.
    RECOMENDACIONES SQL Este comando tambiénse puede escribir “CREATE PROC” CREATE PROCEDURE
  • 21.
    RECOMENDACIONES Tener la informacióncompleta en las tablas de tu base de datos, para que puedan ser visualizadas en las consultas que realices. SQL
  • 22.