SlideShare una empresa de Scribd logo
Universidad Tecnológica de Tehuacán

Ing. en Tecnologías de la Información y
            Comunicación

   Base de Datos para Aplicaciones
 «Transacciones y Stored Procedures»
    Ing. Octavio Sánchez Delgado

     TSU Vera Sosa Guillermina
       8° A enero-abril 2013

                             24 de enero de 2013
Transacciones
Son operaciones que se realizan en un bloque, para
ello se utiliza:
«Begin» o «start» para iniciar una transacción.
«Rollback» para cancelar y regresar al estado final.
«Commit» para confirmar la transacción y finalizar
la transacción.
Por lo tanto una transacción se define para cumplir
las restricciones de integridad de la base de datos.
Propiedades
• Atomicidad: Confirmación automática de todas las
  transacciones.
• Consistencia: Que se vean reflejados los cambios
  realizados.
• Aislamiento: de manera independiente no comparten
  información entre ellas, por lo tanto realizan primero
  sus operaciones y luego las suyas.
• Durabilidad: Asegurar que la información es correcta.
  Una vez confirmado los cambios ya no se desaceran los
  cambios, por lo tanto se mantendrá la información.
Ventajas de usar transacciones
• Permite recuperar de errores como:
• Servidores pasmados
• Falta de energía
• Errores ajenos a la base de datos
• Errores de la base de datos
• Consultas mal ejecutadas
Para lo cual puedes ejecutar operaciones y ver los
resultados y si estas de acuerdo entonces finalizas
con un commit.
Ejemplo de una transacción
Begin
Insert into tb2 values(2,’Silla’);
Select *from tb2;
Commit

En este ejemplo se inicia la transacción, luego se
inserta un registro en la tabla tb2, después se
realiza una consulta y finalmente se cierra la
finalización.
Procedimientos almacenados
• Es un conjunto de operaciones o comandos
  que pueden almacenarse en el servidor.
• Una vez almacenados puedes acceder y
  utilizar para realizar una o varias operaciones
  especificas con el mismo Stored Procedures.
• Dentro de un procedimiento podemos hacer
  uso de una o varias transacciones especificas.
• Para llamar un Stored Procedures se utiliza el
  call y el nombre del Stored Procedures.
Estructura
• Para utilizar un stored procedure cambiamos
  el delimitador para que no nos mande error
  en las sentencias del procedimiento.
Delimiter //
Create Procedure nombre_SP(Parametros)
Begin
[Conjunto de operaciones o sentencias]
End
Ejemplo
Ejecutando un stored en MySQL se realizaría así.
mysql> delimiter //
mysql> CREATE PROCEDURE simpleproc (OUT
param1 INT)
-> BEGIN
-> SELECT COUNT(*) INTO param1 FROM t;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
Manejador de errores «Handler»
Es invocado cuando se da un evento o condición
definida con anterioridad. Este evento está
siempre asociado con una condición de
error, pero puedes tener tres formas de definir
el error:
• Como código de error de MySQL
• Como código SQLSTATE ANSI-standard
• Como nombre de condición, ejemplo:
   SQLEXCEPTION,SQLWARNING y NOT FOUND.
SQLWARNING es una abreviación para todos los códigos SQLSTATE que
comienzan con 01.
 NOT FOUND es una abreviación para todos los códigos SQLSTATE que
comienzan con 02.
SQLEXCEPTION es una abreviación para todos los códigos SQLSTATE no
tratados por
SQLWARNING o NOT FOUND.

En el comando Handler podemos manejar una o varias condiciones . Si una
o varias condiciones se cumplen entonces se ejecuta el comando que se
especifique.
Handler CONTINUE : continúa la rutina actual tras la ejecución del comando
del handler.
Handler EXIT , termina la ejecución del comando compuesto BEGIN...END
actual.
Handler UNDO: todavía no se soporta.
Para tratar errores específicos
Podemos utilizar la siguente estructura para un
error en especifico:
DECLARE condition_name CONDITION FOR
condition_value
condition_value:
SQLSTATE [VALUE] sqlstate_value
| mysql_error_code
Para tratar varios errores
• DECLARE handler_type HANDLER FOR condition_value[,...]
  sp_statement
