Unidad 4 Control de Transacciones

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

Download "Unidad 4 Control de Transacciones"

Transcripción

1 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 INSERT, UPDATE, DELETE, los datos se escriben a las tablas de la Base de Datos inmediatamente. Se dice que se entregan (commit). En castellano algunos la traducen incorrectamente como comprometer los datos ISC Ing. Felipe Alanís González -ITD- 2

2 Este proceso de entrega automática, es conveniente en la mayoría de los casos pero en otros definitivamente no. Analizaremos algunas situaciones para comprobar que el automatic commit no siempre produce buenos resultados. ISC Ing. Felipe Alanís González -ITD- 3 Ejemplo A1 1. Crear una Base de Datos llamada LaConsentida. create database LaConsentida 2. Crear una tabla: create table CtasBanc (idcuenta int(10) auto_increment primary key, saldo numeric(10,2)) ISC Ing. Felipe Alanís González -ITD- 4

3 3. Añadir 2 tuplas: insert into CtasBanc values (0,1000) insert into CtasBanc values (0,9000) 4. Consulte el contenido de la tabla: select * from CtasBanc La miscelánea La Consentida posee dos cuentas bancarias, la primera es una cuenta de cheques ($1,000.00) y la segunda es de inversión ($9,000.00). ISC Ing. Felipe Alanís González -ITD- 5 En este momento la BD está en un estado consistente porque el dueño de la miscelanea sabe que posee $10,000 en total ya que ese día no hará depósitos ni retiros de ninguna de las cuentas. Lo que el si podrá hacer es traspasos entre ambas cuentas, pero el dinero que posee en total siempre será $10, (al menos por ese día). ISC Ing. Felipe Alanís González -ITD- 6

4 6. Conéctese a la BD mediante el Cliente de Línea de Comandos y por otro lado mediante la interfase GUI, ya que los siguientes pasos requieren una simulación de dos usuarios. Haga un retiro de $2,000 de la inversión para depositarse en la cuenta de cheques update CtasBanc set saldo=saldo-2000 update CtasBanc set saldo=saldo+2000 where idcuenta=1; ISC Ing. Felipe Alanís González -ITD- 7 Lo anterior hágalo desde el Cliente Línea de Comandos y observe el resultado desde la Interfase GUI. select * from CtasBanc Como verá, los datos son entregados inmediatamente a la BD, por esa razón el Cliente GUI puede ver el resultado. ISC Ing. Felipe Alanís González -ITD- 8

5 7. Haga otro traspaso (retiro/depósito) en Línea de Comandos y consulte desde GUI después de cada update. update CtasBanc set saldo=saldo-500 select * from CtasBanc update CtasBanc set saldo=saldo+500 where idcuenta=1; select * from CtasBanc ISC Ing. Felipe Alanís González -ITD- 9 Observe que cuando el Cliente Línea de Comandos hace el retiro y GUI consulta, la BD está inconsistente (el dinero total que aparentemente hay, no es correcto). Ahora, imagine que después del retiro y antes del depósito se presenta una falla en el equipo y se apaga. ISC Ing. Felipe Alanís González -ITD- 10

6 8. Un traspaso más. update CtasBanc set saldo=saldo-500 {desconecte el equipo de la energía} (simulando una falla) 9. Encienda el equipo y conectese a la BD. ISC Ing. Felipe Alanís González -ITD Consulte los saldos de las cuentas: select * from CtasBanc Es consistente el estado de la Base de Datos? ISC Ing. Felipe Alanís González -ITD- 12

7 Ejemplo A2 1. Partamos de los saldos iniciales: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo= Consulte saldos: select * from CtasBanc ISC Ing. Felipe Alanís González -ITD Inicie un traspaso de la forma siguiente: start transaction; update CtasBanc set saldo=saldo-2000 {desconecte el equipo de la energía eléctrica} 4. Encienda el equipo, conectese a la BD y consulte saldos. Es consistente el estado de la Base de Datos? ISC Ing. Felipe Alanís González -ITD- 14

8 Ejemplo A3 1. Partamos de los saldos iniciales: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo= Consulte saldos: select * from CtasBanc ISC Ing. Felipe Alanís González -ITD Realice un traspaso de la forma siguiente: start transaction; update CtasBanc set saldo=saldo-3000 update CtasBanc set saldo=saldo+3000 commit; where idcuenta=1; {desconecte el equipo de la energía eléctrica} ISC Ing. Felipe Alanís González -ITD- 16

9 4. Encienda el equipo, conectese a la BD y consulte saldos. Es consistente el estado de la Base de Datos? Se llevó a cabo el traspaso? Si hubiéramos omitido commit, cúal sería el resultado? ISC Ing. Felipe Alanís González -ITD- 17 Ejemplo A4 1. Partamos de los saldos iniciales: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo= Consulte saldos: select * from CtasBanc ISC Ing. Felipe Alanís González -ITD- 18

