Manipulacion de Datos SQL cap10

3,968 views

Published on

manipulacion de datos, SQL capitulo 10 Oracle Fundamentals I, z0-051

Published in: Education, Technology
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
3,968
On SlideShare
0
From Embeds
0
Number of Embeds
588
Actions
Shares
0
Downloads
132
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Manipulacion de Datos SQL cap10

  1. 1. Update, delete, insert, transaction<br />Oracle Fundamentals I<br />
  2. 2. Lenguaje de Manipulacion de datos DML<br />Select<br />Insert<br />Update<br />Delete<br />Merge<br />
  3. 3. INSERT<br />Inserta tuplas dentro de una tabla<br />La insercion debe respetar reglas definidas, las cuales se denominan CONSTRAINT<br />
  4. 4. UPDATE<br />Se utiliza para modificar tuplas dentro de una tabla, las tuplas YA EXISTEN EN LA TABLA<br />
  5. 5. DELETE<br />Elimina tuplas de una tabla.<br />Luego de la eliminacion, en la tabla se disparan desencadenantes de integridad referencial hacia otras tablas<br />
  6. 6. MERGE<br />Existe a partir del SQL 2003, oracle 10g hacia adelante.<br />Toma un conjunto de tuplas origen, si una fila en el origen coincide con el destino hace UPDATE, de otro modo hace INSERT<br />
  7. 7. TRUNCATE<br />Desde el punto de vista del usuario, equivale a utilizar Delete sin la clausula Where.<br />La diferencia es que es muy eficiente y elimina todas las tuplas de forma instantánea.<br />
  8. 8. Insertando filas<br />Insertintohr.regionsvalues(‘10’, ‘Great Britain’);<br />Insertintohr.regions( region_name,region_id) values (‘Australasia’, 11);<br />Insertintoregions_copyselect * fromregions;<br />
  9. 9. Ejercicio<br />Select * fromregions;<br />Insertintoregionsvalues(101, ‘Great Britain’);<br />Insertintoregionsvalues(&Region_id, ‘&regionName’);<br />Insertintoregionsvalues(( selectmax(region_id)+1 fromregions),’Oceania’);<br />Commit;<br />
  10. 10. UPDATE<br />UPDATE tabla SET columna1= valor, columna2=valor2 … WHERE condicion;<br />Updateemployees set salary= (selectsalaryfromemployeeswhereemployee_id=206);<br />Updateemployees set salary=3000 whereemployee_id=206<br />
  11. 11. Ejercicio<br />Updateregions set region_name = ‘Scandinavia’ whereregion_id=101;<br />Updateregions set region_name = ‘Iberia’ whereregion_id>100;<br />Select * fromregions;<br />Commit;<br />
  12. 12. DELETE<br />DELETE FROM tabla WHERE condicion;<br />Deletefromemployeeswhereemployee_id=206;<br />Deletefromemployeeswheredepartment_idisnull;<br />
  13. 13. Ejercicio<br />Deletefromregionswhereregion_id = 204;<br />Deletefromregions;<br />Deletefromregionswhereregion_id in (selectregion_idfromregionswhereregion_name= ‘Iberia’);<br />Select * fromregions;<br />Commit;<br />
  14. 14. TRUNCATE<br />TRUNCATE TABLE tabla1;<br />
  15. 15. TRANSACCIONES<br />Una transaccion es una o mas instrucciones DML, seguidas del comando ROLLBACK o COMMIT<br />SAVEPOINT sirve para crear puntos de transaccion<br />
  16. 16. PRUEBA ACIDA<br />Toda base de datos relacional debe complir con:<br />Atomicidad<br />Consistencia<br />Isolation (aislamiento)<br />Durabilidad<br />
  17. 17. ATOMICIDAD<br />El principio de atomicidad expresa que todas las partes de una transaccion deben completarse o no hacer ninguna<br />Ej. Una transferencia bancaria entre una cuenta y otra.<br />
  18. 18. CONSISTENCIA<br />Expresa que el estado que resulta de una consulta debe ser consistente con el stado de la base de datos en cualquier tiempo que la consulta se ejecute.<br />
  19. 19. AISLAMIENTO<br />Establece que una transaccion incompleta debe ser invisible para el resto del mundo<br />
  20. 20. DURABLE<br />Una vez que una transaccion se ha completado, debe ser imposible que los datos se pierdan en la base de datos.<br />
  21. 21. INICIO Y FIN DE UNA TRANSACCION<br />Una sesion inicia una transaccion para cualquier instrucción INSERT, update, select o delete (NO para truncate, pues es no es DML)<br />No se puede iniciar una transaccion nueva sin terminar la primera. Standard SQL<br />
  22. 22. Si ejecutamos una instrucción DDL (create, alter o Drop) o una DCL (Grant o Revoke) en la transaccion actual se realizara un COMMIT<br />Debido a que ellas hacen modificaciones que requieren actualizacion inmediata<br />
  23. 23. Controlando una transacción<br />Una transaccion inicia de forma implicita con una instrucción DML<br />COMMIT; confirma una transaccion.<br />Hasta que una transaccion en completada, se mantiene invisible para otras sesiones.<br />
  24. 24. ROLLBACK<br />ROLLBACK [TO SAVEPOINT save];<br />Revierte una transaccion, utilizando puntos de guardado si asi se desea.<br />
  25. 25. SAVEPOINT<br />El comando SAVEPOINT se puede utilizar para establecer marcas que pondrá utilizar en un ROLLBACK, pero sigue siendo la misma transacción en curso, independientemente de la utilización de SAVEPOINT.<br />SAVEPOINT savepoint1;<br />
  26. 26. Ejercicio<br />
  27. 27. Ejercicio mental<br />
  28. 28. Auto-Commit<br />Es posible configurar SQL developer y SQLplus para hacer un commitimplicitamente luego de cada instrucción DML, solo que si se activa la instrucción Rollback ya no tendra efecto.<br />SET AUTOCOMMIT ON<br />SET AUTOCOMMIT OFF<br />
  29. 29. Ojo mucho Ojo<br /><< 0 rowsupdated. >><br />

×