FIREBIRD: SQL PROCEDIMENTAL (PSQL)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "FIREBIRD: SQL PROCEDIMENTAL (PSQL)"

Transcripción

1 FIREBIRD: SQL PROCEDIMENTAL (PSQL) Vicente Tejero Trueba Pag 1 IES Pedro Espinosa

2 FIREBIRD: SQL PROCEDIMENTAL (PSQL) 1.- INTRODUCCION EXTENSIONES DEL LENGUAJE Terminadores Variables Sentencias básicas Cursores Sentencias control de flujo Ejecución de código Eventos PROCEDIMIENTOS ALMACENADOS TRIGGERS EXCEPCIONES...16 Vicente Tejero Trueba Pag i IES Pedro Espinosa

3 1.- INTRODUCCION Uno de los grandes beneficios de la implementación de SQL en Firebird es la posibilidad de compilar y ejecutar modulos de código interno (procedimientos almacenados y triggers) desarrollados por un programador. Para ello se tiene PSQL, una sintaxis que combina sentencias de DML con una extensión para programación. Se habla en este caso de programación en el lado del servidor, ya que el código se ejecutará en la máquina del servidor por el propio servidor. Esto tiene sus ventajas: - Diseño modular: Todas las aplicaciones que acceden a la misma base de datos comparten los procedimientos almacenados y por tanto se centralizan las reglas de empresa, se reutiliza código y se reduce el tamaño de las aplicaciones. - Facilidad en mantenimiento: Cuando se realiza un cambio en un procedimiento, éste se traslada de forma automática a todas las aplicaciones que lo usan. - Mejora de eficiencia: El procesado complejo se realiza en el servidor reduciendo el trafico de red y la carga en los clientes. - Economía en la arquitectura: Las aplicaciones clientes se pueden orientar hacia la captura de datos y tareas interactivas mientas el trabajo complejo con datos se realiza en el servidor. - Funcionalidad extra: Operaciones que no se pueden realizar fácilmente mediante sentencias SQL pueden implementarse mediante procedimientos almacenados. Cada módulo creado podrá ser: - Procedimiento almacenado: Se pueden utilizar como procedimientos seleccionables (sustituyen a una tabla o vista en una sentencia SELECT) o como procedimientos ejecutables (ejecutar una operación o conjunto de operaciones en el lado del servidor) que se pueden llamar mediante EXECUTE PROCEDURE o desde otro procedimiento o trigger. - Trigger: Es una rutina asociada a una tabla o vista que se lanza de forma automática cuando se realiza una operación de inserción, borrado o actualización de una fila. Un trigger nunca se llama directamente. Se suelen usar los triggers para realizar actualizaciones de datos ante cambios en filas, validar datos de entrada, transformaciones de datos, actualizaciones de integridad referencial en cascada o para hacer vistas de solo lectura actualizables. Un aspecto importante a tener en cuenta con los módulos de PSQL es que no aportan control de transacciones. Un módulo se ejecuta siempre en el ámbito de una transacción abierta previamente. Desde el módulo no puede ser confirmada ni cancelada, lo único que se puede es lanzar una excepción ante un problema detectado. La aplicación que ha llamado al módulo será la encargada de realizar la finalización apropiada de la transacción (confirmar o deshacer). En este tema veremos los ejemplos a partir de la base de datos de bancos: Vicente Tejero Trueba Pag 1 IES Pedro Espinosa

4 2.- EXTENSIONES DEL LENGUAJE. Los módulos PSQL no son más que sentencias SQL que comienzan con una cláusula CREATE y finalizan con un terminador. En la definición del módulo apareceran un número variable de elementos como clausulas, palabras clave, bloques de sentencias, bucles, etc. Un módulo de PSQL se define estableciendo dos elementos fundamentales: - La cabecera: En ella se incluyen todos los elementos de definición del procedimiento o trigger como nombre del módulo, parámetros de entrada y/o salida para los procedimientos, tipo de trigger, etc. - El cuerpo: En el se definen todos los elementos que desarrollan el módulo como la declaración de variables, el bloque de sentencias (entre el ) y los manejadores de excepción. Así tendríamos que en un procedimiento: -- se inicia la cabecera CREATE PROCEDURE procedimiento (entrada INTEGER) RETURNS (salida INTEGER) --se acaba la cabecera -- se inicia el cuerpo DECLARE VARIABLE variable INT; variable = entrada /2; salida =variable; -- fin del cuerpo Terminadores. Muchos de los elementos que nos encontramos en un módulo se deben indicar con el terminador ;. Ya que un módulo es una sóla sentencia finalizada con un terminador es necesario diferenciar éste de los elementos del módulo. Esto se consigue mediante la sentencia SET TERM. Por ejemplo una definición tipica de un procedimiento sería: SET TERM ^; -- establece como terminador el ^ a partir de esta sentencia. CREATE PROCEDURE MI_PROCEDIMIENTO. Vicente Tejero Trueba Pag 2 IES Pedro Espinosa

5 sentencia; --sentencia acabada en ; ^ -- finaliza la definición del procedimiento mediante el terminador indicado, el ^ SET TERM ;^ -- fija de nuevo el terminador como ; y acaba la sentencia con el terminador actual ^ Variables. En PSQL se pueden usar 5 tipos de variables en el cuerpo de un módulo, con algunas restricciones según sea procedimiento o trigger: - Variables locales, usadas para mantener valores locales en un módulo. - Las variables NEW.columna y OLD.columna usadas en los triggers para almacenar los valores modificados de la fila o los antiguos. - Variables de contexto. - Argumentos de entrada pasados como constantes en los procedimientos almacenados. - Argumentos de salida, usados para devolver valores en los procedimientos almacenados. Las variables pueden usarse en sentencias SQL dentro de los módulos aunque en este caso se preceden por : para diferenciarlas de las columnas de las tablas. FOR SELECT cod_accta FROM ACCIONIST INTO :variable DO -- Variable lleva : al estar dentro de un select. otra = otra + variable variable no lleva los : al no aparecer en una sentencia select. Una variable se asigna mediante el = ( variable = expresión), en donde se puede asignar a una variable cualquier expresión en la que usemos variables, operadores, funciones SQL. codigo = GEN_ID( generador,1); codigo = codigo + IIF(codigo<0,0,codigo); Las variables locales se declaran, una por una, antes del primer siendo su ámbito únicamente el cuerpo del procedimiento o trigger. En la misma sentencia es posible darles un valor: DECLARE VARIABLE variable {<tipo> <dominio> TYPE OF <dominio> TYPE OF COLUMN <tabla o vista>.<columna>} [{DEFAULT valor } {= valor}]; DECLARE VARIABLE variable INTEGER DEFAULT 0; DECLARE VARIABLE cadena CHAR(20) = hola ; En PSQL se pueden usar todas las variables de contexto y literales comentados en temas anteriores como NOW, CURRENT_USER, etc. Además se define la variable ROW_COUNT que contiene el número de filas afectadas por la última sentencia de DML ejecutada. Los argumentos de entrada se definen en los procedimientos almacenados para que la aplicación pueda pasar valores al mismo. Son declarados en la cabecera pudiéndose usar en cualquier punto del cuerpo. Los argumentos de entrada son siempre pasados por valor, por lo que cualquier cambio que se produzca dentro del cuerpo no se envía al exterior. Vicente Tejero Trueba Pag 3 IES Pedro Espinosa