10 3. Haga un traspaso en Línea de Comandos de la siguiente manera y consulte desde GUI después de cada update. start transaction; select * from CtasBanc update CtasBanc set saldo=saldo-4000 select * from CtasBanc select * from CtasBanc ISC Ing. Felipe Alanís González -ITD- 19 update CtasBanc set saldo=saldo+4000 where idcuenta=1; select * from CtasBanc select * from CtasBanc commit; select * from CtasBanc select * from CtasBanc ISC Ing. Felipe Alanís González -ITD- 20

11 Ejemplo B1 1. Crear una Base de Datos llamada CBTIS999. create database CBTIS Crear las siguientes tablas: create table Alumnos (IdAlumno int auto_increment primary key, Nombre char(40), NumMatCursadas int); create table Materias (IdMateria int auto_increment primary key, Nombre char(20)); create table MatCursadas (IdAlumno int, IdMateria int); ISC Ing. Felipe Alanís González -ITD Añadir a las tablas siguientes las tuplas suficientes para que queden como se muestra (la tercera tabla no llevará tuplas): Alumnos IdAlumno Nombre NumMatCursadas 1 Mickey Mouse 0 2 Atom ic Ant 0 3 Donald Duck 0 Materias IdMateria Nombre 1 Modales 2 Oratoria 3 Algebra 4 Lectura y Redacción MatCursadas IdAlumno IdMateria ISC Ing. Felipe Alanís González -ITD- 22

12 En este momento la BD está en un estado consistente porque en la tabla MatCursadas y en el atributo NumMatCursadas de la tabla Alumnos se refleja que ningún alumno ha cursado ninguna materia. Este esquema tiene datos redundantes porque el número de materias cursadas se puede obtener en cualquier momento mediante una consulta, sin embargo, a veces es deseable diseñar de esta manera cuando la complejidad de los esquemas es grande (aunque este no sea el caso sirve como ejemplo). Para mantener la consistencia, es indispensable que los datos redundantes se incluyan en una transacción. ISC Ing. Felipe Alanís González -ITD Conéctese a la BD mediante el Cliente de Línea de Comandos y por otro lado mediante la interfase GUI, ya que los siguientes pasos requieren una simulación de dos usuarios. Realice las operaciones que se indican a continuación (desde Línea de Comandos): insert into MatCursadas values (3,2); update Alumnos set NumMatCursadas=NumMatCursadas+1 where IdAlumno=3; ISC Ing. Felipe Alanís González -ITD- 24

13 Observe el resultado desde la Interfase GUI. select * from MatCursadas select * from Alumnos Como verá, los datos son entregados inmediatamente a la BD, por esa razón el Cliente GUI puede ver el resultado. ISC Ing. Felipe Alanís González -ITD Ejecute otras dos instrucciones en Línea de Comandos y consulte desde GUI después de cada una de ellas. insert into MatCursadas values (1,1); select * from MatCursadas select * from Alumnos ISC Ing. Felipe Alanís González -ITD- 26

14 update Alumnos set NumMatCursadas=NumMatCursadas+1 where IdAlumno=1; select * from MatCursadas select * from Alumnos Observe que cuando el Cliente Línea de Comandos hace la primera operación y GUI hace las consultas, la BD está inconsistente, ahora imagine que antes de la ejecución de las segunda operación se presenta una falla en el equipo y se apaga. ISC Ing. Felipe Alanís González -ITD Otra materia cursada: insert into MatCursadas values (3,4); {desconecte el equipo de la energía} (simulando una falla) 9. Encienda el equipo y conectese a la BD. ISC Ing. Felipe Alanís González -ITD- 28

15 10.Consulte el estado de las tablas: select * from MatCursadas select * from Alumnos Es consistente el estado de la Base de Datos? ISC Ing. Felipe Alanís González -ITD- 29 Ejemplo B2 1. Partamos del estado inicial de las tablas: Alumnos IdAlumno Nombre NumMatCursadas 1 Mickey Mouse 0 2 Atom ic Ant 0 3 Donald Duck 0 Materias IdMateria Nombre 1 Modales 2 Oratoria 3 Algebra 4 Lectura y Redacción MatCursadas IdAlumno IdMateria ISC Ing. Felipe Alanís González -ITD- 30

16 2. Inicie las operaciones de la forma siguiente: start transaction; insert into MatCursadas values (3,2); {desconecte el equipo de la energía eléctrica} 3. Encienda el equipo, conectese a la BD y consulte el contenido de las tablas. select * from MatCursadas select * from Alumnos Es consistente el estado de la Base de Datos? ISC Ing. Felipe Alanís González -ITD- 31 Ejemplo B3 1. Partamos del estado inicial: Alumnos IdAlumno Nombre NumMatCursadas 1 Mickey Mouse 0 2 Atom ic Ant 0 3 Donald Duck 0 Materias IdMateria Nombre 1 Modales 2 Oratoria 3 Algebra 4 Lectura y Redacción MatCursadas IdAlumno IdMateria ISC Ing. Felipe Alanís González -ITD- 32

