PROCEDIMIENTOS ALMACENADOS

Documentos relacionados
Afinación y Rendimiento de Bases de Datos

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Oracle Database: Programación con PL/SQL

Diseño arquitectónico 1ª edición (2002)

GUÍA DE TRABAJO GRADO 11. Media Fortalecida - SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Oracle PL/SQL. Programa de Estudio.

BASES DE DATOS TEMA 1 PERSPECTIVA DEL ÁREA DE BASES DE DATOS

Objetivos y Temario CURSO MySQL 5

Pre-Taller Gestión de Privilegios de Usuarios 2. Manipulación de Vistas 3. Creación y manipulación de Triggers (Introducción al uso de PL/pgsql)

Introducción a las Bases de Datos

Unidad 1. CONCEPTOS DE BASES DE DATOS.

SEGURIDAD EN LAS BASES DE DATOS

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas) I. INTRODUCCION A LAS BASES DE DATOS

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

Qué es un programa informático?

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

20483 Programación en C#

Conceptos básicos de bases de datos

Oracle Database 11g: Taller de Administración II Versión 2 (Español)

MS_10962 Advanced Automated Administration with Windows PowerShell

Herramientas Informáticas I Software: Sistemas Operativos

PROTOTIPO DE FACTURACIÓN ELECTRÓNICA MANUAL TÉCNICO

Asignatura: Administración de Bases de Datos

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

Uso de Disparadores. Miguel Angel Garduño Cordova Isaac Méndez Hernández

COMUNICACIÓN ENTRE EL CLIENTE Y SERVIDOR SIN PHP Y CON PHP. INTÉRPRETE PHP Y GESTOR DE BASES DE DATOS (CU00804B)

Curso Querying Microsoft SQL Server 2014 (20461)

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers

Introducción a los Sistemas Operativos

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Microsoft SQL Server 2008 Instalación y Configuración

Introducción a la Operación de Computadoras Personales

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

PROCEDIMIENTOS ALMACENADOS

TRIGGER LEONEL CADOSO ROMERO 1

UNIDAD 2: Bases de Datos en Visual Basic

1

Paquete de curso Programación Java SE (Exclusivo Estudiantes y catedráticos)

DIAGRAMAS DE UML. Prof. Wenceslao Chávez Bedoya

Diseño e Implementación SQL Server

GESTORES GESTORES DE BASES DE DATOS

M. C. Felipe Santiago Espinosa

Manual del Integrador Contable Premium Soft

JAVA 7 Los fundamentos del lenguaje Java

CURSOS Y DESCRIPCIÓN / ADMINISTRACIÓN DE BASE DE DATOS

Integridad Referencial. Restricciones (constraints)

INGENIERÍA DEL SOFTWARE I Práctica 5 Modelado de Diseño

El Sistema Gestor de Base de Datos (DBMS)

Capas de presentación

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle Database y Oracle SQL Developer

Procesamiento de documentos XML.

ADMINISTRACIÓN DE BASE DE DATOS

Nomenclatura para Tablas, Triggers, Secuencias, Procedimientos Almacenados y Constraints

Tema V Generación de Código

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Suite Administrativa Módulo de Inventarios. Ficha Técnica. Código: DS-03. Suite Administrativa Módulo Inventarios FICHA TÉCNICA.

Programación con Visual C#

Bases de datos. Diseño y gestión