6 A los argumentos de entrada se les puede asignar un valor por defecto lo que hace que se pueda omitir en la llamada al procedimiento. En este caso, una ver definido uno, todos los siguientes deben tener también un valor por defecto y omitirse en la llamada. Los argumentos de salida se definen en los procedimientos almacenados para que puedan devolver valores a la aplicación que los llama. Se declaran en la cabecera pudiéndose usar en cualquier punto del cuerpo. CREATE PROCEDURE procedimiento [({arg_entrada <tipo> [= valor_defecto]}[, ] )] argumentos de entrada. [RETURNS ({arg_salida <tipo>}[, ] )] argumentos de salida. CREATE PROCEDURE procedimiento (entrada INTEGER=0) RETURNS (salida INTEGER) DECLARE VARIABLE variable INT; variable = entrada /2; salida =variable; OLD y NEW son exclusivos de los triggers. OLD contiene los valores de la fila para la que se activa el trigger antes de la modificación o borrado. NEW los valores de la fila modificados o insertados. Estas variables se verán con más detenimiento con los triggers Sentencias básicas. En PSQL existe la sentencia bloque, es decir, aquella que permite definir en su interior otras sentencias. En PSQL es.. Se usa tanto para el bloque principal como para otros internos. En PSQL se trabaja con la sentencia condicional IF THEN. ELSE. Ésta tiene como sintaxis: IF (<condicion>) THEN <sentencia compuesta> [ELSE <sentencia compuesta>] <sentencia compuesta> = {<bloque> <sentencia>;} La cláusula <condicion> es un predicado que se evalua a true o false. Si vale true se ejecuta la sentencia del THEN. Si vale false se evalua, si existe, la sentencia del ELSE. Podemos utilizar cualquier predicado. Por ejemplo podríamos tener: IF (EXISTS (select * from accionistas where cod_accta=:cod)) THEN var= BUENA ; IF (nombre in ( PEDRO, JUAN )) THEN var= nombre; ELSE Vicente Tejero Trueba Pag 4 IES Pedro Espinosa

7 var= desconocido ; En PSQL se define una sentencia de tipo bucle: WHILE DO. WHILE (<condicion>) DO <sentencia compuesta> <sentencia compuesta> = {<bloque> <sentencia>;} Por ejemplo podríamos tener, el siguiente procedimiento que suma todos los números desde el 0 hasta el que se indica como parámetro de entrada: CREATE PROCEDURE SUMA (i INTEGER) RETURNS (su INTEGER) su=i; i=i-1; WHILE (i>0) DO su=su+i; i=i-1; Cursores. Un cursor es un elemento que nos permite obtener los valores de una fila perteneciente a un conjunto de salida obtenido a partir de una sentencia SELECT. En Firebird se trabaja tanto con cursores explícitos, definidos explícitamente, como con cursores implícitos, aparecen por debajo de una sentencia sin que nos demos cuenta. En los cursores implícitos nos encontramos con: - SELECT. INTO..: Se usa para asignar los campos de la única fila obtenida en una sentencia a unas variables. Es semejante a una asignación en la que la expresión se obtiene de la sentencia SELECT. SELECT first 1 cod_accta, nom_accta FROM accionistas sólo puede devolver una fila INTO :var_codigo, :var_nombre -- se almacenan los campos en las variables indicadas La sentencia SELECT debe devolver como máximo una sóla línea. Se deben indicar tantas variables como campos se devuelvan. - FOR SELECT: Se utiliza para recorrer una sentencia SELECT que devuelve una o más filas realizando operaciones sobre los datos devueltos. FOR SELECT <lista columnas> FROM. INTO <lista variables> DO <sentencias> [SUSP;] Vicente Tejero Trueba Pag 5 IES Pedro Espinosa

8 En este caso se deben indicar tantas variables y del mismo tipo como columnas devuelva la sentencia. Por ejemplo podemos tener un procedimiento que obtiene la máxima cotización para un banco dado y actualiza el valor en la tabla bancos. CREATE PROCEDURE ACT_PRE_MAX (banco INTEGER) DECLARE VARIABLE MAXIMO NUMERIC(12,2); DECLARE VARIABLE VALOR NUMERIC(12,2); MAXIMO =0; FOR SELECT pre_ac_fe FROM cotizaciones WHERE cod_banco=:banco INTO :VALOR DO IF (VALOR>MAXIMO) THEN VALO=MAXIMO; UPDATE BANCOS SET PRE_MA_AC=:MAXIMO WHERE COD_BANCO=:BANCO; ^ - EXECUTE STATEMENT. INTO: Es equivalente a SELECT INTO con la diferencia de que aquí lo que se indica es una cadena que contiene la sentencia a ejecutar. Esto nos permite definir sentencias dinámicas. sentencia = select first 1 cod_banco from bancos ; --crea la sentencia en tiempo de ejecución EXECUTE STATEMENT sentencia INTO :codigo; -- se ejecuta la sentencia almacenando el resultado en una variable Mediante esta sentencia se pueden ejecuta sentencias que no devuelven filas como INSERT, UPDATE, DELETE, EXECUTE PROCEDURE y cualquier sentencia DDL excepto las de CREATE/DROP DATABE. Se tiene que tener en cuenta que dentro de un módulo no es posible ejecutar sentencias DDL directamente. Por ejemplo para ejecutar un procedimiento que se pasa como parámetro podríamos tener: CREATE PROCEDURE EJECU_PROCE(PROCE VARCHAR(30)) DECLARE VARIABLE SENTENCIA VARCHAR(1000); SENTENCIA = EXECUTE PROCEDURE PROCE; EXECUTE STATEMENT SENTENCIA; ^ - FOR EXECUTE STATEMENT: Al igual que FOR SELECT permite recorrer las filas devueltas al ejecutar una sentencia. FOR EXECUTE STATEMENT sentencia INTO <lista variables> DO <sentencias> Vicente Tejero Trueba Pag 6 IES Pedro Espinosa

9 Cuando usemos esta sentencia tenemos que tener en cuenta que debemos garantizar que la cadena que generemos sea correcta, puesto que, a diferencia de FOR SELECT, la sentencia no es validada en el momento de definir el procedimiento. También tenemos que tener en cuenta que la sentencia se ejecutará de forma má lenta ya que tiene que ser compilada cada vez que se vaya a ejecutar. Por ejemplo si queremos crear un procedimiento que concatene un campo cadena de una tabla podríamos tener: CREATE PROCEDURE CONCATENAR (TABLA VARCHAR(30), CAMPO VARCHAR(30)) RETURNS (CADENA VARCHAR(2000)) DECLARE VARIABLE SENTENCIA VARCHAR(1000); DECLARE VARIABLE VALOR VARCHAR(1000); CADENA= ; SENTENCIA = SELECT CAMPO FROM TABLA; FOR EXECUTE STATEMENT SENTENCIA INTO :VALOR DO CADENA = CADENA, +VALOR; ^ Mediante la sentencia FOR SELECT es posible definir los procedimientos almacenados seleccionables, es decir, aquellos que pueden actuar como tablas en sentencias SELECT, en contraposición con los procedimientos almacenados ejecutables que son aquellos que ejecutan una operación programada. Un procedimiento almacenado ejecutable se obtiene con la inclusión de una sentencia SUSP dentro del bucle DO. Esto causa que, una vez asignadas las variables correspondientes al cursor, el bucle se pare hasta que la fila sea recogida por el servidor. Por ejemplo si queremos un procedimiento que devuelva un nombre propio para cada banco podríamos tener: CREATE PROCEDURE MIS_BANCOS () RETURNS (COD_BANCO INT, MI_NOMBRE VARCHAR(100)) FOR SELECT COD_BANCO,NOM_BANCO FROM BANCOS INTO :COD_BANCO, MI_NOMBRE DO MI_NOMBRE= EL BANCO ES MI_NOMBRE; SUSP; ^ Se podría llamar select * from MIS_BANCOS() Los cursores explícitos son aquellos que se definen de forma explícita mediante una sentencia de declaración. En Firebird nos encontramos con las siguientes sentencias de gestión de cursores: Vicente Tejero Trueba Pag 7 IES Pedro Espinosa