17 2. Registre otra materia cursada pero ahora de la forma siguiente: start transaction; insert into MatCursadas values (3,2); update Alumnos set NumMatCursadas=NumMatCursadas+1 where IdAlumno=3; commit; {desconecte el equipo de la energía eléctrica} ISC Ing. Felipe Alanís González -ITD Encienda el equipo, conectese a la BD y consulte el estado de las tablas. Es consistente el estado de la Base de Datos? Se efectuaron las operaciones? Si hubiéramos omitido commit, cúal sería el resultado? ISC Ing. Felipe Alanís González -ITD- 34

18 Ejemplo B4 1. Partamos del estado inicial una vez más: Alumnos IdAlumno Nombre NumMatCursadas 1 Mickey Mouse 0 2 Atom ic Ant 0 3 Donald Duck 0 Materias IdMateria Nombre 1 Modales 2 Oratoria 3 Algebra 4 Lectura y Redacción MatCursadas IdAlumno IdMateria ISC Ing. Felipe Alanís González -ITD Haga las operaciones en Línea de Comandos como se indica y consulte desde GUI después de cada una. start transaction; insert into MatCursadas values (3,2); select * from MatCursadas select * from Alumnos select * from MatCursadas select * from Alumnos ISC Ing. Felipe Alanís González -ITD- 36

19 update Alumnos set NumMatCursadas=NumMatCursadas+1 where IdAlumno=3; select * from MatCursadas select * from Alumnos select * from MatCursadas select * from Alumnos commit; select * from MatCursadas select * from Alumnos ISC Ing. Felipe Alanís González -ITD- 37 Propiedades de las transacciones: Atomicidad Consistencia Aislamiento (Isolation) Durabilidad Se les conoce como propiedades ACID. ISC Ing. Felipe Alanís González -ITD- 38

20 1. Atomicidad. Se requiere que todas las operaciones de una transacción sean entregadas (commited) a la base de datos. En caso de que una de ellas no sea entregada por cualquier razón, ninguna debe hacerse. ISC Ing. Felipe Alanís González -ITD Consistencia. Se requiere que si antes de ejecutar una transacción, la BD es consistente, permanezca igualmente consistente una vez terminada la transacción. ISC Ing. Felipe Alanís González -ITD- 40

21 3. Aislamiento. Si se presenta la ejecución concurrente de transacciones, cada una de ellas debe tener la impresión de que las demás no existen, como si se ejecutaran en serie (una después de la otra). ISC Ing. Felipe Alanís González -ITD Durabilidad. Es indispensable que una vez finalizada la transacción y los datos entregados a la BD, estos no se pierdan incluso aunque se produzca una falla. ISC Ing. Felipe Alanís González -ITD- 42

22 4.2 Instrucción ROLLBACK Ejemplo A5 1. Abra una sesión, no importa si es en Línea de Comandos o en GUI Tools, para simular el retroceso de transacciones. 2. A partir de los saldos iniciales: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo=9000 select * from CtasBanc; ISC Ing. Felipe Alanís González -ITD Instrucción ROLLBACK 3. Haga el siguiente traspaso: start transaction; select * from CtasBanc; update CtasBanc set saldo=saldo update CtasBanc set saldo=saldo where idcuenta=1; select * from CtasBanc; rollback; select * from CtasBanc; ISC Ing. Felipe Alanís González -ITD- 44

23 4.2 Instrucción ROLLBACK Rollback termina una transación sin entregar los datos a la BD. Ejecutar rollback es lo adecuado para este caso ya que si el usuario trata de retirar más dinero del que tiene en la cuenta de cheques, el saldo de esa cuenta quedará NEGATIVO, lo que es incorrecto ya que las cuentas de cheques son cuentas de débito (aunque la consistencia se mantuvo porque la suma de las cuentas seguía siendo $10,000). ISC Ing. Felipe Alanís González -ITD Instrucción ROLLBACK La siguiente es una propuesta de seudocódigo para transacciones como la de nuestro ejemplo. Instrucciones como estas deberían ser ejecutadas cada vez que se haga una transacción para evitar datos erróneos (por ejemplo saldo negativo en cuentas de cheques o de inversiones como las de nuestro ejemplo). start transaction; update CtasBanc set saldo=saldo update CtasBanc set saldo=saldo where idcuenta=1; If SaldoCuenta(2)<0 then else rollback commit end if SaldoCuenta() es una función escrita por nosotros, es indispensable hacer esta verificación ya que cuando terminen las transacciones que iniciaron antes que la nuestra, tal vez no haya saldo suficiente en la cuenta #2 para para traspasar a la #1. Vea la propiedad 4 (Aislamiento). ISC Ing. Felipe Alanís González -ITD- 46

