base de datos - triggers

20

Upload: ronaldroldansalinas

Post on 18-Dec-2015

27 views

Category:

Documents


4 download

DESCRIPTION

base de datos

TRANSCRIPT

MANUAL DE TRIGGER EN SQL SERVER

UNIVERSIDAD SAN PEDROMANUAL DE TRIGGER EN SQL SERVER

18

INDICEMARCO TEORICO41.TRIGGER41.1CONCEPTO:41.2USO:41.3UN TRIGGER TIENE ASOCIADO:41.4Limitaciones de los triggers41.5APLICACIONES TIPICAS DE TRIGGERS51.6SINTAXIS ESENCIAL DE UN TRIGGER52.MICROSOFT SQL SERVER62.1Qu es Microsoft SQL Server62.2A quin le sirve Microsoft SQL Server62.3Tipos de Licencia62.4Por qu elegir Microsoft SQL Server7DEMOSTRACION81.Restaurar Backup NEPTUNO82.Creacin de Base de Datos BDRegistro113.Crear la tabla Pais_Eliminado en la base de datos BDRegistro con los mismos campos de la tabla de la cual vamos a almacenar los registros eliminados.124.Usar la base de datos NEPTUNO Crear TRIGGER135.Eliminar un registro de la tabla Pas en la base de datos NEPTUNO.156.Verificar si se guardaron los datos en nuestra nueva tabla BDRegistro16BIBLIOGRAFIA17LINK18

INDICE DE IMAGENESIlustracin 1: Conexin de Servidor a SQL Server 20128Ilustracin 2: Restaurando Base de Datos "Neptuno Parte 018Ilustracin 3: Restaurando Base de Datos "Neptuno" - Parte 029Ilustracin 4: Restaurando Base de Datos "Neptuno" - Parte 039Ilustracin 5: Restaurando Base de Datos "Neptuno" - Parte 0410Ilustracin 6: Restaurando Base de Datos - Parte 0510Ilustracin 7: Creacin de Nueva Base de Datos "BDRegistro"11Ilustracin 8: Ejecutando Consulta11Ilustracin 9: Creando Nueva Consulta en "BDRegistro"12Ilustracin 10 Ejecutando Consulta para Crear Tabla "Pais_Eliminado"12Ilustracin 11: Usando base de datos "NEPTUNO"13Ilustracin 12: Creando Trigger "TR_CATEGORIA_ELIMINADA"13Ilustracin 13: TRIGGER TR_CATEGORIA_ELIMINADA14Ilustracin 14: Corroborando Trigger creado en Tabla Pas15Ilustracin 15: Eliminando Registro en Tabla Pais - "NEPTUNO"15Ilustracin 16: Verificando datos guardado en la tabla Pais_Eliminado16

MARCO TEORICO1. TRIGGER

1.1 CONCEPTO: Es un procedimiento que se ejecuta cuando se cumple una condicin establecida al realizar una operacin. Dependiendo de la base de datos, los triggers pueden ser de insercin (INSERT), actualizacin (UPDATE) o borrado (DELETE).Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos.

1.2 USO:Los disparadores pueden emplearse para muchas cosas diferentes, incluyendo: El mantenimiento de restricciones de integridad complejas, que no sean posibles con las restricciones declarativas definidas en el momento de crear la tabla. La auditora de la informacin contenida en una tabla, registrando los cambios realizados y la identidad del que los llev a cabo. El aviso automtico a otros programas de que hay que llevar a cabo una determinada accin, cuando se realiza un cambio en una tabla1.3 UN TRIGGER TIENE ASOCIADO:

EL EVENTO: se refiere a la operacin que se efecta sobre la tabla (INSERT, DELETE o UPDATE). EL MOMENTO: Se refiere a cundo se dispara el trigger en relacin con el evento. Sus posibles valores son BEFORE y AFTER*. EL TIPO: Indica el nmero de veces que el cuerpo del trigger se ejecuta: por la operacin en conjunto (trigger de operacin) o por cada fila procesada (trigger de fila). En este ltimo caso se debe adicionar la clusula FOR EACH ROW

1.4 Limitaciones de los triggers

Solo se pueden aplicar a una tabla especfica, es decir, un trigger no sirve para dos o ms tablas. El trigger se crea en la base de datos que de trabajo pero desde un trigger puedes hacer referencia a otras bases de datos. Un Trigger devuelve resultados al programa que lo desencadena de la misma forma que un Stored Procedure aunque no es lo ms idneo, para impedir que una instruccin de asignacin devuelva un resultado se puede utilizar la sentencia SET NOCOUNT al principio del Trigger.

1.5 APLICACIONES TIPICAS DE TRIGGERS Hacer modificaciones en cascada sobre tablas relacionadas. Deshacer cambios que violan la integridad de los datos. Forzar restricciones que son muy complejas para reglas y restricciones. Mantener datos duplicados. Mantener columnas con datos derivados. Hacer ajustes de registros.1.6 SINTAXIS ESENCIAL DE UN TRIGGER

