Académique Documents
Professionnel Documents
Culture Documents
Que es un PA?
Un Procedimiento Almacenado es un programa autocontrolado escrito en lenguaje del DBMS, son almacenados como parte de la Base de Datos y sus metadatos.
Que es un PA?
Una vez creado un procedimiento almacenado, se puede invocar directamente desde una aplicacin, o sustituir el nombre de una tabla o vista, por el nombre de procedimiento en clusulas SELECT. Los procedimientos almacenados pueden recibir parmetros de entrada y retornar valores a la aplicacin.
Ventajas
Diseo modular. Aplicaciones que acceden la misma Base de Datos pueden compartir los procedimientos almacenados, eliminando el cdigo doble y reduciendo el tamao de las aplicaciones. El fcil mantenimiento.
Ventajas
Cuando un procedimiento se actualiza, los cambios se reflejan automticamente en todas las aplicaciones, sin la necesidad de recompilar y re linkear. Las aplicaciones son compiladas slo una vez para cada cliente.
Ventajas
Los procedimientos almacenados son ejecutados por el servidor, no por el cliente lo que reduce el trfico en la red y mejora el performance o desempeo, especialmente para el acceso del cliente remoto.
Ventajas
Estn almacenados en los servidores y asegurados por las medidas tomadas en la instalacin, lo que impide que los usuarios normales puedan modificarlos e incluso desconocen su existencia. Este es un elemento de gran valor en lo que a seguridad respecta
Rendimiento
Cada vez que un comando Transact-SQL, o conjunto de comandos, es enviado el servidor para su procesamiento, el servidor debe determinar si el remitente tiene suficientes privilegios para ejecutar esos comandos y si los comandos son vlidos. Una vez que los permisos y la sintaxis de los comandos se han verificado, SQL Server construye un plan de ejecucin para procesar el pedido.
Rendimiento
Los procedimientos almacenados son ms eficientes en parte porque el procedimiento es almacenado en el SQL Server cuando se crea La sintaxis de los comandos contenidos en un procedimiento almacenado se comprueba que este libre de errores antes de ser guardado.
Rendimiento
El nombre del procedimiento almacenado se almacena en la tabla SysObjects, mientras que el texto del procedimiento se guarda en la tabla SysComments. Invocar al procedimiento almacenado implica ejecutar un solo comando en vez de cientos de comandos que un procedimiento almacenado podra contener.
Rendimiento
La primera vez que se ejecuta el procedimiento, se crea un plan de ejecucin y se compila al procedimiento almacenado Los procesamientos subsecuentes del procedimiento almacenado son mucho ms rpidos ya que el SQL Server no vuelve a controlar la sintaxis, ni recrea un plan de ejecucin, ni se recompila el procedimiento.
Rendimiento
Por ltimo se verifica el cach por si ya existe un plan de ejecucin para ese procedimiento antes de generar un nuevo plan de ejecucin.
Marco de programacin
Una vez que se crea un procedimiento almacenado, puede ser llamado todas las veces que sea necesario Esta capacidad provee modulacin y habilita la reutilizacin del cdigo.
Marco de programacin
La reutilizacin del cdigo mejora el mantenimiento de la base de datos al aislar la base de datos de los cambios en las prcticas del negocio. Si las reglas de negocios cambian en una organizacin, se puede modificar a los procedimientos almacenados para cumplir con las nuevas reglas de negocio.
Marco de programacin
Todas las aplicaciones que llaman a esos procedimientos almacenados cumplirn con la nuevas reglas, sin tener que ser directamente modificados.
Seguridad
Otro capacidad importante de los procedimientos almacenados es que mejoran la seguridad a travs de la encriptacin y el aislamiento. Los usuarios de las bases de datos pueden tener permisos de ejecutar un procedimiento almacenado sin tenerlos para acceder directamente a los objetos de la bases de datos sobre las que opera el procedimiento almacenado.
Seguridad
Adems un procedimiento almacenado puede ser encriptado cuando se lo crea o modifica inhabilitando a los usuarios a leer los comandos Transact-SQL contenidos en el procedimiento almacenado. Esta capacidad de seguridad permite aislar la estructura de la base de datos del usuario de la base de datos, con la consiguiente ganancia en seguridad.
CREATE PROCEDURE
Se puede usar el comando CREATE PROCEDURE, o su versin abreviada, CREATE PROC, para crear un procedimiento almacenado en el Query Analyzer.
CREATE PROCEDURE
Cuando utiliza CRETE PROC, se pueden realizar las siguientes tareas:
Especificar agrupamientos de procedimientos almacenados Definir parmetros de entrada-salida, sus tipos de datos, y sus valores por defecto.
CREATE PROCEDURE
Cuando se definen parmetros de entrada y salida, estos siempre van precedidos por el signo @, seguido del nombre del parmetro y luego una designacin del tipo de dato.
Los parmetros de salida deben incluir la palabra clave OUTPUT para diferenciarlos de los de entrada. Usar cdigos de retorno para mostrar informacin acerca del xito o falla de una tarea.
CREATE PROCEDURE
Controlar si un plan de ejecucin debera ser guardado temporalmente para un procedimiento.
Encriptar el contenido del procedimiento almacenado por razones de seguridad. Especificar las acciones que deber tomar el procedimiento almacenado cuando se ejecute.