Anda di halaman 1dari 6

UNIVERSIDAD AUTNOMA DE

CHIHUAHUA
FACULTAD DE INGENIEA
DISEO DE BASE DE DATOS II
JORGE ALBERTO CHAPARRO TARANGO

TRANSACCIONES, PROCEDIMIENTOS
Y TRIGGERS

KARLA MARA SENZ


LPEZ
256954

TRANSACCIN

Una transaccin es una secuencia de operaciones realizadas como una sola


unidad lgica de trabajo. Una unidad lgica de trabajo debe exhibir cuatro
propiedades, conocidas como propiedades de:

Atomicidad: Una transaccin debe ser una unidad atmica de trabajo,


tanto si se realizan todas sus modificaciones en los datos, como si no se
realiza ninguna de ellas, ocurren totalmente o no ocurren.
Coherencia: Cuando finaliza, una transaccin debe dejar todos los datos
en un estado coherente.
Aislamiento:
Las
modificaciones
realizadas
por
transacciones
simultneas se deben aislar de las modificaciones llevadas a cabo por
otras transacciones simultneas. Una transaccin reconoce los datos en
el estado en que estaban antes de que otra transaccin simultnea los
modificara o despus de que la segunda transaccin haya concluido,
pero no reconoce un estado intermedio. Esto se conoce como
seriabilidad. Las transacciones son independientes entre s.
Durabilidad: Una vez concluida una transaccin, sus efectos son
permanentes en el sistema. Las modificaciones persisten an en el caso
de producirse un error del sistema.

Es responsabilidad de un sistema de base de datos proporcionar los


mecanismos que aseguren la integridad fsica de cada transaccin:

Servicios de bloqueo que preservan el aislamiento de la transaccin.

Servicios de registro que aseguran la durabilidad de la transaccin.

Caractersticas de administracin de transacciones que exigen la


atomicidad y coherencia de la transaccin

Estados de una transaccin:


Activa: Durante su ejecucin.
Parcialmente comprometida: Despus de ejecutar su ltima instruccin.
Fallida: Imposible de continuar su ejecucin normal.
Abortada: Transaccin retrocedida y base de datos restaurada al estado
anterior a su ejecucin. Se puede cancelar o reiniciar.
Iniciar transacciones:
Se pueden iniciar transacciones en una instancia de SQL Server Database
Engine (Motor de base de datos de SQL Server).

Transacciones explcitas
o Inicie una transaccin de forma explcita emitiendo la instruccin
Transact-SQL BEGIN TRANSACTION.
Transacciones de confirmacin automtica
o El modo predeterminado para el Motor de base de datos. Cada
instruccin Transact-SQL se confirma cuando termina. No tiene
que especificar instrucciones para controlar las transacciones.
Transacciones implcitas
o Establezca el modo de transaccin implcita a travs de la
instruccin SET IMPLICIT_TRANSACTIONS ON de TransactSQL. La siguiente instruccin inicia automticamente una nueva
transaccin.
Transacciones de lote
o Una transaccin Transact-SQL explcita o implcita que se inicia en
una sesin de MARS se convierte en una transaccin de lote, y es
slo aplicable a conjuntos de resultados activos mltiples (MARS).
Si una transaccin de lote no se confirma ni se revierte cuando se
termina
un
lote,
queda
revertida
por
SQL
Server
automticamente.
Finalizar transacciones
Puede finalizar las transacciones con una instruccin:

COMMIT: Si una transaccin es correcta, confrmela. La instruccin


COMMIT garantiza que todas las modificaciones de la transaccin se
conviertan en una parte permanente de la base de datos.
ROLLBACK: Si se produce un error en una transaccin o el usuario
decide cancelar la transaccin, revierta la transaccin. La instruccin
ROLLBACK revierte todas las modificaciones realizadas en la transaccin
al devolver los datos al estado en que estaban al inicio de la transaccin.

PROCEDIMIENTO
Un procedimiento almacenado en SQL Server es un grupo de una o varias
instrucciones Transact-SQL. Se agrupan de varias formas:

Mediante lotes: Un lote es un grupo compuesto por una o varias


instrucciones de Transact-SQL que se envan desde una aplicacin al
servidor como una unidad. Microsoft SQL Server ejecuta cada lote como
una sola unidad ejecutable.

Mediante procedimientos almacenados: Un procedimiento almacenado