• handler_type:
• CONTINUE
• | EXIT
• | UNDO
• condition_value:
• SQLSTATE [VALUE] sqlstate_value
• | condition_name
• | SQLWARNING
• | NOT FOUND
• | SQLEXCEPTION
• | mysql_error_code
mysql> create procedure pstar ()
begin declare v int;
declare exit handler for sqlexception select 'SQLEXCEPTION';
drop table if exists tstar;
create table tstar (s1 int, s2 char(1));
set v = 0; while TRUE do insert into tstar values (null,null); end
while;
end//
En este ejemplo si cacha un error de una tabla, borra la tabla
después la crea, compara el valor de la variable y mientras
exista crea un registro en la tabla.

Más contenido relacionado

La actualidad más candente

Ciclo haga mientras
Ciclo haga mientrasCiclo haga mientras
Ciclo haga mientras
Magda Fernandez
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
Josafat Aguilar Olivares
 
Instruccion if
Instruccion ifInstruccion if
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datos
Jose O- Vera
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
jocuva101
 
Transacciones
TransaccionesTransacciones
Transacciones
Flor de la Luz
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
Jose Musett
 
Unidad iv expo sbdts
Unidad iv expo sbdtsUnidad iv expo sbdts
Unidad iv expo sbdts
Rut Cruz S
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
juan
 
Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysql
Carmen Sena C
 
B.d
B.dB.d
Problemas del bloqueo en dos faces
Problemas del bloqueo en dos facesProblemas del bloqueo en dos faces
Problemas del bloqueo en dos faces
ISAIASJOSEFERNANDOEL
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
melasa7
 
Transaccion
TransaccionTransaccion
Transaccion
Alberto Torres
 
Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamiento
guest1db220
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Mayito Pdg
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
Jefer Lee Parra
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
Lisbeth Ocaña Bueno
 

La actualidad más candente (18)

Ciclo haga mientras
Ciclo haga mientrasCiclo haga mientras
Ciclo haga mientras
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Instruccion if
Instruccion ifInstruccion if
Instruccion if
 
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datos
 
Administración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueosAdministración de transacciones, problemas, candados e interbloqueos
Administración de transacciones, problemas, candados e interbloqueos
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
Unidad iv expo sbdts
Unidad iv expo sbdtsUnidad iv expo sbdts
Unidad iv expo sbdts
 
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTOINTERBLOQUEOS Y NIVELES DE AISLAMIENTO
INTERBLOQUEOS Y NIVELES DE AISLAMIENTO
 
Transacciones en mysql
Transacciones en mysqlTransacciones en mysql
Transacciones en mysql
 
B.d
B.dB.d
B.d
 
Problemas del bloqueo en dos faces
Problemas del bloqueo en dos facesProblemas del bloqueo en dos faces
Problemas del bloqueo en dos faces
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Transaccion
TransaccionTransaccion
Transaccion
 
Niveles De Aislamiento
Niveles De AislamientoNiveles De Aislamiento
Niveles De Aislamiento
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Base de datos propiedades acid
Base de datos propiedades acidBase de datos propiedades acid
Base de datos propiedades acid
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 

Destacado

Звіт табору "Ромашка" - 2015
Звіт табору "Ромашка" - 2015Звіт табору "Ромашка" - 2015
Звіт табору "Ромашка" - 2015
Оксана Гатыло
 
דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה
 דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה
דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותהTehiya Ben Zur
 
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסויים
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסוייםענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסויים
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסוייםTehiya Ben Zur
 
Feria científica
Feria científicaFeria científica
Feria científica
Aaron Castellon
 
2 03 Hw
2 03 Hw2 03 Hw
2 03 Hw
dilan123
 
Karina 3
Karina 3Karina 3
Karina 3
LISBETKARINA
 
Honor, disciplina y lealtad
Honor, disciplina y lealtadHonor, disciplina y lealtad
Honor, disciplina y lealtad
Pablo Arcos
 
superlerr
superlerrsuperlerr
superlerr
lreyesr2
 
ฉันนนนนนนนนนนนนนน
ฉันนนนนนนนนนนนนนนฉันนนนนนนนนนนนนนน
ฉันนนนนนนนนนนนนนนthongdeenok
 
Uca and uca+ for ms lync skype for business
Uca and uca+ for ms lync skype for businessUca and uca+ for ms lync skype for business
Uca and uca+ for ms lync skype for business
Bobby Easterbrook
 
Blog
BlogBlog
Contenido tecnologia
Contenido tecnologiaContenido tecnologia
Contenido tecnologia
valeriamarfil
 
Glosario de terminos de informática
Glosario de terminos de informáticaGlosario de terminos de informática
Glosario de terminos de informática
Jose Brito
 