24 u2 4.3 Niveles de Aislamiento Un Nivel de Aislamiento describe el grado en el cual los datos que están siendo manipulados por una sesión son visibles para otras: Serializable (En serie). Repeatable Read (Lectura Repetible) Read Committed (Leer Entregados). Read Uncommitted (Leer NoEntregados). ISC Ing. Felipe Alanís González -ITD- 47 Diapositiva 47 u2 PARA PONER UNA DESCRIPCION SIMPLE DE LOS NIVELES DE AISLAMIENTO, BUSCAR EN GOOGLE "REPEATABLE READ" EN WIKIPEDI VIENE ALGO... DE ESA MANERA PODRIA PONER ALGUNOS EJEMPLOS MAS usuario, 06/11/2007

25 u2 4.3 Niveles de Aislamiento Cada Nivel de Aislamiento tiene un comportamiento distinto con respecto a los demás, pero en algunos de los aspectos básicos, es muy similar a los demás. Los ejemplos siguientes ayudan a entender la característica principal de algunos de ellos. ISC Ing. Felipe Alanís González -ITD- 48 Diapositiva 48 u2 PARA PONER UNA DESCRIPCION SIMPLE DE LOS NIVELES DE AISLAMIENTO, BUSCAR EN GOOGLE "REPEATABLE READ" EN WIKIPEDI VIENE ALGO... DE ESA MANERA PODRIA PONER ALGUNOS EJEMPLOS MAS usuario, 06/11/2007

26 4.3 Niveles de Aislamiento Ejemplo A6 1. Abra 2 sesiones, una usando Línea de Comandos y otra GUI Tools. 2. Partamos de los saldos acostumbrados: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo=9000 ISC Ing. Felipe Alanís González -ITD Niveles de Aislamiento 3. Consulte saldos: select * from CtasBanc; select * from CtasBanc; 4. Inicie un traspaso en Línea de Comandos: start transaction; update CtasBanc set saldo=saldo-6000 update CtasBanc set saldo=saldo+6000 where idcuenta=1; ISC Ing. Felipe Alanís González -ITD- 50

27 4.3 Niveles de Aislamiento 5. En GUI Tools intente modificar una de las cuentas: update CtasBanc set saldo=0 {espere un tiempo prudente} Registre sus observaciones. ISC Ing. Felipe Alanís González -ITD Niveles de Aislamiento Ejemplo A7 1. Abra 2 sesiones, una usando Línea de Comandos y otra GUI Tools. 2. Asegúrese que el nivel de aislamiento en la sesión 1 sea Serializable (significa En Serie): ISC Ing. Felipe Alanís González -ITD- 52

28 4.3 Niveles de Aislamiento 3. Si se requiere, cambie el nivel de aislamiento de la siguiente forma: set session transaction isolation level serializable; set global transaction isolation level serializable; Puede comprobar el resultado: select select ISC Ing. Felipe Alanís González -ITD Niveles de Aislamiento 4. A partir de los saldos iniciales: update CtasBanc set saldo=1000 where idcuenta=1; update CtasBanc set saldo=9000 Consulte saldos: select * from CtasBanc; select * from CtasBanc; ISC Ing. Felipe Alanís González -ITD- 54

29 4.3 Niveles de Aislamiento 5. Haga un traspaso en Línea de Comandos: start transaction; update CtasBanc set saldo=saldo-6000 update CtasBanc set saldo=saldo+6000 where idcuenta=1; ISC Ing. Felipe Alanís González -ITD Niveles de Aislamiento 6. En GUI Tools consulte los saldos antes y después de terminar la transacción (en Línea de Comandos): select * from CtasBanc; commit; select * from CtasBanc; Registre sus observaciones. ISC Ing. Felipe Alanís González -ITD- 56

30 4.3 Niveles de Aislamiento Ejemplos A8 y A9 Realice los mismos pasos del Ejemplo 7 (como está con commit, ejemplo A8, y reemplazando el commit con rollback, ejemplo A9), solo asegúrese que el nivel de aislamiento en la Sesión de Línea de Comandos sea: Read Uncommitted, Leer NoEntregas (Lectura de datos no entregados). ISC Ing. Felipe Alanís González -ITD- 57

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN. actividad Transacciones en MySQL. como requerimiento parcial para acreditar la asignatura de

PROGRAMA 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 detalles

BASES DE DATOS AVANZADAS Transacciones en MYSQL

BASES 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 detalles

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas.

Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. Unidad 2 Lenguaje de Definición de Datos (DDL) 2.1 Creación de base de datos. 2.2 Creación de tablas. 2.2.1 Integridad. 2.2.2 Integridad referencial declarativa. 2.3 Creación de índices ISC Ing. Felipe

Más detalles

Manejo de Transacciones

Manejo 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 detalles

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL 5.6 MODIFICACIÓN DE LA BASE DE DATOS SQL posee comandos destinados también para modificar la base de datos, entre estos se tienen operaciones de borrado,

Más detalles

Bases 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. 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 detalles

Bases de Datos / Elementos de Bases de Datos 2015

Bases 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 detalles

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Prá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 detalles

Recuperación del Sistema

Recuperació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 detalles

Transacciones en SQL. Lic. Gerardo Rossel

Transacciones 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 detalles

El Sistema Gestor de Base de Datos (DBMS)