10 DECLARE [VARIABLE] <nombre cursor> CURSOR FOR ( <sentencia select> ); OPEN < nombre cursor >; FETCH < nombre cursor > INTO <variable> [, <variable>...]; CLOSE < nombre cursor >; Con los cursores explícitos se tienen que tener una serie de consideraciones: - Dos cursores no pueden tener el mismo nombre aunque si un cursor y una variable. Los nombres de cursores deben ser únicos. - Intentar hacer un fetch (devolver los valores para la fila actual) en un cursor no abierto da un error. - Se usa ROW_COUNT para comprobar si fetch devuelve o no filas. Por ejemplo el procedimiento MIS_BANCOS mediante cursores podría ser: CREATE PROCEDURE MIS_BANCOS () RETURNS (COD_BANCO INT, MI_NOMBRE VARCHAR(100)) DECLARE MI_CURSOR CURSOR FOR SELECT COD_BANCO,NOM_BANCO FROM BANCOS declaro el cursor para la sentencia ^ OPEN MI_CURSOR; -- abro el cursor. FETCH MI_CURSOR INTO :COD_BANCO, MI_NOMBRE; --obtengo los valores para la fila WHILE (ROW_COUNT>0) DO MI_NOMBRE= EL BANCO ES MI_NOMBRE; SUSP; FETCH MI_CURSOR INTO :COD_BANCO, MI_NOMBRE; CLOSE MI_CURSOR; -- cierro el cursor Sentencias de control de flujo. Firebird proporciona varias sentencias que afectan al control de flujo: - SUSP: ya se ha comentado anteriormente. - EXIT: Hace que se vaya al final de un procedimiento. - : Finaliza la ejecución. Según se tenga un procedimiento ejecutable, seleccionable o un trigger estas sentencias pueden trabajar con ciertos matices: MODULO SUSP EXIT Procedimiento seleccionable Devuelve los Se suspende la ejecución hasta que la aplicación solicite un nuevo registro al procedimiento valores (si los hay) y salta al final Procedimiento Salta al final (no se Salta al ejecutable aconseja) final trigger No se usa Salta al final Devuelve el control a la aplicación y pone SQLCODE a 100 Devuelve los valores y pasa el control a la aplicación. Hace que se ejecute el siguiente trigger en la misma fase (AFTER o BEFORE)si hay. En otro caso termina el trigger. Vicente Tejero Trueba Pag 8 IES Pedro Espinosa