Миссия тимо
Миссия  тимоМиссия  тимо
Миссия тимо
Кировский Тимо
 
Honor, disciplina y lealtad by Carlos Tapia
Honor, disciplina y lealtad by Carlos TapiaHonor, disciplina y lealtad by Carlos Tapia
Honor, disciplina y lealtad by Carlos Tapia
Carlos Andrés
 

Destacado (17)

Tecnoooooinfo
TecnoooooinfoTecnoooooinfo
Tecnoooooinfo
 
Звіт табору "Ромашка" - 2015
Звіт табору "Ромашка" - 2015Звіт табору "Ромашка" - 2015
Звіт табору "Ромашка" - 2015
 
דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה
 דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה
דו"ח רשם העמותות על ענת רפואה-יש עילה לפירוק העמותה
 
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסויים
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסוייםענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסויים
ענת רפואה יוצאת כנגד המתריעים על הטסות קופים לניסויים
 
Doc4
Doc4Doc4
Doc4
 
Feria científica
Feria científicaFeria científica
Feria científica
 
2 03 Hw
2 03 Hw2 03 Hw
2 03 Hw
 
Karina 3
Karina 3Karina 3
Karina 3
 
Honor, disciplina y lealtad
Honor, disciplina y lealtadHonor, disciplina y lealtad
Honor, disciplina y lealtad
 
superlerr
superlerrsuperlerr
superlerr
 
ฉันนนนนนนนนนนนนนน
ฉันนนนนนนนนนนนนนนฉันนนนนนนนนนนนนนน
ฉันนนนนนนนนนนนนนน
 
Uca and uca+ for ms lync skype for business
Uca and uca+ for ms lync skype for businessUca and uca+ for ms lync skype for business
Uca and uca+ for ms lync skype for business
 
Blog
BlogBlog
Blog
 
Contenido tecnologia
Contenido tecnologiaContenido tecnologia
Contenido tecnologia
 
Glosario de terminos de informática
Glosario de terminos de informáticaGlosario de terminos de informática
Glosario de terminos de informática
 
Миссия тимо
Миссия  тимоМиссия  тимо
Миссия тимо
 
Honor, disciplina y lealtad by Carlos Tapia
Honor, disciplina y lealtad by Carlos TapiaHonor, disciplina y lealtad by Carlos Tapia
Honor, disciplina y lealtad by Carlos Tapia
 

Similar a Tarea

Tarea
TareaTarea
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
Hector Lumisaca Pinduisaca
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
José Antonio Sandoval Acosta
 
Transacciones
TransaccionesTransacciones
Transacciones
Daniel Antonio Cruz
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
Jaime Aguilar Rafael
 
Transacciones
TransaccionesTransacciones
Transacciones
TransaccionesTransacciones
Errores
ErroresErrores
Errores
Laura Hdz M
 
Transacciones
TransaccionesTransacciones
Transacciones
Maryy Aqua
 
Transacciones
TransaccionesTransacciones
Transacciones
Sandrita Rafael Estela
 
Transacciones
TransaccionesTransacciones
Transacciones
Sandrita Rafael Estela
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
SuarezJhon
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
Jorge Mengelle
 
Manejo de transaccones
Manejo de transacconesManejo de transaccones
Manejo de transaccones
EIYSC
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
Julio Miron Carrillo
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
Julio Miron Carrillo
 
Transacciones
TransaccionesTransacciones
Transacciones
Vicente Alberca
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
Sandrita Rafael Estela
 
Transaccion
TransaccionTransaccion
Transaccion
Jorge Mengelle
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
UNIVERSIDAD VERACRUZANA
 

Similar a Tarea (20)

Tarea
TareaTarea
Tarea
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Taller de Base de Datos - Unidad 5 transacciones
Taller de Base de Datos - Unidad 5  transaccionesTaller de Base de Datos - Unidad 5  transacciones
Taller de Base de Datos - Unidad 5 transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Errores
ErroresErrores
Errores
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
Manejo de transaccones
Manejo de transacconesManejo de transaccones
Manejo de transaccones
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
 
Transaccion
TransaccionTransaccion
Transaccion
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 

