BASE DE DATOS II

Breaking News

Comments

Social

sábado, 5 de mayo de 2018

PROCEDIMIENTOS ALMACENADOS


     




             EQUIPO      :  Investigation Systems

             Estudiantes :  Aguilar Rafael Jaime
                                    Diaz Guerrero Imer Hobet

             CURSO       :  Base de Datos II

             TEMA          : PROCEDIMIENTOS ALMACENADOS


             DOCENTE  :  Marco Aurelio Porro Chulli





------------------------------------------------------------------------------------------




I.     Tema: Procedimientos Almacenados
1. Contenido
v  Definición:
Es un conjunto de comandos que pueden ser ejecutados directamente en el servidor, es decir, será ejecutado por el servidor de Base de Datos y no por el programa cliente que lo accede, permitiendo la ejecución de una acción o conjunto de acciones específicas.
Los procedimientos almacenados son grupos formados por instrucciones SQL y el lenguaje de control de flujo. Cuando se ejecuta un procedimiento, se prepara un plan de ejecución para que la subsiguiente ejecución sea muy rápida. Los procedimientos almacenados pueden:
ü  Incluir parámetros
ü  Llamar a otros procedimientos
ü  Devolver un valor de estado a un procedimiento de llamada o lote para indicar el éxito o el fracaso del mismo y la razón de dicho fallo.
ü  Devolver valores de parámetros a un procedimiento de llamada o Lote
ü  Ejecutarse en SQL Server remotos

v  Sintaxis
Los procedimientos almacenados se crean con CREATE PROCEDURE. Para ejecutar un procedimiento almacenado, ya sea un procedimiento del sistema o uno definido por el usuario, use el comando EXECUTE. También, puede utilizar el nombre del procedimiento almacenado solo, siempre que sea la primera palabra de una instrucción o lote.

CREATE [ OR ALTER ] { PROC | PROCEDURE }
[schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ = default ] [ OUT | OUTPUT ] [READONLY]
] [ ,...n ]
[ WITH EXECUTE AS Clause ]
AS
 { EXTERNAL NAME assembly_name.class_name.method_name }
[;]

TIPOS DE PROCEDIMIENTOS ALMACENADOS

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

v  Temporales
Los procedimientos temporales son una forma de procedimientos definidos por el usuario. Los procedimientos temporales 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 procedimientos temporales 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 procedimientos temporales 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.

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

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