es un grupo de instrucciones Transact-SQL previamente definidas y
compiladas en el servidor. El procedimiento almacenado puede aceptar
parmetros y devolver conjuntos de resultados, cdigos de retorno y
parmetros de salida a la aplicacin que realiza la llamada.

Mediante desencadenadores: Un desencadenador es un tipo especial de


procedimiento almacenado. Se ejecuta cuando un usuario realiza una
modificacin determinada (INSERT, UPDATE o DELETE) en una tabla.

Mediante scripts: Un script es una serie de instrucciones Transact-SQL


almacenadas en un archivo. Este archivo se puede utilizar como entrada
para la utilidad sqlcmd o el Editor de cdigo SQL Server Management
Studio. Las utilidades ejecutarn, entonces, las instrucciones TransactSQL almacenadas en el archivo.

Caractersticas de SQL Server permiten controlar la utilizacin de varias


instrucciones Transact-SQL a la vez:

Variables: Permiten almacenar datos para usarlos posteriormente como


entrada en una instruccin Transact-SQL. Por ejemplo, se puede codificar
una consulta que necesite especificar distintos valores de datos en la
clusula WHERE cada vez que se ejecute la consulta. Puede escribir la
consulta para que use variables en la clusula WHERE y codificar la
lgica para que complete las variables con los datos adecuados. Los
parmetros de los procedimientos almacenados son una clase especial
de variables.

Instrucciones de control de flujo: Permiten incluir lgica condicional. Por


ejemplo, si el pas es Canad, se ejecuta una serie de instrucciones

Transact-SQL. Si el pas es Reino Unido, se ejecuta otra serie de


instrucciones Transact-SQL.

Control de errores: Permite personalizar la forma en que SQL Server


responde a los problemas. Puede especificar las acciones apropiadas que
se llevarn a cabo cuando se produzcan errores, o bien mostrar
mensajes de error personalizados con ms informacin para el usuario
que los errores genricos de SQL Server.

TIGGERS
Un trigger (disparador) es una clase especial de procedimiento almacenado
que se ejecuta automticamente cuando se produce un evento en el
servidor de base de datos. Los eventos incluyen las instrucciones INSERT,
UPDATE o DELETE. Los triggers pueden usarse para aplicar regalas de
negocios y la integridad de datos, consultar tablas e instrucciones Transact-SQL
complejas. El trigger y la instruccin que lo activa se tratan como una sola
transaccin, que puede revertirse desde el trigger. Si se detecta un error grave,
se revierte automticamente toda la transaccin.
Ventajas de los triggers

Se parecen a las restricciones en que pueden aplicar la integridad de


entidad o de dominio y resultan de gran utilidad cuando las
caractersticas permitidas por las restricciones no cubren las
necesidades de la aplicacin.
Pueden realizar cambios en cascada mediente tablas relacionadas de la
base de datos. Y se pueden ejecutar con ms eficacia con las
restricciones de integridad referencial en cascada.
Pueden hacer referencia a columans de otras tablas.
Pueden evaluar el estado de una tabla antes y despus de modificar los
datos y actuar en funcin de esta diferencia.
Pueden impedir o revertir los cambios que infrinjan la integridad
referencial y cancelar, de este modo, cualquier intento de modificacin
de los datos.
Si hay restricciones en la tabla de desencadenadores, se comprobarn
despus de la ejecucin del trigger INSTEAD OF, pero antes de la
ejecucin del trigger AFTER. Si se infrangen las restricciones, se
revertirn las acciones de los triggets INSTEAD OF y ARTER.

BIBLIOGRAFA

Ficheros y bases de datos (pdf en lnea). Fecha de consulta: 24/09/14.


Disponible
en:

https://www.fdi.ucm.es/profesor/fernan/DBD/apuntestema07.pdf
Microsoft SQL Server (en lnea). Fecha de consulta: 24/09/14. Disponible
en:
http://technet.microsoft.com/es-

es/library/ms175523%28v=sql.105%29.aspx
Microsoft SQL server (en lnea). Fecha de consulta: 24/09/14.
Disponible
en:
http://technet.microsoft.com/eses/library/ms189626(v=sql.105).aspx

Microsoft developer network (en lnea). Fecha de consulta:


24/09/14.
Disponible
en:
http://msdn.microsoft.com/eses/library/ms190782.aspx
Microsoft developer network (en lnea). Fecha de consulta: 24/09/14.
Disponible en: http://msdn.microsoft.com/es-mx/library/ms178110.aspx

Anda mungkin juga menyukai