El Sistema Gestor de Base de Datos (DBMS) Pontificia Universidad Javeriana Contenido 1 Introducción 2 Evolución de los SGBD 3 Arquitectura del SGBD 4 Lenguajes de BD 5 Usuarios de la BD Introducción Se espera del SGBD (DBMS) que: 1 Permita a los

Más detalles

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES Tema 6. CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES TRANSACCIONES Una transacción es una unidad lógica de trabajo o procesamiento (ejecución de un programa que incluye operaciones de acceso a la base de

Más detalles

Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

Asignatura: 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 detalles

Capítulo 5. Edición de datos

Capítulo 5. Edición de datos Capítulo 5 Edición de datos ÍNDICE CAPÍTULO 5 Inserción de registros Cláusula INSERT Cláusula REPLACE Modificación de registros Borrado de registros Borrados/Modificaciones e integridad referencial Transacciones

Más detalles

6. PROGRAMACIÓN CON TRANSACT-SQL

6. 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 detalles

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Transacciones. 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 detalles

Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar:

Existen 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 detalles

Tema 33. El lenguaje SQL

Tema 33. El lenguaje SQL Tema 33. El lenguaje SQL Introducción... 1 Modos de uso... 2 Ejecución de las sentencias SQL... 2 Instrucciones DDL Data Definition Language-... 3 Instrucciones DML Data Manipulation Language-... 4 Instrucciones

Más detalles

Transacciones, copias de seguridad. Xochitl Clemente Parra Armando Méndez Morales

Transacciones, 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 detalles

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DML Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy Agenda DML Sentencias Modificando la instancia Agenda DML Sentencias

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Transacción. Introducción a los conceptos del Procesamiento de las Transacciones. Monousuarios vs. Multiusuarios. Pablo Turjanski.

Transacció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 detalles

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 Manejo de Concurrencia en Mysql Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3 InnoDB y TRANSACTION ISOLATION LEVEL... 3 Lecturas consistentes que no

Más detalles

Transacciones y concurrencia. Sistemas de persistencia de objetos

Transacciones 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 detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (II) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (II) p. 1 Consultas OUTER JOIN Una limitación de las consultas INNER JOIN es que requieren que

Más detalles

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL.

El Lenguaje PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL. Estructura del código PL/SQL. Un lenguaje de propósito general orientado a la inclusión de sentencias SQL Estructura del código PL/SQL. Bloques: El Lenguaje PL/SQL sentencias PL/SQL Los ficheros terminan con el caracter

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 5 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Técnicas para la enseñanza de. Desarrollo Web. PH P - m ysqli. Liliana Gutiérrez Flores. Enero de 2016

Técnicas para la enseñanza de. Desarrollo Web. PH P - m ysqli. Liliana Gutiérrez Flores. Enero de 2016 Técnicas para la enseñanza de Desarrollo Web PH P - m ysqli Liliana Gutiérrez Flores Enero de 2016 Ejercicios: 1. Vamos a crear una base de datos de clientes, la base tiene dos tablas una de clientes y

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

BASES de DATOS ÁCTIVAS

BASES de DATOS ÁCTIVAS BASES de DATOS ÁCTIVAS Bibliografía Piattini & Díaz (2000). Advanced Database Technology and Design. Capt. 3 Elmasri & Navathe (2000). Fundamentals of DBS, Capt. 23.1 Garcia-Molina, Ullman & Widom 2002.

Más detalles

Tema 6. Transacciones y seguridad

Tema 6. Transacciones y seguridad Tema 6. Transacciones y seguridad Las aplicaciones de bases de datos a gran escala, con bases de datos de gran tamaño y con cientos de usuarios concurrentes, como los sistemas de reservas, los bancos,

Más detalles

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia.

Guía de estudio para el examen. Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia. Guía de estudio para el examen Transacciones Problema 1: Suma Invariante Sean tres atributos A, B y C. Indique, para cada par de transacciones T1 y T2, si se garantiza que A+B+C no cambia. 1) T1 T2 Lock

Más detalles

Sistemas de Información II Tema 2. Sistemas gestores de bases de datos Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª

Sistemas de Información II Tema 2. Sistemas gestores de bases de datos Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª Sistemas de Información II Tema 2. Sistemas gestores de bases de datos Bibliografía: Elmasri y Navathe: Fundamentos de Sistemas de Bases de Datos 3ª edición, 2002 (Capítulo 2). Garcia-Molina, Ullman y

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

Tema: Disparadores Parte I.

Tema: Disparadores Parte I. Base de datos I. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Disparadores Parte I. Objetivo Utilizar la sintaxis de un disparador en SQL Server Implementar transacciones

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

BD Relacionales. Introducción. Marta Zorrilla

BD Relacionales. Introducción. Marta Zorrilla BD Relacionales. Introducción Marta Zorrilla Tabla de contenidos Aplicaciones de BDs. Concepto de Base de Datos y SGBD. De los sistemas de ficheros a la BD relacional. Razones que justifican el uso de

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

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL 1. Conexión con la Base de Datos: se debe realizar a partir de algún programa que implemente el protocolo SSH (Secure Shell), a partir