v  Administración de Procedimientos Almacenados (Creación, Modificación y Eliminación)
Creación:
CREATE PROCEDURE sp_Total
(@col1 char (3)
AS
BEGIN
SELECT SUM(CANTIDAD*PRECIO)
FROM DetalleDocumento D
WHERE D.idserie = @col1;
END;


      Modificacion:
ALTER PROCEDURE sp_modificar_cliente
   (@id_cliente INT
   ,@nombre_cliente VARCHAR (20)
   ,@apellido_cliente VARCHAR (20))
WITH ENCRYPTION
AS
UPDATE CLIENTE
   SET NOMBRE=@nombre_cliente,APELLIDO=@apellido_cliente
   WHERE IDCLIENTE=@id_cliente;




      Eliminación:
DROP { PROC | PROCEDURE }
{ [ schema_name. ] procedure }
 [ ,...n ] 
DROP PROCEDURE nombre_procedimiento

v  Ejemplos
1.    CREATE PROCEDURE SP_CLIENTES
AS
SELECT IDCLIENTE AS CODIGO, NOMBRECIA AS CLIENTE, DIRECCION, TELEFONO
FROM VENTAS.CLIENTES
GO

2.    CREATE PROCEDURE SP_PEDIDOSFECHAS
@col1 DATETIME
AS
SELECT *
FROM VENTAS.PEDIDOSCABE
WHERE FECHAPEDIDO = @col1
GO
-- EJECUTANDO EL PROCEDIMIENTO ALMACENADO
EXEC USP_PEDIDOSBYFECHAS @F1='10-01-1996'
GO


2. Resumen
Es un conjunto de comandos que pueden ser ejecutados directamente en el servidor, es decir, será ejecutado por el servidor de Base de Datos y no por el programa cliente que lo accede, permitiendo la ejecución de una acción o conjunto de acciones específicas.

Sintaxis
Los procedimientos almacenados se crean con CREATE PROCEDURE. Para ejecutar un procedimiento almacenado, ya sea un procedimiento del sistema o uno definido por el usuario, use el comando EXECUTE. También, puede utilizar el nombre del procedimiento almacenado solo, siempre que sea la primera palabra de una instrucción o lote.
TIPOS DE PROCEDIMIENTOS ALMACENADOS
·         Temporales
·         De sistema
·         Definidos por el usuario
·         Extendidos por el usuario



3. Summary

Definition
It is a set of commands that can be executed directly on the server, that is, it will be executed by the Database server and not by the client program that accesses it, allowing the execution of an action or set of specific actions.
Syntax
The stored procedures are created with CREATE PROCEDURE. To execute a stored procedure, either a system procedure or a user-defined procedure, use the EXECUTE command. Also, you can use the name of the stored procedure alone, provided it is the first word of an instruction or batch.

TYPES OF STORED PROCEDURES
• Temporary
• System
• Defined by the user
• Extended by the user

4. Recomendaciones
v  Se recomienda utilizar procedimientos almacenados 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.
v  Se recomienda reutilizar el procedimiento y este puede ser llamado desde diferentes aplicaciones y lenguajes. Sólo lo programaremos una vez.
v  Para crear un procedimiento almacenado se recomienda utilizar la palabra reservada CREATE PROCEDURE.

5. Conclusiones
v  La posibilidad de escribir procedimientos almacenados mejora notablemente la potencia, eficacia y flexibilidad de SQL.

v  Los procedimientos compilados mejoran la ejecución de las instrucciones y lotes de SQL de forma dramática.

v Los procedimientos almacenados pueden ejecutarse en otro SQL Server si el servidor del usuario y el remoto están configurados para permitir logins remotos.
6. Apreciación del equipo
v  Pueden mejorar el rendimiento ya que se necesita enviar menos información entre el servidor y el cliente. El intercambio que hay es que aumenta la carga del servidor de la base de datos ya que la mayoría del trabajo se realiza en la parte del servidor y no en el cliente.
v Como equipo hemos opinamos que los procedimientos almacenados son módulos o rutinas que encapsulan código para su reutilización.
v  Son de mucha importancia para los programadores o desarrolladores de software.



7. Glosario de Términos
v Logins remotos: Un acceso remoto es poder acceder desde una computadora a un recurso ubicado físicamente en otra computadora que se encuentra geográficamente en otro lugar, a través de una red local o externa (como Internet).
v Sp_: Es el prefijo que se les da a los procedimientos almacenados.
v Base de Datos Resource: Es de solo lectura y contiene todos los objetos del sistema que se incluyen con SQL Server.
v Parámetro: es una variable utilizada para recibir valores de entrada en una rutina, subrutina o método. Dichos valores, que serán enviados desde la rutina invocante, son llamados argumentos.
v Schema Sys: Es un esquema de la base de datos, definida por el Sistema.
v  DLL (Data Definition Language) que permiten crear y definir nuevas bases de datos, campos e índices.
v  CREATE: Este comando crea un objeto dentro del gestor de base de datos. Puede ser una base de datos, tabla, índice, procedimiento almacenado o vista.
v  ALTER: Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.
v  DROP: Empleado para eliminar tablas e índices.
v  PROCEDIMIENTOS TEMPORALES: son una forma de procedimientos definidos por el usuario. Los procedimientos temporales son iguales que los procedimientos permanentes salvo porque se almacenan en tempdb. Hay dos tipos de procedimientos temporales: locales y globales

8. Bibliografía o Linkografía
https://docs.microsoft.com/es-es/sql/relational-databases/stored-procedures/stored-procedures-database-engine?view=sql-server-2017

LINK DE DIAPOSITIVAS

https://es.slideshare.net/JaimeAguilarRafael1/procedimientos-almacenados-96054279

VIDEOS








No hay comentarios :

Publicar un comentario

Designed By Published... James