Tarea

  • 1. Universidad Tecnológica de Tehuacán Ing. en Tecnologías de la Información y Comunicación Base de Datos para Aplicaciones «Transacciones y Stored Procedures» Ing. Octavio Sánchez Delgado TSU Vera Sosa Guillermina 8° A enero-abril 2013 24 de enero de 2013
  • 2. Transacciones Son operaciones que se realizan en un bloque, para ello se utiliza: «Begin» o «start» para iniciar una transacción. «Rollback» para cancelar y regresar al estado final. «Commit» para confirmar la transacción y finalizar la transacción. Por lo tanto una transacción se define para cumplir las restricciones de integridad de la base de datos.
  • 3. Propiedades • Atomicidad: Confirmación automática de todas las transacciones. • Consistencia: Que se vean reflejados los cambios realizados. • Aislamiento: de manera independiente no comparten información entre ellas, por lo tanto realizan primero sus operaciones y luego las suyas. • Durabilidad: Asegurar que la información es correcta. Una vez confirmado los cambios ya no se desaceran los cambios, por lo tanto se mantendrá la información.
  • 4. Ventajas de usar transacciones • Permite recuperar de errores como: • Servidores pasmados • Falta de energía • Errores ajenos a la base de datos • Errores de la base de datos • Consultas mal ejecutadas Para lo cual puedes ejecutar operaciones y ver los resultados y si estas de acuerdo entonces finalizas con un commit.
  • 5. Ejemplo de una transacción Begin Insert into tb2 values(2,’Silla’); Select *from tb2; Commit En este ejemplo se inicia la transacción, luego se inserta un registro en la tabla tb2, después se realiza una consulta y finalmente se cierra la finalización.
  • 6. Procedimientos almacenados • Es un conjunto de operaciones o comandos que pueden almacenarse en el servidor. • Una vez almacenados puedes acceder y utilizar para realizar una o varias operaciones especificas con el mismo Stored Procedures. • Dentro de un procedimiento podemos hacer uso de una o varias transacciones especificas. • Para llamar un Stored Procedures se utiliza el call y el nombre del Stored Procedures.
  • 7. Estructura • Para utilizar un stored procedure cambiamos el delimitador para que no nos mande error en las sentencias del procedimiento. Delimiter // Create Procedure nombre_SP(Parametros) Begin [Conjunto de operaciones o sentencias] End
  • 8. Ejemplo Ejecutando un stored en MySQL se realizaría así. mysql> delimiter // mysql> CREATE PROCEDURE simpleproc (OUT param1 INT) -> BEGIN -> SELECT COUNT(*) INTO param1 FROM t; -> END -> // Query OK, 0 rows affected (0.00 sec) mysql> delimiter ;
  • 9. Manejador de errores «Handler» Es invocado cuando se da un evento o condición definida con anterioridad. Este evento está siempre asociado con una condición de error, pero puedes tener tres formas de definir el error: • Como código de error de MySQL • Como código SQLSTATE ANSI-standard • Como nombre de condición, ejemplo: SQLEXCEPTION,SQLWARNING y NOT FOUND.
  • 10. SQLWARNING es una abreviación para todos los códigos SQLSTATE que comienzan con 01. NOT FOUND es una abreviación para todos los códigos SQLSTATE que comienzan con 02. SQLEXCEPTION es una abreviación para todos los códigos SQLSTATE no tratados por SQLWARNING o NOT FOUND. En el comando Handler podemos manejar una o varias condiciones . Si una o varias condiciones se cumplen entonces se ejecuta el comando que se especifique. Handler CONTINUE : continúa la rutina actual tras la ejecución del comando del handler. Handler EXIT , termina la ejecución del comando compuesto BEGIN...END actual. Handler UNDO: todavía no se soporta.
  • 11. Para tratar errores específicos Podemos utilizar la siguente estructura para un error en especifico: DECLARE condition_name CONDITION FOR condition_value condition_value: SQLSTATE [VALUE] sqlstate_value | mysql_error_code
  • 12. Para tratar varios errores • DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement • handler_type: • CONTINUE • | EXIT • | UNDO • condition_value: • SQLSTATE [VALUE] sqlstate_value • | condition_name • | SQLWARNING • | NOT FOUND • | SQLEXCEPTION • | mysql_error_code
  • 13. mysql> create procedure pstar () begin declare v int; declare exit handler for sqlexception select 'SQLEXCEPTION'; drop table if exists tstar; create table tstar (s1 int, s2 char(1)); set v = 0; while TRUE do insert into tstar values (null,null); end while; end// En este ejemplo si cacha un error de una tabla, borra la tabla después la crea, compara el valor de la variable y mientras exista crea un registro en la tabla.