11 Además de los anteriores se tiene la sentencia LEAVE. Se usa en los bucles para salir de ellos. Hace que se pase a la siguiente sentencia fuera del bucle. CONT=0; WHILE (1=1) DO -- esta codición supone un bucle infinito. CONT=CONT+1; IF (CONT>9) THEN LEAVE; -- solo se puede salir mediante LEAVE... cuando se ejecuta LEAVE se va a la siguiente sentencia Ejecución de código. En PSQL es posible ejecutar directamente procedimientos almacenados, sentencias y más recientemente bloques de código. Un procedimiento almacenado se ejecuta mediante la sentencia EXECUTE PROCEDURE. EXECUTE PROCEDURE procedimiento [(] [argumento [,.]] [)] [RETURNING_VALUES variable[, ]; Esta sentencia permite llamar a un procedimiento almacenado indicando valores para los argumentos de entrada. Si se definen argumentos de salida se pueden devolver los valores en las variables indicadas. EXECUTE PROCEDURE suma 5 RETURNING_VALUES :resultado; -- se llama al procedimiento suma visto en ejemplos anteriores. Recientemente Firebird ha incluido la sentencia EXECUTE BLOCK. Esta sentencia no es realmente una sentencia de PSQL aunque hace que un PSQL dinámico esté disponible en una sentencia SELECT. Tiene el efecto de que un bloque de código de PSQL se pueda ejecutar en una sentencia de DSQL como si fuera un procedimiento almacenado. Su sintaxis es: EXECUTE BLOCK [ (parámetro tipo =?[, parametro tipo =?...) ] [ RETURNS (parametro tipo[, param datatype...]) ] [DECLARE VARIABLE var datatype;...] Eventos. Los eventos son un mecanismo por el que desde Firebird se pueden enviar señales a las aplicaciones para notificar cualquier suceso de forma asíncrona, es decir, sin que la aplicación tenga que estar a la espera. Se envían eventos mediante: Vicente Tejero Trueba Pag 9 IES Pedro Espinosa

12 POST_EVENT evento; Vicente Tejero Trueba Pag 10 IES Pedro Espinosa

13 3.- PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un módulo escrito en PSQL, compilado por el interprete de lenguaje binario de Firebird y almacenado como código ejecutable en los metadatos de la base de datos. Una vez compilado, el procedimiento puede ser invocado directamente desde una aplicación u otro módulo PSQL usando EXECUTE PROCEDURE o una sentencia SELECT. Se distinguen dos tipos de procedimientos almacenados: - Ejecutables: Son los procedimientos que se llaman con la sentencia EXECUTE PROCEDURE y que pueden devolver, opcionalmente, una única fila de uno o más valores. Se usan a menudo para realizar operaciones de inserción, actualización o borrado, o para larzar un conjunto de operaciones. - Seleccionable: Los procedimientos seleccionables son escritos con extensiones del lenguaje para generar un conjunto de salida de múltiples filas que es devuelto usando una sentencia SELECT. En principio no se hace distinción entre procedimiento ejecutable o seleccionable. Cuando son llamados, y no se ajustan a la forma de llamada, el sistema genera una excepción. Es por tanto función del programador garantizar que se usan de la forma apropiada. Un procedimiento se crea mediante la sentencia CREATE PROCEDURE: CREATE PROCEDURE procedimiento [(argumento tipo[{= DEFAULT} valor] [, argumento tipo[{= DEFAULT} valor] )] [RETURNS (argumento tipo [, argumento tipo ])] aquí empieza el cuerpo [DECLARE [VARIABLE] variable tipo[{= DEFAULT} valor]; <sentencias> <terminador> Como se ve se pueden indicar una lista de argumentos de entrada a los que se les pueden asignar valores por defecto. En este caso todos los siguientes argumentos de entrada deben tener también definidos valores por defecto. Se puede indicar uno o mas argumentos de salida mediante la cláusula RETURNS. Se pueden declarar variables antes del bloque principal. Por ejemplo podríamos tener CREATE PROCEDURE PRUEBA (entrada integer = 10) se define un argumento de entrada con valor por defecto 10 RETURNS (salida integer) -- se define un argumento de salida DECLARE VARIABLE NUEVA INTEGER=3; -- declaramos una variable local /* Procedure body */ nueva=nueva+entrada+5; -- usamos las variables locales y los argumentos salida=nueva; -- se rellena un argumento de salida SUSP; -- se envia la fila a la aplicación que lo llame. Vicente Tejero Trueba Pag 11 IES Pedro Espinosa

14 El anterior procedimiento se podría llamar como: select * from prueba se llama como procedimiento seleccionable sin rellenar los argumentos select * from prueba(5) se llama al procedimiento seleccionable indicando el argumento o como procedimiento ejecutable dentro de otro.. DECLARE VARIABLE varia integer;. execute procedure prueba(3) RETURNING_VALUES (varia);. En este caso la llamada al procedimiento ha funcionado tanto como seleccionable como ejecutable ya que devolvía como máximo una fila. Si el procedimiento se hubiera definido para que devolviera mas de una fila (Sentencia suspend dentro de un for select, ) nos habría dado una excepción al llamarlo mediante EXECUTE PROCEDURE. Una ventanja de los procedimientos almacenados es que se pueden definir de forma recursiva, es decir, se pueden llamar a sí mismos. En Firebird se establecen varios mecanismos para modificar un procedimiento almacenado: {CREATE ALTER RECREATE CREATE OR ALTER} PROCEDURE procedimiento [(argumento tipo[{= DEFAULT} valor] [, argumento tipo[{= DEFAULT} valor] )] [RETURNS (argumento tipo [, argumento tipo ])] aquí empieza el cuerpo [DECLARE [VARIABLE] variable tipo[{= DEFAULT} valor]; <sentencias> <terminador> ALTER es el método de más bajo imparto para cambiar un procedimiento ya que, si ho hay dependencias que se vean afectadas, se puede ejecutar sin problemas. Para que se pueda ejecutar debe existir previamente el procedimiento. RECREATE es idéntico a CREATE con la adicción de que previamente hace un DROP PROCEDURE. En este caso se producirán excepciones si existen dependencias (no se puede borrar el objeto si antes no se eliminan las dependencias). CREATE OR ALTER crea un procedimiento si no existe. Si ya existe ejecuta una operación ALTER. Un procedimiento se borra mediante DROP PROCEDURE procedimiento. Un procedimiento sólo lo puede borrar el usuario SYSDBA o el propietario del procedimiento. Además, para que se pueda realizar, no puede estar siendo usado en ninguna transacción ni tener dependencias en otros objetos de la base de datos. Si el procedimiento es recursivo se necesita borrar en primer lugar la llamada a sí mismo. Vicente Tejero Trueba Pag 12 IES Pedro Espinosa

15 4.- TRIGGERS Un trigger o disparador es un módulo que se ejecuta de forma automática cuando se cambia el estado de una fila como respuesta a una petición. Los triggers no se pueden invocar por aplicaciones u otros procedimientos. Además, no pueden tener argumentos de entrada o salida. Los triggers se ejecutan a nivel de fila, una por cada imagen de fila cambiada y se establece un alto grado de granularidad en cuanto a cuando, en que orden condiciones se dispara un trigger particular. Esto se establece mediante la fase, evento y secuencia. Un trigger se puede ejecutar en una de dos fases relativas a la ejecución de la petición de cambio realizada: antes (befote) de escribir o después (alter). En un trigger es posible definir esta fase en relación a un evento (inserción, actualización o borrado) o a varios de ellos. En resumen tenemos que: Tipo trigger BEFORE INSERT AFTER INSERT BEFORE UPDATE AFTER UPDATE BEFORE DELETE AFTER DELETE BEFORE <evento> OR <evento> [OR <evento>] AFTER <evento> OR <evento> [OR <evento>] Descripción Se lanza antes de que se cree una nueva fila. Permite que se puedan cambiar los valores de entrada Se dispara después de que se cree una nueva versión del registro. No se permite cambiar los valores de entrada. Normalmente se usa para modificar otras tablas Se dispara antes de que se cree una nueva versión del registro. Se permiten cambios en los valores de entrada Se lanza después de que se cree una nueva versión del registro. No se permiten cambios en los valores de entrada. Normalmente se usa para modificar otras tablas Se lanza antes de que una fila existente se borre. No acepta cambios a ninguna columna en la fila. Se dispara después de que una fila es borrada. Nose aceptan cambios a ninguna columna en la fila. Normalmente se usa para modificar otras tablas. Se dispara antes de que se ejecute cualquier cambio en el estado del dato. Se codifican las acciones de forma condicional. Se pueden hacer cambios en las columnas de la fila afectada salvo que sea una acción de borrado Se dispara después de que se ejecute cualquier cambio en el estado del dato. Se codifican las acciones de forma condicional. No se pueden hacer cambios de la fila afectada. Firebird permite ejecutar múltiples triggers para cada combinación fase/evento. Para establecer el orden en el que se ejecutan se define un número de secuencia. Por defecto vale 0. Si se indican números de secuencia se ejecutan los triggers en orden ascendente. Cuando varios triggers tienen definidos el mismo número de secuencia, se establece un orden alfabético por sus nombres. Un trigger puede estar activo o inactivo. Sólo se disparan los triggers activos. El estado se puede modificar mediante la sentencia ALTER. Un trigger se crea mediante la sentencia CREATE TRIGGER: CREATE TRIGGER nombre FOR {tabla vista} [ACTIVE INACTIVE ] Vicente Tejero Trueba Pag 13 IES Pedro Espinosa

16 {BEFORE AFTER } {{DELETE INSERT UPDATE } { DELETE OR {[INSERT [OR UPDATE]} {INSERT OR [ ]} {UPDATE OR [ ]}}} [POSITION numero] aquí empieza el cuerpo del trigger [DECLARE [VARIABLE] variable tipo[{= DEFAULT} valor]; <sentencias> <terminador> Si usamos la sintaxis BEFORE INSERT OR DELETE OR UPDATE, se puede usar, dentro del cuerpo, las variables de contexto INSERTING, UPDATING y DELETING que indican ante que tipo de evento se está respondiendo. Además de las variables anteriores, PSQL aporta las variables OLD y NEW. Contienen respectivamente los valores de las columnas existentes y los nuevos. No siempre están disponibles. Por ejemplo ante un evento DELETE, solo tenemos valores OLD mientras que ante un INSERT solo tenemos NEW. Los triggers se usan para proporcionar valores por defecto, validar y transformar entradas del usuario, actualizar otras tablas relacionadas o para garantizar reglas de integridad. CREATE TRIGGER BI_BANCOS FOR BANCOS BEFORE INSERT new.nom_banco=upper(new.nom_banco); -- pasamos a mayúsculas el nombre de banco Un uso muy común de los triggers es implementar las columnas autonuméricas haciendo uso de un generador. Por ejemplo si tubieramos un generador llamado gen_cod_banco para generar codigos de bancos para la tabla bancos podríamos tener el trigger: CREATE TRIGGER BI_BANCOS FOR BANCOS BEFORE INSERT IF (new.cod_banco is null) then si no se ha indicado un cod_banco new.cod banco=gen_id(gen_cod_banco,1); --se recoge el cod_banco del generador Un trigger puede ser modificado mediante las sentencia ALTER TRIGGER y CREATE OR ALTER TRIGGER. Ambas tienen una sintaxis semejante a la de CREATE TRIGGER con la única diferencia que en ALTER TRIGGER no se indica la tabla sobre la que se trabaja: {{CREATE TRIGGER nombre} {CREATE OR ALTER TRIGGER nombre FOR {tabla vista}}} [ACTIVE INACTIVE ] {BEFORE AFTER } {{DELETE INSERT UPDATE }.. Vicente Tejero Trueba Pag 14 IES Pedro Espinosa

17 Los triggers se borran mediante la sentencia DROP TRIGGER nombre; Vicente Tejero Trueba Pag 15 IES Pedro Espinosa

18 5.- EXCEPCIONES PSQL aporta un mecanismo para la gestión de errores. De forma estándar los módulos gestionan las excepciones parando la ejecución, deshaciendo el trabajo hecho desde la sentencia inicial y pasando uno o más mensajes de error. Una excepción puede ocurrir por: - Error SQL: Mensajes SQL con código negativo de SQLCODE. Además se tienen otros códigos SQLCODE que no representan error como el 0 (ejecutado correctamente) o el 100 (detectado fin de fichero). - Errores internos de Firebird: Tienen que ver con concurrencia, datos, metadatos y condiciones del entorno. Tienen un código de error de nueve dígitos, normalmente empezando por 3355, que identifica de forma única el GDSCODE. Un mismo SQLCODE puede ser descompuesto en varios GDSCODE de forma que éte último nos da una información mas precisa sobre el error producido. Cuando ocurre una excepción se pueden trabajar muchas veces con ambos: SQLCODE y GDSCODE. Por ejemplo podríamos tener el GDSCODE usrname_too_long, el password_too_long, usrname_required, etc, todos bajo el mismo SQLCODE, el Excepciones de usuario: Son objetos creados en la base de datos y que se invocan cuando se cumple una condición determinada. Como se ve, una excepción no es más que un mensaje que se genera cuando se produce un error. Todas las excepciones predefinidas (SQLCODE y GDSCODE) tiene mensajes de texto asociados. Una excepción definida por el usuario se crea mediante CREATE EXCEPTION. CREATE EXCEPTION <nombre> <mensaje>; En donde nombre es un identificador de cómo máximo 31 caracteres y mensaje una cadena con conjunto de caracteres NONE. Por ejemplo podríamos tener: CREATE EXCEPTION BANCO_ERRONEO El nombre del banco no válido ; Se puede borrar una excepción (DROP EXCEPTION <nombre>) o modificar una existente (ALTER EXCEPTION <nombre> <mensaje>). Las excepciones definidas internamente son lanzadas por el sistema en respuesta a errores que requieren que se pare la ejecución. Éstas cubren un gran rango de condiciones incluyendo violaciones de restricciones de integridad, desbordamientos aritméticos y de cadena, referencias a objetos no existentes, corrupción de datos, etc. Las excepciones GDSCODE y SQLCODE son las mismas que nos encontramos cuando se produce un error al ejecutar una sentencia de DSQL. Las excepciones de usuario, sólo disponibles en módulos PSQL, son usadas para codificar nuestros propios errores en la lógica de los programas. De esta forma podríamos encontrarnos con un trigger usado para validar el nombre de un banco insertado o modificado: CREATE TRIGGER BI_BANCOS FOR BANCOS trigger para validar el nombre del banco BEFORE INSERT OR UPDATE Vicente Tejero Trueba Pag 16 IES Pedro Espinosa

19 ^ IF (NEW.NOM_BANCO NOT CONTAINING BANCO ) THEN si el nombre no cumple la condición EXCEPTION BANCO_ERRONEO; lanzo la excepción de usuario. Como se ve en este ejemplo, se puede lanzar una excepción mediante la sentencia EXCEPTION: EXCEPTION [<nombre excepcion> [<mensaje en tiempo ejecución>]] Si usamos esta sentencia sin ningún parámetro se puede relanzar la excepción para que la gestione otro bloque. Otro uso posible es la de asignarle el mensaje directamente en tiempo de ejecución. Además de poder lanzar nuestras propias excepciones Firebird aporta un mecanismo para gestionar, dentro de un módulo, las excepciones generadas y así poder continuar con la ejecución de nuestro código. Esto se consigue mediante la sentencia WHEN: WHEN {<nombre excepcion> GDSCODE codigo SQLCODE codigo ANY } DO <sentencias> Mediante la sentencia WHEN se cambia el mecanismo estándar de gestión de errores. Asi cuando se produce una excepción se para la ejecución del bloque en el que se produce. En lugar de pasar la ejecución a la sentencia final, se inicia un procedimiento de búsqueda de una sentencia WHEN que gestione la excepción, comenzando por el bloque donde se produjo el error y pasando a los bloques más externos. Una vez manejada la excepción se continua con la ejecución en la primera sentencia posterior al bloque de manejo de excepción ejecutado. Una sentencia WHEN siempre se tiene que ubicar inmediatamente antes de una sentencia (no puede haber otras sentencias entre ellas). CREATE TRIGGER BI_BANCOS FOR BANCOS trigger para validar el nombre del banco BEFORE INSERT OR UPDATE IF (NEW.NOM_BANCO NOT CONTAINING BANCO ) THEN si el nombre no cumple la condición EXCEPTION BANCO_ERRONEO; lanzo la excepción de usuario. ^ WHEN BANCO_ERRONEO DO capturo la excepcion y la gestiono. NEW.NOM_BANCO = BANCO NEW.NOM_BANCO; Firebird aporta dos variables de contexto para poder consultar el error producido: SQLCODE y GDSCODE. Estas variables se asignan de forma automática con el código de error permaneciendo en el bloque de gestión de error. Fuera de este bloque siempre valen 0. Vicente Tejero Trueba Pag 17 IES Pedro Espinosa

Un ejemplo teórico de trigger podría ser éste:

Un ejemplo teórico de trigger podría ser éste: 9. TRIGGERS EN LA BASE DE DATOS Un trigger (disparador sería la traducción técnica) es un bloque PLSQL que se ejecuta implícitamente cuando ocurre un evento y pueden ser de base de datos o de aplicación.

Más detalles

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008

SQL PROCEDURAL Triggers y Stored Procedures. Ing. Gustavo A. Correa Reina UNCPBA 2008 Base de Datos I SQL PROCEDURAL Triggers y Stored Procedures Ing. Gustavo A. Correa Reina UNCPBA 2008 SQL Procedural Posibilita el uso de código procedural conjuntamente con sentencias SQL que son almacenadas

Más detalles

Procedimientos, Funciones, Trigger y Cursores en ORACLE

Procedimientos, Funciones, Trigger y Cursores en ORACLE Procedimientos, Funciones, Trigger y Cursores en ORACLE PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de instrucciones en PL/SQL, que pueden ser llamados usando el nombre que se

Más detalles

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 1 SQL Jorge Pérez R. Universidad de Talca, II Semestre 2006 Bases de Datos SQL 2 SQL + Procedural La mayoría de los DBMS actuales permiten extensiones de SQL para la creación de bloques

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Oracle 12c DISEÑO Y PROGRAMACIÓN

Oracle 12c DISEÑO Y PROGRAMACIÓN Oracle 12c Se estudia el servidor de bases de datos empresarial Oracle 12c, centrándose especialmente en el punto de vista de un diseñador o programador de bases de datos, pero explicando también cómo

Más detalles

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

Repaso. Laboratorio Informix. Stored Procedures. Ejemplo. Creación de stored procedures. Sql en un Procedimiento Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

1. DML. Las subconsultas

1. DML. Las subconsultas 1.1 Introducción 1. DML. Las subconsultas Una subconsulta es una consulta que aparece dentro de otra consulta o subconsulta en la lista de selección, en la cláusula WHERE o HAVING, originalmente no se

Más detalles

Laboratorio Informix. Stored Procedures Triggers

Laboratorio Informix. Stored Procedures Triggers Laboratorio Informix Stored Procedures Triggers Repaso A partir del ER, hicimos las tablas de la base de datos. Creamos en MySql las base de datos y las tablas Hicimos una aplicación que se comunica con

Más detalles

- Bases de Datos - - Diseño Físico - Luis D. García

- Bases de Datos - - Diseño Físico - Luis D. García - Diseño Físico - Luis D. García Abril de 2006 Introducción El diseño de una base de datos está compuesto por tres etapas, el Diseño Conceptual, en el cual se descubren la semántica de los datos, definiendo

Más detalles

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

Sistemas de Datos Curso: Ernesto Chinkes. Subconsultas Stored Procedures - Triggers Subconsultas Stored Procedures - Triggers Subconsultas Concepto Ubicación En el SELECT En el FROM En el WHERE Operadores IN ANY-ALL EXISTS Concepto Son sentencias SELECT que aparecen dentro de otra consulta

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html

Enlaces relacionados: http://otn.oracle.com/tech/pl_sql/index.html 1.INTRODUCCION PL/SQL (Procedural Language ó Programming Language, según distintas fuentes, aunque la oficial es la primera) es el lenguaje utilizado por Oracle como extensión al SQL, y que nos va a permitir

Más detalles

Oracle básico (IV): Programación en PL/SQL

Oracle básico (IV): Programación en PL/SQL Oracle básico (IV): Programación en PL/SQL El lenguaje de programación de Oracle, llamado PL/SQL, es un lenguaje portable, procedural y de transacción muy potente y de fácil manejo, con las siguientes

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

[email protected] 1

abacformacio@abacformacio.com 1 Cu Oracle 10gg Estudia el servidor de bases de datos Oracle 10g desde el punto de vista de un diseñador y programador de bases de datos, prestando atención a los objetos que puede crear, como tablas, consultas

Más detalles

Base de datos Procedimientos Almacenados y Funciones

Base de datos Procedimientos Almacenados y Funciones Base de datos Procedimientos Almacenados y Eduardo Saavedra A. Universidad Nacional Andrés Bello 4 de noviembre de 2008 Contenidos Ventajas 1 Ventajas 2 3 4 5 Conceptos Ejemplo 6 Procedimiento Almacenado

Más detalles

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

LAS SUBCONSULTAS SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE LAS SUBCONSULTAS Una subconsulta es una consulta que aparece dentro de otra consulta o subconsultas, en

Más detalles

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo.

CONSULTAS CON SQL. 3. Hacer clic sobre el botón Nuevo de la ventana de la base de datos. Aparecerá el siguiente cuadro de diálogo. CONSULTAS CON SQL 1. Qué es SQL? Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas 18 de marzo de 2002 1 1. Introducción 2. El modelo evento-condición-acción Definición y uso de disparadores en Oracle Características de las reglas activas 3. Propiedades de las reglas activas 4. Aplicaciones

Más detalles

Programación SQL. Lucio Salgado Diciembre 2008

Programación SQL. Lucio Salgado Diciembre 2008 Programación SQL Lucio Salgado Diciembre 2008 1 Gestionadores de Bases de Datos (DBMS) Es el software que permite administrar bases de datos, a través de ella el usuario puede usar los datos con mucha

Más detalles

Procedimientos Almacenados con InterBase

Procedimientos Almacenados con InterBase Procedimientos Almacenados con InterBase Por Alfonso Ricaño Bringas Los Procedimientos Almacenados son otra característica interesante con la que cuenta InterBase. En este artículo muestro una introducción

Más detalles

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN Tipos de datos SQL admite una variada gama de tipos de datos para el tratamiento de la información contenida en las tablas, los tipos

Más detalles

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL.

2.6.2.- Aplicaciones de las vistas. 2.6.1.- Concepto de vista. 2.6.3.- Vistas en SQL. 2.6.3.- Vistas en SQL. 2.6.1.- Concepto de vista. Una vista es una tabla derivada de otras tablas (básicas o virtuales). Una vista se caracteriza porque: Se considera que forma parte del esquema externo. Una vista es una tabla

Más detalles

Restricciones de Integridad

Restricciones de Integridad Restricciones de Integridad Amparo López Gaona México, D.F. Semestre 2000-I Restricciones de Integridad Las principales restricciones de integridad que pueden indicarse son: La clave primaria. Claves candidatas.

Más detalles

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1 1. Cuáles de los siguientes enunciados son declaraciones válidas? 2. Cuál de

Más detalles

CURSORES EN SQL SERVER

CURSORES EN SQL SERVER Año del Centenario de Machu Picchu para el mundo CURSORES EN SQL SERVER Curso: IMPLEMENTACION DE BASE DE DATOS VII Ciclo Integrantes: Vásquez Paredes, Pablo Bustamante Auccasi, Janett Córdova Farfán, Carlos

Más detalles

Base de datos relacional

Base de datos relacional Base de datos relacional Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo más utilizado en la actualidad para modelar problemas reales y administrar

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000

UNIVERSIDAD DEL ISTMO CAMPUS IXTEPEC LIC. INFORMATICA GRUPO 508 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 PROCEDIMIENTOS ALMACENADOS EN SQL SERVER 2000 Creación de la base de Datos Pulsamos F5 para Actualizar, y una vez posicionados en nuestra base de datos,se crean los scripts que seran soportados por el

Más detalles

Modulo 1 El lenguaje Java

Modulo 1 El lenguaje Java Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto

Más detalles

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo

Más detalles

PRÁCTICA III. DISPARADORES EN SQL (II)

PRÁCTICA III. DISPARADORES EN SQL (II) PRÁCTICA III. DISPARADORES EN SQL (II) MODELOS AVANZADOS DE BASES DE DATOS CURSO 2000/2001 Objetivo Conocer mejor los disparadores en SQL. Se verá uno de los principales inconvenientes que se presentan

Más detalles

MANUALITO MS-SQL SERVER

MANUALITO MS-SQL SERVER MANUALITO MS-SQL SERVER Contenido 1. Crear Store Procedures en MS SQL Server... 1 2. Crear Triggers en MS SQL Server... 5 3. Crear Vistas en MS SQL Server... 9 1. Crear Store Procedures en MS SQL Server

Más detalles

CURSO DE SQL SERVER 2005

CURSO DE SQL SERVER 2005 CURSO DE SQL SERVER 2005 Una vez finalizado el curso, el alumno estará preparado para: Instalar y configurar SQL Server 2005. Comprender los conceptos más importantes del diseño de bases de datos. Crear

Más detalles

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas.

El usuario puede utilizar esta tabla derivada como una tabla más, en sus consultas. Vistas. El resultado de una consulta en el caso de SQL siempre es una tabla, ésta se puede hacer permanente dentro de la base de datos. En este caso se dice que esta tabla resultado es una vista o una

Más detalles

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES CASO PRÁCTICO DISTRIBUCIÓN DE COSTES Nuestra empresa tiene centros de distribución en tres ciudades europeas: Zaragoza, Milán y Burdeos. Hemos solicitado a los responsables de cada uno de los centros que

Más detalles

Curso PHP Módulo 1 R-Luis

Curso PHP Módulo 1 R-Luis Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.

Más detalles

Trey-SAT Pag. 1. Manual de usuario

Trey-SAT Pag. 1. Manual de usuario Trey-SAT Pag. 1 Manual de usuario Trey-SAT Pag. 2 Modulo SAT : Servicio de asistencia técnica TREY-SAT es un potente módulo para el servicio de asistencia técnica, completamente integrado a la Gestión

Más detalles

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...

Más detalles

ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS SQL SERVER T-SQL QUERY s es ADMINISTRADOR GRÁFICO SGBD Elementos objetos Tablas Procedimientos Triggers Funciones Usuarios Permiso Roles Contraseñas Programas DTS (Data Transfer System) Exportación e Importación

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 )

GALA CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) No Consultas. Definiciones Transacciones ( L33 ) Definiciones Transacciones ( L33 ) CONCEPTO COMMIT, ROOLBACK SAVEPOINTS (SAVE TRANSACTION) Transacciones En Microsoft ( L33 ) MANUAL (REQUIERE PROGRAMACION) AUTOMATICO (COM+ O DTM) DTM (DISTRIBUTED TRANSACTION

Más detalles

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...

Más detalles

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES)

Sistema de Gestión Académica TESEO. Revisión 1.0. Servicio de Informática Área de Gestión (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Sistema de Gestión Académica TESEO (GESTIÓN DE RESÚMENES DE TESIS DOCTORALES) Revisión 1.0 Servicio de Informática Área de Gestión Mayo de 2004 INDICE INDICE... 1 1 Introducción... 1 2 Procedimiento....

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

CONSULTAS DE RESUMEN SQL SERVER 2005. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN SQL SERVER 2005 Manual de Referencia para usuarios Salomón Ccance CCANCE WEBSITE CONSULTAS DE RESUMEN Una de las funcionalidades de la sentencia SELECT es el permitir obtener resúmenes

Más detalles

Estructura de Bases de datos. Leonardo Víquez Acuña

Estructura de Bases de datos. Leonardo Víquez Acuña Estructura de Bases de datos Leonardo Víquez Acuña Lenguajes de Bases de Datos Un sistema de bases de datos proporciona Un lenguaje de definición de datos para especificar el esquema de la base de datos

Más detalles

Trabajos de Ampliación. Bases de datos NoSQL.

Trabajos de Ampliación. Bases de datos NoSQL. BASES DE DATOS NoSql Son bases de datos pensadas para aplicaciones que hagan un uso intensivo de la misma. Estas bases de datos permiten una mayor flexibilidad y facilidad a la hora de introducir los datos

Más detalles

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5

APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APUNTES: APLICACIONES WEB BASADAS EN PHP Y MYSQL Página 1 de 5 APLICACIONES WEB BASADAS EN PHP Y MYSQL Una aplicación web es básicamente un programa escrito sobre una página web, generalmente en lenguaje

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE

GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19

Más detalles

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL. GUIA DE LABORATORIO # 5 Nombre de la Practica: Manipulación de datos Lugar de ejecución: Centro de Computo MATERIA: Base de Datos II CICLO: 02-2012 I. OBJETIVOS ESPECIFICOS Qué el estudiante: Manipule

Más detalles

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda: Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor

Más detalles

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online

Guías _SGO. Gestione administradores, usuarios y grupos de su empresa. Sistema de Gestión Online Guías _SGO Gestione administradores, usuarios y grupos de su empresa Sistema de Gestión Online Índice General 1. Parámetros Generales... 4 1.1 Qué es?... 4 1.2 Consumo por Cuentas... 6 1.3 Días Feriados...

Más detalles

Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado

Fórmulas. Objetivos y Definición. Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado 97 Objetivos y Definición Definir fórmulas nos brinda una forma clave de compartir conocimiento y obtener código generado optimizado Cuando el valor de un atributo o variable puede calcularse a partir

Más detalles

Introducción a la Firma Electrónica en MIDAS

Introducción a la Firma Electrónica en MIDAS Introducción a la Firma Electrónica en MIDAS Firma Digital Introducción. El Módulo para la Integración de Documentos y Acceso a los Sistemas(MIDAS) emplea la firma digital como método de aseguramiento

Más detalles

Oficina Online. Manual del administrador

Oficina Online. Manual del administrador Oficina Online Manual del administrador 2/31 ÍNDICE El administrador 3 Consola de Administración 3 Administración 6 Usuarios 6 Ordenar listado de usuarios 6 Cambio de clave del Administrador Principal

Más detalles

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP

Práctica GESTIÓN Y UTILIZACIÓN DE REDES LOCALES. Curso 2001/2002. TCP/IP: protocolo TCP Práctica 9 GESTIÓN Y UTILIZACIÓN DE REDES LOCALES Curso 2001/2002 TCP/IP: protocolo TCP Introducción Como se ha comentado en la práctica anterior, el protocolo UDP es muy sencillo de implementar, pero

Más detalles

CONSULTAS BASICAS EN SQL SERVER

CONSULTAS BASICAS EN SQL SERVER CONSULTAS BASICAS EN SQL SERVER CONSULTAS DE SELECCION Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta

Más detalles

Operación de Microsoft Word

Operación de Microsoft Word Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer

Más detalles

GENERACIÓN DE TRANSFERENCIAS

GENERACIÓN DE TRANSFERENCIAS GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Centro de Capacitación en Informática

Centro de Capacitación en Informática Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.

Más detalles

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES EL LENGUAJE SQL. INSTRUCCIONES DE DEFINICIÓN DE. INSTRUCCIONES DE INSERCIÓN, MODIFICACIÓN Y BORRADO.. CREACIÓN Y UTILIZACIÓN DE VISTAS... PROCEDIMIENTOS. EL LENGUAJE SQL 1 EL LENGUAJE SQL 2 SQL ES UN LENGUAJE

Más detalles

Tutorial Oracle SQL Developer 1.2.1

Tutorial Oracle SQL Developer 1.2.1 Tutorial Oracle SQL Developer 1.2.1 Departamento de Informática Índice Í0. Introducción...3 1. Conexión y desconexión de la base de datos...3 2. Ejecución de sentencias SQL...4 3. Creación de tablas...6

Más detalles

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ;

Sintaxis: CURSOR nombre_cursor[(param1 [IN] tipo1,... )] IS consulta ; 7. CONCEPTOS AVANZADOS DE CURSORES EXPLICITOS En este capítulo veremos algunas cosas bastante útiles respecto a los cursores explícitos, como pueden ser los cursores con parámetros (que nos permitirán

Más detalles

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin.

PHPMYADMIN Y MYSQL. Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PHPMYADMIN Y MYSQL Para gestionar la base de datos MySQL, lo haremos desde la aplicación PhpMyAdmin. PhpMyAdmin es una herramienta para la administración del servidor de base de datos MySQL que dispone

Más detalles

SIIGO Pyme. Templates. Cartilla I

SIIGO Pyme. Templates. Cartilla I SIIGO Pyme Templates Cartilla I Tabla de Contenido 1. Presentación 2. Qué es un Template? 3. Qué Aspectos se Deben Tener en Cuenta Antes de Diseñar o Modificar un Template? 4. Cuáles son las Formas que

Más detalles

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador

Más detalles

Bases de datos relacionales y el modelo entidad-relación

Bases de datos relacionales y el modelo entidad-relación Bases de datos relacionales y el modelo entidad-relación Qué es una base de datos relacional? El sistema gestor de bases de datos El modelo entidad-relación entidad, atributos y elementos (tablas, columnas

Más detalles

Sub consultas avanzadas

Sub consultas avanzadas Sub consultas avanzadas Objetivo Después de completar este capítulo conocerá lo siguiente: Escribir una consulta de múltiples columnas Describir y explicar el comportamiento de las sub consultas cuando

Más detalles

Tutorial Básico de vbscript

Tutorial Básico de vbscript Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así

Más detalles

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1

UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS LABORATORIO DE BASES DE DATOS 1 UNIVERSIDAD NACIONAL DE SAN AGUSTÍN FACULTAD DE PRODUCCIÓN Y SERVICIOS ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEM LABORATORIO DE BES DE DATOS 1 Prof. Marco Aedo Práctica de Laboratorio Nº 6 I. OBJETIVOS

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Curso SQL Nivel Avanzado 1. Miguel Jurado García

Curso SQL Nivel Avanzado 1. Miguel Jurado García Curso SQL Nivel Avanzado 1 Miguel Jurado García Temario Sesión 1: 1- Elementos de Sintaxis Uso de Variables Collation y las Fechas Construcción de Sentencias Dinámicas 2- SQL Server Management Studio Filtrado

Más detalles

Patrones para persistencia (I) Ingeniería del Software II

Patrones para persistencia (I) Ingeniería del Software II Patrones para persistencia (I) Ingeniería del Software II 1 Patrones para la construcción del esquema relacional En todos los ejemplos realizaremos transformaciones del siguiente diagrama de clases: Figura

Más detalles

Ejemplos de conversión de reales a enteros

Ejemplos de conversión de reales a enteros Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Diseño de bases de datos

Diseño de bases de datos Departamento de Lenguajes y Sistemas Informáticos E.T.S. Ingeniería Informática. Universidad de Sevilla Avda Reina Mercedes sn. 41012 Sevilla TlfFax 954 557 139 E-mail [email protected] Web www.lsi.us.es Diseño

Más detalles

Tema 1. Bases de datos activas

Tema 1. Bases de datos activas Tema 1. Bases de datos activas Diseño de Sistemas de Bases de Datos Merche Marqués 18 de marzo de 2002 Índice 1. Introducción 1 2. El modelo evento condición acción 1 2.1. Definición y uso de disparadores

Más detalles

Microsoft SQL Server 2005

Microsoft SQL Server 2005 Microsoft SQL Server 2005 Módulo 1: Diseño y programación Estudia el servidor de bases de datos SQL Server 2005 desde el punto de vista de un diseñador y programador de bases de datos, prestando atención

Más detalles

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 9. Reglas de Integridad FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA Tema 9. Reglas de Integridad 1.- Introducción. 2.- Claves Primarias. 3.- Regla de Integridad de Entidades. 4.- Claves Ajenas. 5.- Regla de Integridad

Más detalles

MATERIAL 2 EXCEL 2007

MATERIAL 2 EXCEL 2007 INTRODUCCIÓN A EXCEL 2007 MATERIAL 2 EXCEL 2007 Excel 2007 es una planilla de cálculo, un programa que permite manejar datos de diferente tipo, realizar cálculos, hacer gráficos y tablas; una herramienta

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

Iptables, herramienta para controlar el tráfico de un servidor

Iptables, herramienta para controlar el tráfico de un servidor Iptables, herramienta para controlar el tráfico de un servidor La seguridad es punto muy importante a tener en cuenta en cualquier organización de ahí que sea fundamental hacer uso de aquellos mecanismos

Más detalles

Manual del Protocolo XML-RPC de Mensajería Negocios

Manual del Protocolo XML-RPC de Mensajería Negocios Manual del Protocolo XML-RPC de Mensajería Negocios Índice de contenidos 1 INTRODUCCIÓN... 3 2 FUNCIONALIDADES DEL API DE COMUNICACIÓN XML-RPC... 4 2.1 Envío Libre... 4 2.2 Envío a Grupo de Contactos...

Más detalles

SAP Business Workflow

SAP Business Workflow SAP Business Workflow Eventos April 10, 2006 Objetivos del Curso Objetivos Son objetivos de este curso Eventos Entender que es un evento y como crear eventos Comprender los distintos tipos de eventos Saber

Más detalles

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación. Descripción de la semántica de ALFA En esta descripción sólo se mencionarán los aspectos en los que el lenguaje de programación ALFA pueda diferir de otros lenguajes de programación de alto nivel. Se sobreentienden

Más detalles

Manual de usuario SMS112. Sección de Ayuda al Desarrollo. Sección de Ayuda al Desarrollo. FECHA: 10/01/2012 VERSIÓN: v 1.0

Manual de usuario SMS112. Sección de Ayuda al Desarrollo. Sección de Ayuda al Desarrollo. FECHA: 10/01/2012 VERSIÓN: v 1.0 Manual de usuario SMS112 Sección de Ayuda al Desarrollo FECHA: 10/01/2012 VERSIÓN: v 1.0 Índice 1 Objetivo del Documento... 3 2 Descripción de la aplicación... 3 3 Perfiles de la aplicación... 3 4 Componentes

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

MANUAL COPIAS DE SEGURIDAD

MANUAL COPIAS DE SEGURIDAD MANUAL COPIAS DE SEGURIDAD Índice de contenido Ventajas del nuevo sistema de copia de seguridad...2 Actualización de la configuración...2 Pantalla de configuración...3 Configuración de las rutas...4 Carpeta

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2.

Hacer clic sobre la figura, para extraer todos los registros o presionar la tecla F2. b) Adicionar grados Para llevar a cabo esta operación el usuario deberá realizar los siguientes pasos: Recuperar la información, para realizar esta operación el usuario puede hacerla de las siguientes

Más detalles

Introducción a la Programación en MATLAB

Introducción a la Programación en MATLAB Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos

Más detalles

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. [email protected], [email protected]

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl El rol del lenguaje SQL en los SGBDR y en la Relacional. [email protected], [email protected] Resumen demandas de almacenamiento y procesamiento de datos. Es el conjunto de estas dos capacidades

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

MANUAL TRAMITACIÓN PROCEDIMIENTO

MANUAL TRAMITACIÓN PROCEDIMIENTO MANUAL TRAMITACIÓN PROCEDIMIENTO GESTIÓN ACADÉMICA: EXPEDICIÓN DE CERTIFICACIONES ACADÉMICAS Índice 1.- Introducción...3 2.- Esquema de tramitación...4 3.- Tramitación...5 Paso 1. Acceder al Escritorio

Más detalles