CREATE TRIGGER trigger_name ON { table | view } [ WITH [ ,...n ] ]{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } AS { sql_statement [ ; ] [ ,...n ]

Trigger_name es el nombre dado al trigger. Es un objeto de la base de datos y su nombre debe ser nico.

AFTER indica que el desencadenador slo se activa cuando todas las operaciones especificadas en la instruccin SQL desencadenadora se han ejecutado correctamente. Adems, todas las acciones referenciales en cascada y las comprobaciones de restricciones deben ser correctas para que este desencadenador se ejecute.AFTER es el valor predeterminado cuando slo se especifica la palabra clave FOR. Los desencadenadores AFTER no se pueden definir en las vistas.

INSTEAD OF Especifica que se ejecuta el desencadenador en vez de la instruccin SQL desencadenadora, por lo que se suplantan las acciones de las instrucciones desencadenadoras. Como mximo, se puede definir un desencadenador INSTEAD OF por cada instruccin INSERT, UPDATE o DELETE en cada tabla o vista. No obstante, en las vistas es posible definir otras vistas que tengan su propio desencadenador INSTEAD OF. Los desencadenadores INSTEAD OF no se pueden utilizar en vistas actualizables que usan WITH CHECK OPTION. { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] } Especifica las instrucciones de modificacin de datos que activan el desencadenador cuando se intenta en esta tabla o vista. Se debe especificar al menos una opcin. En la definicin del desencadenador se permite cualquier combinacin de estas opciones, en cualquier orden.Para los desencadenadores INSTEAD OF, no se permite la opcin DELETE en tablas que tengan una relacin de integridad referencial que especifica una accin ON DELETE en cascada. Igualmente, no se permite la opcin UPDATE en tablas que tengan una relacin de integridad referencial que especifica una accin ON UPDATE en cascada.

2. MICROSOFT SQL SERVER

2.1 Qu es Microsoft SQL ServerMicrosoft SQL Serveres un sistema para la gestin debases de datosproducido porMicrosoftbasado en el modelo relacional cuya principal funcin es la de almacenar y consultar datos solicitados por otras aplicaciones, sin importar si estn en la misma computadora, si estn conectadas a una red local o si estn conectadas a travs de internet (plataforma Cloud-Ready).

2.2 A quin le sirve Microsoft SQL Server

Bsicamente, cualquier usuario que desee mantener ordenados/organizados datos o informacin con el fin de acceder a ellos ms adelante Industrias Bancos Compaas manufactureras Empresas Instituciones

2.3 Tipos de Licencia Enterprise Business intelligence Standard Web Express con advanced services Express con herramientas Express

2.4 Por qu elegir Microsoft SQL Server

Seguridad Integridad de Datos Concurrencia

DEMOSTRACION1. Restaurar Backup NEPTUNOAbrimos el Programa SQL Server 2012 Conectar

Ilustracin 1: Conexin de Servidor a SQL Server 2012Restaurar Backup Neptuno

Ilustracin 2: Restaurando Base de Datos "Neptuno Parte 01 Dispositivo

Ilustracin 3: Restaurando Base de Datos "Neptuno" - Parte 02

Agregar Aceptar

Ilustracin 4: Restaurando Base de Datos "Neptuno" - Parte 03

Buscar Archivo a Restaurar Aceptar

Ilustracin 5: Restaurando Base de Datos "Neptuno" - Parte 04 Aceptar

Ilustracin 6: Restaurando Base de Datos - Parte 05

2. Creacin de Base de Datos BDRegistro Nueva Consulta / Master

Ilustracin 7: Creacin de Nueva Base de Datos "BDRegistro" Crear la Base de datos BDRegistro Ejecutar

Ilustracin 8: Ejecutando Consulta

3. Crear la tabla Pais_Eliminado en la base de datos BDRegistro con los mismos campos de la tabla de la cual vamos a almacenar los registros eliminados. BDRegistro Nueva Consulta

Ilustracin 9: Creando Nueva Consulta en "BDRegistro" Ejecutar Consulta

Ilustracin 10 Ejecutando Consulta para Crear Tabla "Pais_Eliminado"

4. Usar la base de datos NEPTUNO Crear TRIGGER

Usar base de datos NEPTUNO

Ilustracin 11: Usando base de datos "NEPTUNO" Crear Trigger TR_CATEGORIA_ELIMINADA

Ilustracin 12: Creando Trigger "TR_CATEGORIA_ELIMINADA"

GO--se crea el trigger con el nombre TR_CATEGORIA_ELIMINADACREATE TRIGGER TR_CATEGORIA_ELIMINADA--la tabla que afectaON dbo.Pais--la operacin q realiza el trigger After (ocurre despus de que pasa la eliminacin)AFTER DELETEASBEGIN--las sentencias sql que ejecuta el triggerINSERT INTO BDRegistrar.dbo.Pais_EliminadoSELECT * FROM DELETED dENDGOIlustracin 13: TRIGGER TR_CATEGORIA_ELIMINADA

Ilustracin 14: Corroborando Trigger creado en Tabla Pas5. Eliminar un registro de la tabla Pas en la base de datos NEPTUNO. Se ejecutar el Trigger y el Registro eliminado se almacenar en la tabla Pais_Eliminado de la base de datos BDRegistro

Ilustracin 15: Eliminando Registro en Tabla Pais - "NEPTUNO"

6. Verificar si se guardaron los datos en nuestra nueva tabla BDRegistro

Ilustracin 16: Verificando datos guardado en la tabla Pais_Eliminado

BIBLIOGRAFIAhttp://es.slideshare.net/dinastiajosedejesus/triggers-o-disparadores?related=1http://www-oei.eui.upm.es/Asignaturas/BD/BD/docbd/prac/sintaxisSQLServer.pdfhttp://www.snip.gob.ni/xdc/SQL/Desencadenadores.pdfhttp://static.schoolrack.com/files/14960/103289/Tutorial_de_SQL_Server_2005_Express.pdf

LINK

https://mega.co.nz/#!kQkk2LhL!sL9x3UNfMjoxOvH78HDZNDiIkZzW88a0c1rTs8ZiGU4