TÍTULO: BASES DE DATOS Disponibilidad Objetivos 5 Definicion de una base de datos 9 Datos de nomina (tabla) 9 Esquema de bases de datos (mapa

Nomenclatura para Tablas, Triggers, Secuencias, Procedimientos Almacenados y Constraints

FUNCIONES PHP: DECLARACIÓN Y LLAMADAS. PARÁMETROS, RETURN. EJERCICIOS EJEMPLOS RESUELTOS. (CU00827B)

Cristian Blanco

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento

Desarrollo de aplicaciones de acceso a base de datos con JBuilder 7

Principios de Computadoras II

SERVICIO NACIONAL DE APRENDIZAJE SENA SISTEMA INTEGRADO DE GESTIÓN Procedimiento Ejecución de la Formación Profesional Integral GUÍA DE APRENDIZAJE

DISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Laboratorio Informix. Stored Procedures Triggers

INDICE Parte 1. Visual Basic Capitulo 1. Qué es Visual Basic? Capitulo 22. Mi Primera Aplicación Capitulo 3. Elementos del lenguaje

Alcance y descripción del servicio. Creador Web IPLAN

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos

SISTEMA DE VENTAS Y COMPRA DE TIENDA DE VESTIR SIVECO VISION. Versión 1.0 MANUEL PABLO GUERRA MARTÍNEZ.

Sistema Operativo Linux

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Definimos un Sistema Gestor de Bases de Datos o SGBD, también llamado DBMS (Data Base Management System) como una colección de datos relacionados entr

UNIVERSIDAD NACIONAL DE INGENIERIA Dirección de Estudios de Posgrado y Educación Continua UNI-DEPEC

Sistemas Operativos. Daniel Rúa Madrid

Tema 2 Introducción a la Programación en C.

Sistemas de información Administrativa II

Introducción a Swing. Taller de Programación 2016

ÍNDICE INTRODUCCIÓN...17

Curso Implementing and Maintaining Microsoft SQL Server 2008 Reporting Services (6236)

Diagramas De Casos De Uso

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

Trabajo final de carrera Sistema de gestión de información de jugadores de baloncesto

COMPONENTES Y CONTENEDORES. Ingeniería de Software II

Bases de Datos OTROS ASPECTOS MODELO E-R

Optimización de motores SQL Server desde el código hasta la administración

Fundamentos de Oracle

Tutorial 3. Conexión a Bases de Datos con NetBeans 5.0

Funciones como Subprogramas en C++

USO DE SUBRUTINAS, TRANSMISIÓN DE PARÁMETROS Y COMPILACIÓN CONDICIONAL EN C++

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Transcripción:

Modelado de Base de Datos PROCEDIMIENTOS ALMACENADOS Universidad Politecnica de los Llanos

Procedimiento Almacenado Un Procedimiento almacenado es un Objeto de Base de Datos que puede encapsular logica y sentencias de SQL, se utiliza como una extension de subrutina para las aplicaciones y para otros objetos de Base de Datos que pueden contener logica. Los procedimiento almacenados se pueden escribir en una variedad de lenguajes incluyendo sql, c, c++ y java, MySQL proporciona una forma por el cual los procediminetos almacenados escritos en uno de estos lenguajes los puenden acceder un programa escrito en otro lenguajes.

Conceptos sobre Procedimientos Almacenados RED Aplicación Cliente Cliente Tiempo de Ejecución Servidor MySQL Base de Datos MySQL Comunicación entre el cliente y el servidor MySQL

Conceptos sobre Procedimientos Almacenado Cuando un cliente y el servidor de base de datos se comunica entre si, intercambian gran cantidad de información. Esto consume un gran numero de recursos de red.

Conceptos sobre Procedimientos Almacenados Aplicación Cliente Cliente Tiempo de Ejecución Procedimientos Almacenados Base de Datos MySQL RED Servidor MySQL Comunicación a través de Procedimientos Almacenados

Conceptos sobre Procedimientos Almacenados La comunicación a través de procedimientos almacenados permita establecer una conexión entre el cliente y el servidor consumiendo poco recursos de red comparado con el enfoque tradicional lo que aumenta en Performance del sistema. Los procedimientos almacenados tambien pueden tomar algunos parametros de entrada y devolver un resultado declarado como la salida.

Conceptos sobre Procedimientos Almacenados Tipos Existen dos tipos distintos de procedimientos que pueden crearse mediante la utilización de esta sentencia: Externo:El cuerpo del procedimiento se escribe en un lenguaje de programación por ejemplo, java el ejecutable externo hace referencia a un procedimiento que se ha definido en el servidor actual, junto con diversos atributos del procedimiento. SQL: el cuerpo del procedimiento se escribe en SQL PL y se define en el servidor actual, junto con diversos atributos del procedimiento.

Conceptos sobre Procedimientos Almacenado Ventajas Algunas Ventajas de los procedimientos almacenados con respecto a las llamadas SQL tradicionales son: Uso reducido de la red entre clientes y servidores: Una aplicación cliente pasa el control a un procedimiento almacenado en el servidor de base de datos. El procedimiento almacenado realiza un procesamiento intermedio en el servidor de base de datos, sin transmitir los datos innecesarios a través de la red. Solo se transmiten los registros que realmente necesitan la aplicación cliente. Utilizar un procedimiento almacenado puede dar como resultado un uso reducido de la red y un mejor rendimiento general

Conceptos sobre Procedimientos Ventajas Almacenado Mejora de la posibilidades de hardware y software Las Aplicaciones que utilizan procedimientos almacenados tienen acceso a un aumento de memoria y de espacio de disco en sistema del servidor. Estas aplicaciones también tienen acceso al software que solo esta instalado en el servidor de bases de datos. Pueden distribuirse la lógica comercial ejecutable entre maquinas que tengan memoria y procesadores suficientes.

Conceptos sobre Procedimientos Ventajas Almacenado Mejora la seguridad Al incluir privilegios de base de datos con procedimientos almacenados que utilicen SQL estatico, el administrador de base de datos (DBA) puede mejorar la seguridad. El DBA o el desarrollador que crea el procedimiento debe tener los privilegios de la base de datos que necesita el procedimiento almacenado. Los usuarios de las aplicaciones cliente que llaman al procedimiento almacenado puede proporcionar una manera enormemente eficaz de resolver estas situaciones repetitivas

Conceptos sobre Procedimientos Ventajas Almacenado Reducción en el costo de desarrollo y aumento en la fiabilidad En un eterno de aplicación de Base de datos se repiten muchas tareas. Entre las tareas repetidas pueden encontrarse la devolución de un conjunto fijo de datos (ejemplo: IVA, conversión monetaria, parámetros de configuración, registros de auditoria) o la realización del mismo conjunto de peticiones a una base de datos. Al volver a utilizar un procedimiento común, un procedimiento almacenado puede proporcionar una manera enormemente eficaz de resolver esta situaciones repetitivas

Conceptos sobre Procedimientos Ventajas Almacenado Seguridad, administración y mantenimiento centralizados para las rutinas Al gestionar la lógica compartida en un lugar del servidor, puede simplificarse la seguridad, la administración y el mantenimiento. Las aplicaciones cliente pueden llamar a procedimientos almacenados que ejecuten consultas de SQL con escaso o ningún procedimiento adicional

Conceptos sobre Procedimientos Almacenado Limitaciones de los Procedimientos Almacenados Aunque un procedimiento almacenados sirve para muchos propósitos, tiene sus propias limitaciones: Trabaja con la conexión que consigue de la aplicación cliente. Por el cual no puede tener algunas de las siguientes sentencias relacionadas con la conexión: BACKUP, CONNECT, CONNECT TO, CONNECT RESET, CREATE DATABASE, DROP DATABASE, FORWARD RECOVERY, RESTORE. Dado que un procedimiento almacenado se ejecuta en segundo plano, no puede tener alguna sentencia que imprima en pantalla. Sin embargo, un procedimiento almacenado puede tener la capacidad de controlar el flujo a los archivos

Conceptos sobre Procedimientos Almacenado Limitaciones de los Procedimientos Almacenados Dado que es el cliente quien invoca un procedimiento almacenado, debe devolverse el control al cliente y no debe tener alguna sentencia que termine el proceso No puede ser invocado como parte de alguna sentencia SQL, con excepción de CALL Los resultados no pueden ser usados directamente por otra sentencia SQL. No puede preservar el estado entre llamadas.

Modelado de Base de Datos TRIGGERS Universidad Politecnica de los Llanos

Triggers Los triggers son un conjunto de programas que residen dentro de la base de datos definen un conjunto de acciones que deben invocarse cuando ocurra alguna actividad en la base de datos. Los triggers también pueden invocar una acción fuera de la base de datos, como enviar un email. Se pueden usar para una variedad de requerimientos de la aplicación

Triggers Los triggers son programas manejados por eventos que residen dentro de un RDBMS. El manejador de la base de datos (databese manager que es un objeto del RDBMS que cotrola todas las actividades de la base de datos) administra los triggers

Triggers Los triggers se crean solo una vez y el manejador de base de datos los dispara siempre que ocurra un evento o actividad particular. Los triggers pueden considerarse como un conjunto de reglas dentro del RDBMS. Las reglas pueden basarse en uno de los procesos de actualizacion.

Triggers Operación INSERT: Los triggers pueden crearse para cualquier operación de insercion de datos Operación UPDATE: Los triggers pueden crearse para cualquier actualización de datos en la base datos. El proceso de actualización se puede deber a una sentencia de actualización (UPDATE) o a causa de restricciones referenciales. Operación DELETE: Los triggers pueden crearse para cualquier operación de eliminación de datos. La operación de eliminación de datos (DELETE), se puede deber a una sentencia delete o a causa de restricciones referenciales

Triggers Los triggers se implementa a nivel de tabla. Se enlazan a una tabla particular y cualquier cambio que sucede en la tabla disparara el triggers. Una vez creado, un triggers puede ser evitado si se realiza un control del errores dentro de las sentencias a ejecutar, en caso contrario, no puede ser evitado, independientemente desde donde ocurra la operacion de manipulacion de datos: a traves de una sentencia de SQL desde el centro operacion de manipulacion de datos: a traves de una sentencia de SQL dinamica, a traves de una sentencia de SQL embebido ejecutandose dentro de un programa, entre otros

Triggers Hay algunas terminologias que se necesitan conocer antes de desarrollar triggers: Evento disparador: Cada trigger esta asociado con un evento. Los triggers son activados cuando ocurre su evento correspondiente en la base de datos. El evento disparado puede ocurrir cuando se inserta datos, actualiza una columna o elimina un registro de una tabla. Accion disparada: una acción disparada es el proceso ejecutado por el trigger sentencia SQL o un conjunto de sentencias SQL, que ejecutan una operación particular en la base de datos. La acción disparada también puede ser una llamada a un procedimiento almacenado (store procedure) o una llamada a funciones definidos por el usuario(udf)

Triggers Ventajas de los triggers Las siguientes son las ventajas de usar triggers: Librería global para un conjunto de reglas del negocio: Las aplicaciones de negocio construidas alrededor de una base de datos tiene un numero de reglas del negocio que deben cumplirse a nivel de base de datos. Se necesita colocar restricciones sobre los datos para cumplir estas reglas. Algunas de las reglas del negocio son la siguientes Ejemplos: Se debe enviar un correo electrónico al gerente de abastecimiento cuando la existencia de lapiceros en el departamento de papelería, esta por debajo de 500

Triggers Se debe enviar un correo electrónico al administrador cuando se registre un nuevo usuario al sistema. Se debe actualizar la tabla registro de actividades (bitacora) siempre que ocurre algunas operaciones. Se debe fijar un limite superior sobre el crédito que un empleado puede disponer

Triggers Los triggers pueden ser muy útiles en la implementación de reglas del negocio, como las listadas anteriormente. Una vez que se construyen estas reglas como triggers, se pueden usar a través de las aplicaciones. Menor acoplamiento: Los triggers permiten menos acoplamiento entre la logica del negocio y la aplicación construida.

Triggers Considere el siguiente ejemplo. El gerente de abastecimiento del departamento de papelería desea estar notificado cuando la existencia de almohadillas sea menor que 150. sin embargo este numero cambiará a medida que la compañía crezca. Si la regla se codifica dentro de la aplicación construida de base de datos, resulta difícil para los programadores cambiarlo a cada momento. En cambio si se ubica dentro de un trigger, resulta muy fácil cambiar el valor

Triggers Hacer cumplir la integridad de los datos: la integridad referencial de la base de datos se puede hacer cumplir usando triggers. Considere el siguiente ejemplo: hay dos tablas, Empleado y departamento. A traves de la columna iddepartamento(clave primaria) de la tabla Departamento. Se tiene un requerimiento en la aplicación que establece que un registro de empleado se puede añadir solo si el departamento al que pertenece, ya existe. Esto puede hacerse verificando el iddepartamento del nuevo registro con la columna iddepartamento de la tabla Departamento. Los triggers ayudan en la implementación de este requerimiento sin tener que usar la restricción referencial