Más detalles

Transacciones, Recuperación y Control de Concurrencia

Transacciones, Recuperación y Control de Concurrencia Transacciones, Recuperación y Control de Concurrencia Diseño de Bases de Datos Relacionales Curso 2011/2012 Sergio Ilarri silarri@unizar.es Transacciones (I) Transacción Secuencia de operaciones que deben

Más detalles

Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos

Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos Cursores, Triggers, Indices, Transacciones, Vistas Gestión y Modelación de Datos Cursores CREATE OR REPLACE FUNCTION incsalario (INTEGER) RETURNS TEXT AS ' DECLARE curemp CURSOR FOR SELECT nombres, apellidos,

Más detalles

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo:

Permite definir cada relación que pertenece a la base de datos relacional, incluyendo: TEMA 7.- EL ESTANDAR SQL. El Sublenguaje de Manipulación. El Sublenguaje de Definición. El Sublenguaje de Control. El Sublenguaje Huésped. 1. El Sublenguaje de Manipulación. (Se verá en la clase de problemas)

Más detalles

Recuperación de Fallos del Sistema

Recuperació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 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

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

1. Lenguaje de Definición de Datos. 2. Lenguaje de Manipulación de. Datos. M. C. Gustavo Alfonso Gutiérrez Carreón 1. Lenguaje de Definición de Datos 2. Lenguaje de Manipulación de Datos M. C. Gustavo Alfonso Gutiérrez Carreón Los 'sistemas de gestión de bases de datos (en inglés database management system, abreviado

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

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

//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 detalles

RICHARD ALEXANDER BETANCUR SIERRA

RICHARD ALEXANDER BETANCUR SIERRA LA TIENDA DE INFORMATICA INSTRUCCIONES: En el siguiente ejercicio se describen cada uno de los comandos para llevar a cabo cada una de las consultas solicitadas, ejecuta cada uno de ellos en el compilador

Más detalles

SQLModificaciones a la BD

SQLModificaciones a la BD SQL Modificaciones a la BD Amparo López Gaona tación Mayo 2012 Modificación de Datos Las instrucciones de SQL para modificación de los datos en una BD se clasifican en tres tipos: Insertar tuplas en una

Más detalles

T ema 2. S is tem as ges tores de bas es de datos

T 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 detalles

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase

OBJETIVOS METODOLOGÍA PROCEDIMIENTO 1.- Trabajo con el servidor de bases de datos Sybase UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERIA Departamento de Ingeniería de Sistemas e Industrial Curso de Bases de Datos Por: Ismael Castañeda Fuentes Taller Marzo 21 de 2013 OBJETIVOS Conectarse

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

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II

Conceptos sobre procesamiento de transacciones. Tema 3: Bases de Datos II Conceptos sobre procesamiento de transacciones Tema 3: Bases de Datos II Contenidos del tema 3 1. Introducción 2. Propiedades deseables en las transacciones. 3. Conceptos de transacciones y sistemas. 4.

Más detalles

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus Iniciando con Oracle Índice de contenido Ingresando a Oracle...1 Cambiando Su Contraseña...1 Ingresando un Comando SQL en SQL*Plus...2 Saliendo de SQL*Plus...2 Consiguiendo Ayuda...2 Creación de una Tabla...3

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

Transacciones. Carlos A. Olarte BDII

Transacciones. Carlos A. Olarte BDII Carlos A. Olarte (carlosolarte@puj.edu.co) BDII Outline 1 2 Ejecuciones Concurrentes 3 Secuencialidad en Cuanto a Conflictos 4 Secuencialidad en Cuanto a Vistas 5 Recuperabilidad 6 en SQL Transacción Definición

Más detalles

Ejemplo de gestión de datos con SQL

