Please enable JavaScript.
Coggle requires JavaScript to display documents.
Stored Procedures (Ventajas (Tiene acceso directo a los datos necesario…
Stored Procedures
Ventajas
Tiene acceso directo a los datos necesario 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 mas rápido que comandos SQL enviados desde aplicaciones externas, ya que estos no están compilados.
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
Son reusables y transparentes a cualquier aplicación que lo quiera usar. Los SP exponen la interfaz de la BD a todas las aplicaciones, por lo que los desarrolladores no tienen que programar funciones que ya entran soportadas en los mismos.
Son seguros. Los DBA pueden dar permiso a X aplicación para que pueda acceder a Y stored procedure en el catálogo de la BD, sin tener que darle permiso de acceso a la tabla
Desventajas
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 que magnitud tendrá este cambio, ni que cambios puedan hacerse para corregir lo antes mencionado sin afectar otra cosa.
Muchas organizaciones limitan estrictamente quienes pueden hacer consultas a la base de datos. Los programadores y otros usuarios no tienen mas opción que implementar soluciones ineficientes a sus problemas usando los stored procedures que estén disponibles… sin importar o no que estos sean apropiados para la tarea.
Hacen que la base de datos sea mas 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 difícil 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 stored procedures: son compilados y almacenados en caché de la misma forma Dynamic SQL.
-
Usos
-
-
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.
Definiciones
-
Estos pueden ser llamados por una aplicación externa, un trigger u otro stored procedure.