TRANSACCIONES, AISLAMIENTO Y CANDADOS. Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013
|
|
- Rocío Valverde Venegas
- hace 7 años
- Vistas:
Transcripción
1 TRANSACCIONES, AISLAMIENTO Y CANDADOS Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013
2 Ejemplo de una cuenta corriente RETIRO Ingrese retiro Lea saldo del cliente A Si saldo >= retiro saldo = saldo retiro grabe saldo suministre dinero Fin_SI CONSIGNACION Ingrese consignación Lea saldo del cliente A saldo = saldo + consignación grabe saldo
3 Operación sin control Saldo inicial del cliente A = 1000 Retira 800 Ingrese retiro Lea saldo del cliente A Si saldo >= retiro saldo = saldo retiro grabe saldo suministre dinero Fin_SI RETIRO retiro = 800 saldo = 1000 saldo = 200
4 Operación sin control Ingrese retiro Lea saldo del cliente A Si saldo >= retiro saldo = saldo retiro grabe saldo suministre dinero Fin_SI RETIRO Ingrese consigna Lea saldo del cliente A saldo = saldo + consigna grabe saldo CONSIGNACION Saldo inicial del cliente A = 1000 Retira 800 Retira 700 Retira 100 Consigna 300 retiro = 800 retiro = 700 retiro = 100 consigna = 300 saldo = 1000 saldo = 1000 saldo = 1000 saldo = 1000 saldo = 200 saldo = 300 saldo = 900 saldo = 1300
5 Operación con control Ingrese retiro Lea saldo del cliente A Si saldo >= retiro saldo = saldo retiro grabe saldo suministre dinero Fin_SI RETIRO Ingrese consigna Lea saldo del cliente A saldo = saldo + consigna grabe saldo CONSIGNACION Saldo inicial del cliente A = 1000 Retira 800 Retira 700 Retira 100 Consigna 300 retiro = 800 retiro = 700 retiro = 100 consigna = 300 saldo = 1000 Espere Espere Espere saldo = 200 Espere Espere Espere saldo = 200 saldo = 200 Espere saldo = 100 saldo = 100 saldo = 400
6 Transacciones Una transacción es una o más sentencias que se toman como una unidad (todo termina bien o todo se aborta) Una transacción es una unidad lógica de trabajo Definida para las reglas del negocio Típicamente incluye al menos una modificación de datos Pasa la base de datos de un estado consistente a otro Una transacción tiene dos posibles salidas: Committed Todas las modificaciones quedan en firme Rolled back Las modificaciones retornan a su estado inicial
7 Rol de las transacciones Proteger los datos de las fallas del software, hardware, y potencia eléctrica Permitir el aislamiento de datos de tal forma que varios usuarios pueden acceder simultáneamente a los datos sin interferencia
8 Cuándo usar transacciones? Cuando un conjunto de sentencias se deben comportar como una unidad
9 Sentencias para transacciones Cuatro sentencias definen la estructura de una transacción: begin tran commit tran rollback tran save
10 begin tran y commit tran begin tran Inicia la transacción commit tran Finaliza la transacción Todas las modificaciones quedan en firme
11 begin tran y commit tran Sintaxis: begin { tran transaction } [ transaction_name ] commit [ tran transaction work ] [ transaction_name savepoint_name ]
12 rollback tran rollback tran termina una transacción Deshace las modificaciones que se hayan hecho La ejecución continua con la instrucción siguiente a rollback
13 Sintaxis para rollback tran Sintaxis: rollback [ tran [ transaction_name savepoint_name ] transaction [ transaction_name savepoint_name ] work [ transaction_name savepoint_name ] ]
14 save save crea un nombre de un punto de grabación Es una extensión SQL que permite rollbacks parciales
15 Sintaxis para save Sintaxis: save { transaction tran } savepoint_name
16 Transacciones anidadas Se pueden tener transacciones anidadas: El begin y commit más externos comienzan y finalizan las transacciones Las sentencias begin y commit internos solamente guardan un registro del nivel de anidamiento
17 Transacciones y el log de transacciones El registro de transacciones almacena los efectos de cada insert, update y delete El sistema utiliza el registro de transacciones para rehacer las transacciones que se reversaron Se registra el comienzo de una transacción, los commits y rollbacks Si un servidor falla durante una transacción, no hay registro de un rollback o commit Durante la recuperación (recovery), las modificaciones en transacciones sin un registro de rollback o commit no tendrán efecto. Si las modificaciones fueron grabadas en disco, se revertirán.
18 Modo de transacción Un modo de transacción especifica cómo el servidor debe definir las transacciones Dos modos de transacción Unchained Chained
19 Modo unchained En modo unchained, se requiere explícitamente de una sentencia begin tran También se requiere de commit tran o rollback tran explícitos Sintaxis: Set chained off
20 Modo chained En modo chained, el servidor ejecuta un begin implícito antes de: Sentencias DML insert, update, delete, select Sentencias de Cursor open, fetch Se requiere de commit tran o rollback tran explícitos Este modo es ANSI compliant Sintaxis: Set chained on
21 Necesidad de aislamiento En ambientes multiusuario, las transacciones acceden a los datos simultáneamente Datos que no estén aislados pueden estar errados
22 Bloqueo (locking) Mecanismo automático que aisla los datos para prevenir conflictos de los datos que se están modificando
23 Estructura interna de una tabla
24 Alcance de los candados El alcance de un candado determina cuántos datos se aislan Tres alcances
25 Tipos de candados El tipo de candado determina la extensión del aislamiento de datos de otras transacciones Tres tipos de candados Shared Exclusive Update
26 Candados Shared Usado por sentencias que leen datos (selects) Otros procesos pueden leer los datos (coloca candado shared), pero ningún proceso puede cambiar los datos (coloca candado exclusive)
27 Candados exclusive Usado por sentencias que cambian datos (inserts, updates, deletes) Ningún otro proceso puede leer los datos (coloca candado shared) o cambiar los datos (coloca candado exclusive sobre la página)
28 Candados update Usado por operaciones que pueden o no cambiar los datos (updates, deletes) Cuando el proceso primero escanea los datos, le aplica un candado update. Otros procesos pueden colocar candados shared, pero ningún proceso puede colocar candados exclusive o update
29 Resúmen de tipos de candados Shared (S) Exclusive (X) Statements That Impose This Lock select insert, update*, delete* If Data Already Has an S Lock Place another S lock Wait for lock to be released If Data Already Has an X Lock Wait for lock to be released Wait for lock to be released If Data Already Has a U Lock Place another S lock Wait for lock to be released Scopes for Which This Lock Exists Row, page, table Row, page, table Update (U) update, delete Place the U lock Wait for lock to be released Wait for lock to be released Page *Updates y deletes usan candados exclusive solamente para encontrar los datos que necesitan modificar
30 Deadlock
31 Resolución del deadlock
32 Esquema de bloqueo Esquema de bloqueo es un atributo de la tabla que determina qué datos asociados con la tabla están bloqueados
33 bloqueo allpages Se pueden bloquear las páginas de índices El servidor usa candados de tabla y candados de página, pero no candados de fila
34 Bloqueo datapages Las páginas de índices nunca se bloquean El servidor usa candados de tabla y candados de página, pero no candados de fila
35 Bloqueo datarows Las páginas de índices nunca se bloquean El servidor usa candados de tabla, candados de página y candados de fila
36 Fijar el esquema bloqueo Sintaxis simplificada: create table table_name ( column_name datatype [ NULL NOT NULL IDENTITY ],... column_name datatype [ NULL NOT NULL IDENTITY ] ) [ lock { allpages datapages datarows } ] Si no se especifica un esquema de bloqueo, la tabla usa el esquema default de bloqueo
37 Cambiar el esquema de bloqueo Sintaxis simplificada: alter table table_name lock { allpages datapages datarows }
38 Leer datos no aislados Hay tres tipos de consultas o reads, que pueden retornar datos que son inadecuados para limitar el aislamiento de datos Las características de cómo se hacen estos reads son propios de cada DBMS Hay tres tipo de reads : Dirty reads Nonrepeatable reads Phantom reads
39 Lectura sucia La transacción 1 modifica datos La transacción 2 lee los datos modificados antes de que la modificación haya terminado Esta transacción lee datos uncommitted o dirty
40 Lectura no repetible La transacción 1 lee datos La transacción 2 modifica esos datos antes de que la primera transacción haya terminado La primera lectura es ahora nonrepeatable
41 Lectura fantasma La transacción 1 lee un conjunto de filas que cumplen una condición La transacción 2 modifica los datos de algunas columnas que no cumplían esa condición y ahora la cumplen, o al contrario Las filas que aparecen y desaparecen se denominan phantoms
42 Nivel de aislamiento Un nivel de aislamiento es un conjunto de candados que permiten o no una combinación particular de los tres tipos de lectura: sucia, no repetible o con fantasmas ANSI define cuatro niveles de aislamiento, cada uno más restrictivo que el anterior Dirty Reads Nonrepeatable Phantom Reads Reads Level 0 Allowed Allowed Allowed Level 1 Prevented Allowed Allowed Level 2 Prevented Prevented Allowed Level 3 Prevented Prevented Prevented
43 Nivel 1 de aislamiento Dirty reads Nonrepeatable reads Phantom reads prevented allowed allowed Nivel 1 - Comportamiento de select: Se fijan candados Shared hasta que el select termine la lectura de una fila o página select espera a que se liberen los candados exclusive
44 Nivel 2 de aislamiento Dirty reads Nonrepeatable reads Phantom reads prevented prevented allowed Nivel 2 - Comportamiento de select: Se fijan candados Shared hasta que termine la transacción Este comportamiento es diferente al del nivel 1 select espera a que se liberen los candados exclusive Comportamiento discreto de nivel 2 requiere bloqueo row-level Tables APL (All Pages Lock ) y tables DPL (Data Pages Lock) no tienen bloqueo row-level Si una consulta con nivel de aislamiento 2 lee una tabla APL o DPL, se forza comportamiento de aislamiento nivel 3
45 Nivel 3 de aislamiento Nivel 3 El nivel más restrictivo: Dirty reads Nonrepeatable reads Phantom reads prevented prevented prevented Nivel 3 - Comportamiento de select: Se fijan candados shared hasta que termine la transacción Este comportamiento es diferente al del nivel 1 select espera a que se liberen los candados exclusive
46 Nivel 0 de aislamiento Nivel 0 El nivel menos restrictivo: Dirty reads Nonrepeatable reads Phantom reads allowed allowed allowed Nivel 0 - Comportamiento de select: Se fijan candados Shared hasta que select termine la lectura de una fila o página select ignora los candados exclusive Este comportamiento es diferente al del nivel 1
47 Rótulos de modo de transacción Los procedimientos almacenados se rotulan con el modo de transacción con el cual fueron creados No se puede ejecutar una transacción en un modo diferente al del rótulo
48 sp_procxmode sp_procxmode permite ver y cambiar el modo de transacción de un procedimiento Sintaxis: sp_procxmode [ procedure_name [, {chained unchained anymode} ] ]
49 Rollbacks no intencionales Un rollback no intencional es un rollback anidado que sin intención deshace el trabajo en transacciones externas Proc1(Transacción más externa) begin tran <statements...> if <error> begin rollback tran return end exec proc2 if <error> begin rollback tran return end <statements...> commit tran return Proc2(Procedimiento anidado) begin tran <statements...> if <error> begin rollback tran return end <statements...> commit tran return
50 Savepoints y Rollbacks anidados Usar savepoints para evitar rollbacks no deseados batch (Tran más externa) begin tran (1) <statements...> exec proc1 if <error> rollback tran (6) else commit tran proc 1 save tran abc (2) <statements...> exec proc2 if <error> rollback tran abc (5) else... proc 2 save tran xyz (3) <statements...> if <error> rollback tran xyz(4) else... (1) Con begin tran inicia la transacción. Nivel anidamiento: 1. (6) rollback deshace todas las sentencias en proc1, proc2, y batch -ocommit hace commit a todo. (2) save tran no incrementa el nivel de anidamiento. (5) rollback regresa al punto abc. Entonces se ejecutan las subsiguientes sentencias en proc1. (3) save tran no incrementa el nivel de anidamiento. (4) rollback regresa al punto xyz. Entonces se ejecutan las subsiguientes sentencias en proc2.
51 Triggers y rollbacks Tres tipos de rollbacks: Deshacer el trigger Deshacer el trigger y la sentencia que lo disparó Deshacer toda la transacción
52 Deshacer un trigger Para deshacer un trigger, declarar un punto de grabación y luego hacer el rollback Un rollback sin punto de grabación deshace toda la transacción Procedimiento almacenado Caso A begin tran... insert... print "in sp"... commit tran print "sp done" Procedimiento almacenado Caso B begin tran... (este caso insert... ocasiona un print "in sp" error)... commit tran print "sp done" Trigger save tran s1... rollback tran s1 print tr done return Trigger begin tran s2... rollback tran s2 print tr done return
53 Deshacer un trigger rollback trigger deshace el trigger y la sentencia que lo disparó Sintaxis: rollback trigger [with raiserror error_number [error_statement] ]
54 Deshacer un trigger Caso C Procedimiento almacenado begin tran... insert... print "in sp"... commit tran print "sp done" Trigger rollback trigger print tr done return
55 Deshacer una transacción Para deshacer toda la transacción donde está inmerso el trigger, ejecutar un rollback sin un punto de grabación Procedimiento almacenado Caso D Trigger begin tran... insert... print "in sp"... commit tran print "sp done" Procedimiento Almacenado Caso E begin tran... insert... print "in sp"... commit tran print "sp done" begin tran... rollback tran print "tr done return Trigger Rollback tran print tr done return
56 Preguntas Gracias por su Atención
Conceptos de Bases de Datos Relacionales Triggers
Conceptos de Bases de Datos Relacionales Triggers Trigger Un trigger es un procedimiento almacenado asociado con una tabla, el cual se ejecuta automáticamente cuando se modifica un dato de esa tabla Stored
Más detallesTransacciones Curso de Bases de Datos
Transacciones Curso de Bases de Datos Por Elizabeth León Guzman, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS Transacciones Una transacción es una o más sentencias que se toman como
Más detallesBases de Datos Relacionales
Bases de Datos Relacionales PROCEDIMIENTOS ALMACENADOS Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales SQL Server Manuales Oracle Procedimientos almacenados Un procedimiento almacenado
Más detallesANEXO I NIVELES DE AISLAMIENTO
ANEXO I NIVELES DE AISLAMIENTO INDICE 1) DIRTY READ... 3 1.1) En ORACLE... 3 1.1.1) READ UNCOMMITTED... 3 1.1.2) READ COMMITTED... 3 1.2) En SQL SERVER... 4 1.2.1) READ UNCOMMITED... 4 1.2.2) READ COMMITED...
Más detallesProcedimientos Almacenados Activadores (triggers) Curso Bases de Datos
Procedimientos Almacenados Activadores (triggers) Curso Bases de Datos Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS U. Nacional Prof. Elizabeth León Bases
Más detallesTriggers. Introducción
Triggers Dr. Héctor Saldaña Aldana Introducción Un trigger (o desencadenador o disparador) es una clase especial ilde procedimiento i almacenado que se ejecuta automáticamente cuando se produce un evento
Más detallesEscuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers
Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar
Más detallesPROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de
DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN actividad Transacciones en MySQL como requerimiento parcial para acreditar
Más detallesPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS Un procedimiento almacenado es un conjunto de sentencias SQL y de control de flujo Procedimientos almacenados definidos por el usuario Son procedimientos definidos por el usuario
Más detallesTRIGGER LEONEL CADOSO ROMERO 1
TRIGGER Qué es un trigger o disparador o desencadenador para SQL server? Es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases
Más detallesAsignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero
Ingeniería Técnica en Informática Escuela Universitaria de Informática Universidad Politécnica de Madrid Asignatura: Administración de Bases de Datos Tema 5: Proceso de Transacciones Pedro P. Alarcón Cavero
Más detallesSentencias complementarias + Disparadores
Base de Datos I Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas o transacciones especiales
Más detallesGestión de Transacciones: Concurrencia y Recuperación
Gestión de Transacciones: Concurrencia y Recuperación Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos
Más detallesModelamiento y Diseño de Base de Datos
Modelamiento y Diseño de Base de Datos Sentencias complementarias + Disparadores Objetivos: Elaborar sentencias especiales con diferentes usos y componentes. Introducción: Siempre hay tipos de consultas
Más detallesPROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES
DEXCELENCIA UNIVERSITARIA, FORTALEZA E MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA
Más detallesExisten dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:
Trigger Un trigger(o desencadenador) es una clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Los triggers o disparadores
Más detallesOracle Database: Conceptos Básicos de SQL y PL/SQL
Oracle University Contact Us: +34916267792 Oracle Database: Conceptos Básicos de SQL y PL/SQL Duration: 5 Days What you will learn Este curso está diseñado para enseñar los conceptos fundamentales de SQL
Más detallesOracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo
Oracle University Contacte con nosotros: 902 302 302 Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo Duración: 5 Días Lo que aprenderá En este curso, los estudiantes aprenderán los conceptos
Más detallesTransacciones en SQL Server Autor: Cesar Manivesa (manivesa)
Transacciones en SQL Server Autor: Cesar Manivesa (manivesa) 1. Introducción 2. Sentencias para una transacción 3. Transacciones anidadas 4. Un par de ejemplos más 5. Transacciones y procedimientos almacenados.
Más detallesTriggers en PL/SQL. Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia
Triggers en PL/SQL Jonathan Medina Gómez Facultad de Ingeniería Universidad de Antioquia Triggers (Disparadores) Los triggers son bloques PL/SQL que se ejecutan de manera implícita cuando se están manipulando
Más detallesEND; END; END; /* TRANSFER */ Propiedades de una transacción (ACID): Atómica: Todo/Nada : Se hace o no se hace, pero no se hace a medias.
Restauración Restauración, en un SBD, significa recobrar la BD en si misma, esto es, realmacenar la BD en un estado correcto después de que una falla ha hecho que el estado de esta sea incorrecto. Recuperación
Más detallesTransacciones en SQL. Bases de Datos
Transacciones en SQL Bases de Datos 2017 Conceptos Generales Transacciones Implícitas/Explicitas ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción
Más detallesPROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. Actividad Tutorial de comandos de transacciones
E Ohh disculpaa XCELENCIA UNIVERSITARIA, FORTALEZA DE MEXICO I Z U C A R D E M ATA M O R O S PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN Actividad Tutorial de comandos de transacciones Como requerimiento
Más detallesTransacciones en SQL. Lic. Gerardo Rossel
Transacciones en SQL Lic. Gerardo Rossel 2016 Conceptos Generales Transacciones Implícitas/Explicitas ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción
Más detallesTriggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle
Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla noviembre 2012 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir
Más detalles1. Se usará la Base de Datos llamada. 2. Borrar la tabla CtasBanc anterior y crearla: 5.1 Procedimientos y Funciones Almacenados SQL Server
SQL Server 1. Se usará la Base de Datos llamada LaConsentida. use LaConsentida 2. Borrar la tabla CtasBanc anterior y crearla: create table CtasBanc (IdCuenta int identity primary key, tipo char(10), saldo
Más detalles6. PROGRAMACIÓN CON TRANSACT-SQL
6. PROGRAMACIÓN CON TRANSACT-SQL 6.1. Introducción. " # 6.2. Declaración y asignación de variables. $ " % & ' # ( % ) # (( ) *$+,$ " $ # &-' $ $. $" / # 0 1$,$2 DECLARE @limite money SET @limite = 10 SELECT
Más detallesBD Activas: Motivación
BD Activas: Motivación Los SGBD convencionales son pasivos. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas de aplicación. Para representar la semántica del mundo
Más detallesPROCEDIMIENTOS ALMACENADOS Y TRIGGERS. Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007
PROCEDIMIENTOS ALMACENADOS Y TRIGGERS Bases de Datos Ingeniería de Sistemas y Computación Universidad Nacional de Colombia 2007 Procedimientos almacenados Un procedimiento almacenado es un conjunto de
Más detallesBases De Datos Depto. Computación FCEyN UBA
Bases De Datos Depto. Computación FCEyN UBA ISO SQL: cualquier comando SQL al comienzo de una sesión o inmediato posterior al fin de una transacción comienza automáticamente una nueva transacción (DB2
Más detallesBASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000
BASES DE DATOS 2º CURSO E.U.I. / F.I. Práctica 4: Estudio del SGBD ORACLE8 1 Gestión de transacciones 22 DE MAYO DE 2000 1 Se recomienda que para la realización de esta práctica se revisen los conceptos
Más detallesSe crean para conservar la integridad referencial y la coherencia entre los datos entre distintas tablas.
Triggers También llamados disparadores o desencadenadores, es un tipo de procedimiento almacenado que se ejecuta cuando se intenta modificar los datos de una tabla (o vista). Se definen para una tabla
Más detallesHERRAMIENTAS DE SISTEMAS DE GESTION DE BASES DE DATOS
HERRAMIENTAS DE SISTEMAS DE GESTION DE BASES DE DATOS 1. INTRODUCCION 2. USER DATA TYPES 3. RULES 4. DEFAULTS 5. STORED PROCEDURES 6. TRIGGERS 7. CONSTRAINTS 8. VISTAS 9. TRANSACCIONES 10. COMANDOS TRANSACT-SQL
Más detallesCURSORES. Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle
CURSORES Preparó: Ismael Castañeda Fuentes Fuentes: Manuales Sybase Manuales Oracle Cursor Un cursor es un mecanismo que sirve para procesar fila por fila los resultados de una consulta Beneficios de los
Más detallesBASES DE DATOS AVANZADAS Transacciones en MYSQL
Ejercicio Transacciones mysql> CREATE TABLE innotest (campo INT NOT NULL PRIMARY KEY) TYPE = InnoDB; Query OK, 0 rows affected (0.10 sec) mysql> INSERT INTO innotest VALUES(1); Query OK, 1 row affected
Más detallesTransacciones. Agenda
Transacciones Alumnos: Jesús Hernández CI:18.020.681 José De Abreu CI: 18 855 500 Agenda 1 Concepto de Transacción 1.1 Consistencia y Aislamiento 1.2 Atomicidad y Durabilidad 2 Transacciones y Planificadores
Más detallesRecuperación de Fallos del Sistema
Recuperación de Fallos del Sistema Competencias específicas Proteger la información almacenada frente a fallos del sistema mediante las técnicas disponibles en los SGBDs. Justificar la necesidad de disponer
Más detallesMANUALITO 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 detallesTriggers 24/12/2016. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle
Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla Diciembre 2016 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir
Más detalles5.1 Procedimientos y Funciones Almacenados. 5.2 Disparadores (Triggers).
Unidad 5 SQL Procedural 5.1 Procedimientos y Funciones. 5.2 Disparadores (Triggers). Taller Bases de Datos ISC Ing. Felipe Alanís González -ITD- 1 MySQL 1. Se usará la Base de Datos llamada LaConsentida.
Más detallesUnidad 6. Procedimientos Almacenados y Disparadores
Unidad 6 Procedimientos Almacenados y Disparadores Disparadores (Triggers) Características Los disparadores solo ocurren cuando se presentan determinados eventos Los tipos de eventos permitidos suelen
Más detallesOracle Database 12c SQL and PLSQL Fundamentals
Oracle Database 12c SQL and PLSQL Fundamentals DESCRIPCION MODULOS DE CAPACITACION Introducción Información general sobre 12c de base de datos Oracle y productos afines Descripción de los conceptos y la
Más detallesTransacciones y concurrencia. Sistemas de persistencia de objetos
Transacciones y concurrencia Sistemas de persistencia de objetos Transacción ACID Es la demarcación de una unidad de trabajo JPA permite trabajar con varios API de transacciones JSE JDBC JTA Declarativas
Más detallesInteracción con el Servidor Oracle8. Copyright Oracle Corporation, 1998. All rights reserved.
5 Interacción con el Servidor Oracle8 Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al final de esta lección n usted podrá: Escribir correctamente una sentencia SELECT en PL/SQL Declarar
Más detallesBases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 2013
Bases de Datos Ejercicio Número 2 Bogotá, Diciembre 5 de 203 Enunciado del ejercicio En los servidores de bases de asignados al curso: Sybase, MS SQL Server y Oracle, elaborar el ejercicio sobre aislamiento,
Más detallesEXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO
EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO 1. Supóngase que se han definido todas las restricciones de integridad como DEFERRABLE INITIALLY IMMEDIATE y sea la transacción T1 que se ejecuta sobre la
Más detallesResumen Tema 5: Proceso de transacciones
Resumen Tema 5: Proceso de transacciones Transacción Unidad lógica de procesamiento secuencial compuesta por una o mas acciones que se ejecutan en bloque sobre una BD. Sentencias: Begin/end transaction.
Más detallesTablas -SQL Curso Bases de Datos. Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS
Tablas -SQL Curso Bases de Datos Por Elizabeth León Guzmán, Ph.D. Profesora Ingeniería de Sistemas Grupo de Investigación MIDAS SQL (Structured Query Language) SQL lenguaje usado para definir, manipular,
Más detallesTema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER. GUÍA 2 Pág. 1
Tema: Procedimientos almacenados y cursores. Facultad : Ingeniería Escuela : Computación Asignatura: SQL SERVER GUÍA 2 Pág. 1 I. OBJETIVOS Utilizar procedimientos almacenados Conocer el uso de los cursores
Más detallesBASES DE DATOS SQL MÁS S DE SQL (DML) OPERADOR UNION (L30) <SELECT1> UNION <SELECT2> UNION <SELECTN> Copyright 2006, 2007 Instituto Gala
OPERADOR UNION (L30) UNION UNION OPERADOR INTERSECCION (L31) OPERADOR RELACIONAL INTERSECCION, DEVUELVE REGISTROS CON CAMPOS COMUNES. LAS TABLAS INVOLUCREADAS DEBEN TENER
Más detallesTransacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea
Transacciones M. -Tastets Universidad de Concepción,Chile www.inf.udec.cl\ andrea andrea@udec.cl II Semestre - 2014 Objetivos de la Unidad Entender el concepto de transacciones. Transacciones Una transacción
Más detallesBases de Datos 2: Procedimientos Almacenados, Funciones y Triggers. Tecnólogo en Informática, sede Paysandú Bases de Datos 2
Bases de Datos 2: Procedimientos Almacenados, Funciones y Triggers Tecnólogo en Informática, sede Paysandú Bases de Datos 2 Funciones Variables Declarar: DECLARE @ Asignar valor:
Más detallesSQL SERVER APLICADO (SSA010)
DuocUC SQL SERVER APLICADO (SSA010) Ariel Alexis Fierro Sáez afierrosaez@gmail.com Un triggers es una clase especial de procedimiento almacenado que se dispara automáticamente su ejecución cuando se produce
Más detallesCatedra de Base de Datos
Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2017 Programa Analítico de la Materia Unidad 6: SQL. Transacciones. Procedimientos Almacenados.
Más detallesSQL: Vistas, Triggers, y Procedimientos Almacenados
SQL: Vistas, Triggers, y Procedimientos Almacenados Dr. Gerardo Rossel Bases de Datos 1C 2018 PostgreSQL Aclaración En estas diapositivas nos basaremos principalmente en PostgreSQL. Diferentes motores
Más detallesDISPARADORES EN SQL DISPARADORES EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999 SINTAXIS GENERAL DE UN DISPARADOR EN SQL:1999
DISPARADORES EN SQL:1999 DISPARADORES EN SQL Modelos Avanzados de Bases de Datos Un (trigger) es un procedimiento especial que se ejecuta en respuesta a un evento específico. Ej. Al aumentar el sueldo
Más detallesSUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC
SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC INTRODUCCIÓN Los subprogramas son otro tipo de bloques PL/SQL Se diferencian de los bloques anónimos porque
Más detallesCatedra de Base de Datos
Catedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2016 Cronograma 25-Oct Martes SQL. Transacciones. Procedimientos Almacenados. Triggers.
Más detallesSintaxis: 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ÍNDICE INTRODUCCIÓN...13
ÍNDICE INTRODUCCIÓN...13 CAPÍTULO 1. EL MODELO RELACIONAL. LENGUAJE SQL...17 1.1 INTRODUCCIÓN AL MODELO RELACIONAL...17 1.2 RELACIONES...19 1.2.1 Definición formal de relación...21 1.2.2 Propiedades y
Más detallesTransacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.
Transacción a los conceptos del Procesamiento de las Transacciones Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica de procesamiento. Una transacción
Más detallesADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1
ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 TEMA 1. CONSULTAS BÁSICAS Fundamentos de SQL Tipos de datos, operadores y literales Sentencia SELECT Limitación de filas y operadores Ordenación
Más detallesRecuperación del Sistema
Recuperación del Sistema 1 Andrés Moreno S. Diagrama de Transición de Estados COMMIT y ROLLBACK puntos de confirmación BEGIN activo READ / WRITE END parcialmente confirmado COMMIT confirmado fallo fallo
Más detallesTransacciones, copias de seguridad. Xochitl Clemente Parra Armando Méndez Morales
Transacciones, copias de seguridad Xochitl Clemente Parra Armando Méndez Morales Transacciones Las transacciones hablan de atomicidad. Atomicidad es el concepto que habla de un conjunto de cosas actuando
Más detallesPL/SQL avanzado: Secuencias, triggers, cursores y subprogramas
avanzado 22/11/2016 avanzado: Secuencias, triggers, cursores y subprogramas Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Noviembre
Más detallesSQL Server 2005 - Definición de los índices
SQL Server 2005 - Definición de los índices Marco Antonio Torres Carranco 3A En este tutorial, aprenderá a definir índices en SQL Server 2005 - agrupados y no agrupados indexes, el optimizador de consultas
Más detalles//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui
PL/SQL - Oracle PL/SQL (Procedural Language/SQL) es una extensión de SQL, que agrega ciertas construcciones propias de lenguajes procedimentales, obteniendose como resultado un lenguaje estructural mas
Más detallesExamen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015
Examen de Bases de datos Grado de Ingeniería en Informática, Febrero, 2015 1) (3 puntos) El museo de la ciudad necesita gestionar las visitas guiadas de grupos y para ello se debe implementar una base
Más detallesExamen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL
Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL ) (4,3 puntos) Considérese un fichero secuencial indexado con un índice numérico (con valores entre 0 y 65.535) con duplicados
Más detallesIntroducción a los conceptos del Procesamiento de las Transacc
a los conceptos del Procesamiento de las Transacciones 12/Mayo/2017 Transacción Definición Transacción Definición Una transacción es un conjunto de instrucciones que se ejecutan formando una unidad lógica
Más detallesA. Introducción. B. Los DATABASES TRIGGERS. PL/SQL en objetos de la base de datos. Oracle 11g - SQL, PL/SQL, SQL*Plus 271
PL/SQL en objetos de la base de datos A. Introducción Además de los bloques PL/SQL anónimos utilizados por SQL*PLus o por las herramientas de desarrollo (Oracle*FORMS, Oracle*Reports), se puede emplear
Más detallesOracle Fundamentos. Programa de Estudio.
Oracle Fundamentos Programa de Estudio Oracle Fundamentos Aprende a programar en lenguaje SQL con la base de datos más poderosa del mercado. Diseña y Modela importantes bases de datos utilizando la herramienta
Más detallesÍNDICE PRIMERA PARTE... 17
ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS
Más detallesManipulación de Datos. Copyright Oracle Corporation, 1998. All rights reserved.
9 Manipulación de Datos Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Describir cada sentencia DML Insertar filas
Más detallesManejo de Transacciones
Bases de Datos Transacciones 1 Manejo de Transacciones Jorge Pérez Rojas Universidad de Talca, II Semestre 2006 Bases de Datos Transacciones 2 Transacciones Hasta ahora el modelo de operación en la BD
Más detallesBases de Datos / Elementos de Bases de Datos 2015
Bases de Datos / Elementos de Bases de Datos 2015 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Stored Procedures
Más detallesGALA 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 detallesCaracterísticas del lenguaje SQL
Lenguaje SQL Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra
Más detallesSQL 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 detallesIntroducción a Transact-SQL
Introducción a Transact-SQL Introducción E lenguaje de programación Transact-SQL Tipos de instrucciones de Transact-SQL Elementos de la sintaxis de Transact-SQL El lenguaje de programación Transact-SQL
Más detallesTriggers. BASES DE DATOS Mercedes García Merayo
Triggers BASES DE DATOS Mercedes García Merayo Triggers Un trigger es código (PL/SQL) que se ejecuta automáticamente cuando se realiza una determinada acción sobre la base de datos. Tipos de triggers Triggers
Más detallesProgramación con SQL Server
Programación con SQL Server Programa de Estudio Programación con SQL Server Desarrolla complejas y performantes consultas en SQL Server. Aprende a desarrollar programas desde cero aplicando los últimos
Más detallesÍndice. iii. Objetivos... 24
Índice Objetivos... 2 1: Modelación de base de datos... 2 2: Ejemplo de un caso de negocios... 3 2.1: Requerimientos de la aplicación... 4 2.2: Características de flujo de información... 4 2.3: Diagrama
Más detallesPara procesar instrucciones SELECT que devuelvan más de una fila, son necesarios cursores explicitos combinados con un estructura de bloque.
Base de datos II. Guía 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos II Tema: Cursores Objetivo Conocer la definición y utilización de los cursores Materiales Oracle 12 c Guía
Más detallesProgramación con SQL Server
Programación con SQL Server Programa de Estudio Programación con SQL Server Desarrolla complejas y performantes consultas en SQL Server. Aprende a desarrollar programas desde cero aplicando los últimos
Más detallesOracle Database 10g: Conceptos Básicos de SQL y PL/SQL
Oracle University Contacte con nosotros: 902 302 302 Oracle Database 10g: Conceptos Básicos de SQL y PL/SQL Duración: 5 Días Lo que aprenderá Obtendrá los conocimientos fundamentales de SQL y PL/SQL mediante
Más detallesExamen de Ficheros y bases de datos Convocatoria de septiembre II PARCIAL
Eamen de Ficheros y bases de datos Convocatoria de septiembre II PARCIAL EJERCICIO 1 (2,5 puntos) a) Citar y eplicar brevemente las cuatro propiedades fundamentales de las transacciones. ATOMICIDAD: Dada
Más detallesDiseñ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 s/n. 41012 Sevilla Tlf/Fax 954 557 139 E-mail lsi@lsi.us.es Web www.lsi.us.es
Más detallesINSTITUTO TECNOLÓGICO SUPERIOR DE ESCÁRCEGA. Organismo público descentralizado de la administración. Pública del estado de Campeche
INSTITUTO TECNOLÓGICO SUPERIOR DE ESCÁRCEGA Organismo público descentralizado de la administración Pública del estado de Campeche SINTAXIS DE CREATE Y SUS TIPOS. QUE PRESENTA EDUARDO DAMIÁN DOMÍNGUEZ GUILLERMO
Más detallesSQL Los fundamentos del lenguaje (con ejercicios corregidos) (2ª edición)
Introducción 1. Un poco de historia 2. Las normas SQL 3. Descripción rápida del modelo relacional 3.1 Principales conceptos del modelo relacional 3.2 Principales reglas 4. El álgebra relacional 4.1 Aspectos
Más detallesORACLE 10g. Descripción A QUIEN VA DIRIGIDO?
ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración
Más detallesT ema 2. S is tem as ges tores de bas es de datos
S is temas de Informac ión II T ema 2. S is tem as ges tores de bas es de datos Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 2). Garcia-Molina,
Más detallesBases de Datos / Elementos de Bases de Datos 2011. Que es un Stored Procedure? Stored Procedures: Ventajas
Bases de Datos / Elementos de Bases de Datos 2011 Stored Procedures, Triggers y Transacciones en MySQL Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 1 Que es un Stored
Más detallesUnidad III. Bases de Datos
Clase:11 1 Unidad III Bases de Datos 2 SQL. Comandos de DDL. Comandos de DML. Agenda 3 SQL Structured Query Language SQL Los comandos del SQL pueden dividirse en tres grupos: Comandos de definición de
Más detallesUnidad 4 Control de Transacciones
Unidad 4 Control de Transacciones e Instrucción COMMIT. 4.2 Instrucción ROLLBACK. 4.3 Niveles de aislamiento. 4.4 Grados de consistencia. ISC Ing. Felipe Alanís González -ITD- 1 Cada vez que se ejecuta
Más detallesPráctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones
Práctica 4: Estudio del SGBD Oracle 10 El SGBD Oracle 10 Objetivos estudio de la gestión de transacciones. estudio de las estrategias para la comprobación de la integridad. estudio de las estrategias para
Más detallesTransacciones, Recuperación y Control de Concurrencia
Transacciones, Recuperación y Control de Concurrencia Transacciones Transacción: colección de operaciones que forman una única unidad lógica de trabajo en una BD Control concurrencia Sistemas multiusuario:
Más detalles