Ejemplo de gestión de datos con SQL Ejemplo de gestión de datos con SQL 1. Crear la tabla FINCA: 2302010 0010 24 3931411 543 COMERÇ 3456912 0023 12 39411312 120 VIVENDES 1230101 00011 45 39328234 213 INDUSTRIA CREATE TABLE `finca` ( `refcad`

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

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle GUÍA DE LABORATORIO Nº 10 Actividad de Proyecto No. 5: Desarrollar mantenimiento preventivo, correctivo o proactivo para garantizar niveles de

Más detalles

Principales rutinas de mantenimiento

Principales rutinas de mantenimiento Principales rutinas de mantenimiento 1 Actualización de días de crédito en base al saldo del cliente La actualización de los días de crédito es una rutina que ayuda a saber cuales de nuestros clientes

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

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES

PROGRAMA 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 detalles

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN 1027-975X TÍTULO: El Control de Transacciones como mecanismo de seguridad en Bases de Datos Oracle. AUTORES: Osmani Miranda

Más detalles

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos Problemática: Desarrollar aplicaciones Cliente Servidor utilizando Sockets

Más detalles

Sistemas Informáticos I Resumen

Sistemas Informáticos I Resumen Sistemas Informáticos I Resumen Alejandro Bellogín Kouki 20 de enero de 2007 1. Modelo Entidad-Relación y tablas 1.1. Modelo E-R Entidad rectángulo Relaciones rombos Uno a uno! Uno a muchos! Muchos a muchos

Más detalles

Introducción al SQL embebido

Introducción al SQL embebido Introducción al SQL embebido Bases de Datos II 1 Índice 1. Introducción. 2. Estructura típica de un programa 3. Declaración de variables. 4. Utilización de SQL embebido. Sentencias básicas Uso de cursores

Más detalles

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL Rubén Andrés Leiva Cordero Este manual pretende ser un material de apoyo al trabajo realizado en las asignaturas de laboratorio de programación de bases

Más detalles

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos

mysql Departamento de Lenguajes y Computación Universidad de Almería mysql Contenidos Manuel Torres Gil mtorres@ual.es Departamento de Lenguajes y Computación Universidad de Almería Desarrollo de aplicaciones web Contenidos 1. La consola de 2. Comandos de interés 3. Creación de bases de

Más detalles

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades

INTRODUCCION. entidades. Modelo lógico de la base de datos. Matricula. carne. codigo_curso. año semestre nota. propiedades INTRODUCCION Uno de los objetivos del curso es modelar a través de un diagrama las estructuras lógicas requeridas para almacenar los datos y resolver las consultas del sistema información que requiera

Más detalles

InterBase / Firebird: el uso de eventos

InterBase / Firebird: el uso de eventos InterBase / Firebird: el uso de eventos Este artículo pretende dar una breve introducción acerca del uso de los eventos de Firebird e InterBase y como usarlos desde Delphi. Los eventos permiten a las aplicaciones

Más detalles

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Taller de Proyecto Una base de datos puede contener 1 ó + tablas Una tabla puede contener 1 ó + columnas

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE IGNATURA NOMBRE DE LA IGNATURA LSC 2009-2 12001 Administración de Bases de Datos PRÁCTICA No. 6 LABORATORIO DE NOMBRE DE LA PRÁCTICA

Más detalles

Motores de almacenamiento en MySQL 5.0 por Mario López y Juan A. Sánchez

Motores de almacenamiento en MySQL 5.0 por Mario López y Juan A. Sánchez Motores de almacenamiento en MySQL 5.0 por Mario López y Juan A. Sánchez 15 de enero de 2008 Qué es un motor de almacenamiento en un sistema gestor de bases de datos? Un motor de almacenamiento es una

Más detalles

LABORATORIO 10. Concurrencia y bloqueos en el SMBD SQL Server

LABORATORIO 10. Concurrencia y bloqueos en el SMBD SQL Server LABORATORIO 10. Concurrencia y bloqueos en el SMBD SQL Server GUÍA DE LABORATORIO Nº 10 Actividad de Proyecto No. 5: Desarrollar mantenimiento preventivo, correctivo o proactivo para garantizar niveles

Más detalles

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

Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Checks, Triggers y Excepciones en InterBase: validando desde la base de datos Por Alfonso Ricaño Bringas InterBase nos permite validar los valores que ingresan a los campos, mediante las restricciones

Más detalles

Conceptos de Bases de Datos Relacionales Triggers

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 detalles

Muchos manejadores de bases de datos (DBMSs) cuentan con sistemas de recuperación ante fallos, que permiten dejar la base de datos en estado

Muchos manejadores de bases de datos (DBMSs) cuentan con sistemas de recuperación ante fallos, que permiten dejar la base de datos en estado Muchos manejadores de bases de datos (DBMSs) cuentan con sistemas de recuperación ante fallos, que permiten dejar la base de datos en estado consistente cuando ocurren imprevistos tales como apagones o

Más detalles

Tema 4. SQL. Juan Ignacio Rodríguez de León

Tema 4. SQL. Juan Ignacio Rodríguez de León Tema 4. SQL Juan Ignacio Rodríguez de León Resumen Este tema se centra exclusivamente en el estudio del lenguaje de consultas SQL (Structured Query Language). SQL usa una combinación de álgebra relacional

Más detalles

PROCEDIMIENTOS ALMACENADOS

PROCEDIMIENTOS 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 detalles

TRIGGER LEONEL CADOSO ROMERO 1

TRIGGER 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 detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

Bases de Datos Relacionales. Conceptos y consideraciones para su uso.

Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Bases de Datos Relacionales. Conceptos y consideraciones para su uso. Dra. Marta E. Zorrilla Departamento de Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria Bases de de Datos.

Más detalles

UNIVERSIDAD DON BOSCO

UNIVERSIDAD DON BOSCO UNIVERSIDAD DON BOSCO Facultad: Ingeniería Escuela: Computación CATEDRA BASE DE DATOS I DOCENTE ING. LUIS ANAYA REPORTE INVESTIGACION COMPLEMENTARIA GUIA 10 INTEGRANTES HERNÁNDEZ DOÑO NORBERTO ANTONIO

Más detalles

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos

Base de Datos. Docente: Ing. Francisco Rodríguez BASE DATOS. Resultados. Internet. Requerimientos UNIVERSIDAD NACIONAL DE TRUJILLO ESCUELA DE ING. INDUSTRIAL Base de Datos Resultados Internet Requerimientos BASE DATOS Docente: Ing. Francisco Rodríguez Base de Datos Tema 9: Procedimientos Almacenados

Más detalles

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional

Sistemas de Datos Curso: Ernesto Chinkes. SQL Básico Algebra Relacional SQL Básico Algebra Relacional Modelo Relacional Conceptos Relación Esquema Operaciones del Algebra Relacional Selección Proyección Unión Diferencia Producto Cartesiano Algebra Relacional Selección (σ)

Más detalles

Modificación de datos

Modificación de datos Modificación de datos Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento Uso de transacciones Iniciar transacciones

Más detalles

TEMA 4.4: Recuperación ante fallos

TEMA 4.4: Recuperación ante fallos TEMA 4.4: Recuperación ante fallos a.- Introducción b.- Transacción: concepto y procesamiento c.- Recuperación - Concepto de Recuperación - Estructuras de Recuperación: - Ficheros Redo Log - Ficheros de

Más detalles

Lenguaje para descripción de datos

Lenguaje para descripción de datos Amparo López Gaona tación Fac. Ciencias, UNAM Mayo 2012 Definición de Datos El lenguaje para definición de datos permite especificar: Esquema de cada relación. El dominio de cada atributo. Restricciones

Más detalles

Tema: 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 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 detalles

Sistemas de Bases de Datos II ITS / ITSB EMT CETP

Sistemas de Bases de Datos II ITS / ITSB EMT CETP Administración de Datos D. M. L. Data Manipulation Language Administración de Datos D. M. L. Data Manipulation Language Lenguaje de Manipulación de Datos. Administración de Datos Los comandos son los siguientes:

Más detalles

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa)

GUIA DE LABORATORIO N 9 B. (000Webhost Php- Para desarrollar en casa) GUIA DE LABORATORIO N 9 B (000Webhost Php- Para desarrollar en casa) Objetivo: Crear servicios web utilizando la arquitectura REST, para obtener información desde un servidor web gratuito que se conecta

Más detalles

Historia de SQL. Historia de SQL. Introducción. Los primeros años. E. F. Codd, Investigador de IBM (1970) grandes bancos de datos compartidos»

Historia de SQL. Historia de SQL. Introducción. Los primeros años. E. F. Codd, Investigador de IBM (1970) grandes bancos de datos compartidos» Introducción Historia de SQL E. F. Codd, Investigador de IBM (1970)! «Un modelo relacional de datos para grandes bancos de datos compartidos»! Estructura tabular! Origen de las bases de datos relacionales

Más detalles

DESARROLLO WEB EN ENTORNO SERVIDOR

DESARROLLO WEB EN ENTORNO SERVIDOR DESARROLLO WEB EN ENTORNO SERVIDOR CAPÍTULO 6: Utilización de técnicas de acceso a datos Marcos López Sanz Juan Manuel Vara Mesa Jenifer Verde Marín Diana Marcela Sánchez Fúquene Jesús Javier Jiménez Hernández

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 lsi@lsi.us.es Web www.lsi.us.es Diseño

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

Implementación de Triggers en Firebird/Interbase SQL Server

Implementación de Triggers en Firebird/Interbase SQL Server Implementación de Triggers en Firebird/Interbase SQL Server Objetivos: Que el alumno comprenda las opciónes de implementación que tiene toda base de datos y sus implicancias. Que el alumno sea capaz de

Más detalles

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ

SQL EMBEBIDO FELIPE GARCÍA GÓMEZ UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA SQL EMBEBIDO FELIPE GARCÍA GÓMEZ Profesor: Asignatura: Titulación: Fecha: D. Francisco Ruiz González Bases de Datos Ing. Sup. Informática

Más detalles

BASES DE DATOS - SQL. Javier Enciso

BASES DE DATOS - SQL. Javier Enciso BASES DE DATOS - SQL Javier Enciso AGENDA Conceptos Básicos de Bases de Datos Manejo de Bases de Datos y Tablas SQL Inserción, Actualización y Borrado Consultas usando SELECT AGENDA Conceptos Básicos de

Más detalles

Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers

Escuela 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 detalles

Gestión de Segmentos de Rollback. Qué es una transacción? Secuencia de operaciones que han de ejecutarse de forma atómica.

Gestión de Segmentos de Rollback. Qué es una transacción? Secuencia de operaciones que han de ejecutarse de forma atómica. Índice 1. Introducción 2. Arquitectura de ORACLE 3. Arranque y Parada de una Base de Datos 4. Creación de una Base de Datos 5. Gestión de Espacios de Tabla (Tablespaces) 6. Gestión de Seguridad 7. Auditoría

Más detalles