SlideShare una empresa de Scribd logo
1 de 7
“Año de la consolidación del Mar de Grau”
Escuela Tecnológica Superior.
ETSUNP.
Universidad Nacional de Piura.
Integrantes:
Abad Landacay Amarelis
Fernández Ruesta Fergie Katherine
Hernández Hernández Kathya
Pedemonte Aguirre Celena
Navarro Carmen Raul Alexander
Curso:
Base de Datos II
Docente:
Ing. José Moncada Morales
Tema:
Triggers, Procesos Almacenados, Vistas y Funciones
TRIGGER
Un trigger (o disparador) en una Base de datos, es un procedimiento que se ejecuta cuando
se cumple una condición establecida al realizar una operación. Dependiendo de la base de
datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado
(DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar
usuarios, tablas, bases de datos u otros objetos.
Contenido
 Usos
Son usados para mejorar la administración de la Base de datos, sin necesidad de contar
con que el usuario ejecute la sentencia de SQL.
Además, pueden generar valores de columnas, previene errores de datos, sincroniza
tablas, modifica valores de una vista, etc.
Permite implementar programas basados en paradigma lógico (sistemas expertos,
deducción).
 Componentes principales
 La estructura básica de un trigger es:
" Llamada” de activación: es la sentencia que permite "disparar" el código a ejecutar.
" Restricción”: es la condición necesaria para realizar el código. Esta restricción puede ser
de tipo condicional o de tipo nulidad.
" Acción a ejecutar”: es la secuencia de instrucciones a ejecutar una vez que se han
cumplido las condiciones iniciales.
 Tipos
Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a
realizar:
" Row Triggers (o Disparadores de fila)”: son aquellas que se ejecutaran n-veces si se llama
n-veces desde la tabla asociada al trigger
" Statement Triggers (o Disparadores de secuencia)”: son aquellos que sin importar la
cantidad de veces que se cumpla con la condición, su ejecución es única.
Pueden ser de sesión y almacenados; pero no son de fiar [cita requerida].
 Efectos y características
" No aceptan parámetros o argumentos” (pero podrían almacenar los datos afectados en
tablas temporales).
" No” pueden ejecutar las operaciones COMMIT o ROLLBACK” por que estas son parte de
la sentencia SQL del disparador (únicamente a través de transacciones autónomas)
" Pueden” causar errores de mutaciones en las tablas, si se han escrito de manera
deficiente.
COMO CREO UN TRIGGER EN SQL SERVER?
Es sencillo, usaremos el comando CREATE TRIGGER con la siguiente sintaxis:
CREATE TRIGGER nombre_trigger
ON { tabla|vista }
[ WITH ENCRYPTION ]
{ AFTER | INSTEAD OF }{ INSERT, UPDATE, DELETE }
[ NOT FOR REPLICATION ]
AS
Bloque de instrucciones
A continuación veremos la utilidad de cada parte de la definición anterior:
WITH ENCRYPTION:
Encripta el código del Trigger para que no pueda ser interpretado por nadie mas.
AFTER: Indica que el Trigger se ejecutará después de que las operaciones DML se
hayan ejecutado correctamente. Esta clausula no se aplica en las vistas.
INSTEAD OF: Permite ejecutar el Trigger en vez de la operación DML,es decir, SQL
Server ignoradicha operación para ejecutar al Trigger. Ten en cuenta que solo debe
existir un Trigger tipo INSTEAD OF para cada operación DML.
INSERT, UPDATE, DELETE:En este apartado eliges que sentencias DML estará
asociadas a tu Trigger. Puedes realizar la combinación que desees. Ten en cuenta que no
se permite establecer una actualización o eliminación que vaya a ser en cascada.
NOT FOR REPLICATION:
Evita que el Trigger se ejecute cuando una operación de replicación vaya a alterar
nuestra tabla asociada.
Los Triggers INSTEAD OF no son lo mismo que los BEFORE de MySQL. Los primeros
reemplazan una operación DML y los segundos se ejecutan antes de esta, pero no la
reemplazan.
EJEMPLO
Crear un trigger que al momento de realizer un venta, disminuya el stock.
CREATE TRIGGER realiza_venta ON dbo.venta
FOR INSERT
AS
BEGIN
DECLARE @producto int, @cantidad int
SET @producto = (SELECT id_produto FROM inserted)
SET @cantidad = (SELECT cantidad FROM inserted)
UPDATE [dbo.producto] set disponible = disponible - @cantidad WHERE
id_produto LIKE @producto
END
PROCESOS ALMACENADOS
Son programas escritos en SQL u en otros lenguajes de programación, que corren sobre el
servidor de bases de datos. Cuando se ejecuta con frecuencia un conjunto de instrucciones
de SQL sobre la base de datos, es conveniente realizar un procedimiento almacenado que
compile a ese conjunto de instrucciones como un solo programa con un nombre, cuando se
necesite ejecutarlo, solamente se llama al programa y se ejecuta. La ventaja comparándolo
con un scriptde SQL es que el PA una vez compilado queda guardado y puede ser utilizado
cuantas veces se requiera sin tener que volver a compilarse ni optimizar la consulta, lo que
lo hace mucho más rápido que si ejecutáramos el script cada vez.
REGISTRAR
ELIMINAR
INSERTAR
Vistas
En teoría de bases de datos, una vista es una consulta que se presenta como una tabla
(virtual) a partir de un conjunto de tablas en una base de datos relacional.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia
es que sólo se almacena de ellas la definición, no los datos. Los datos que se recuperan
mediante una consulta a una vista se presentarán igual que los de una tabla. De hecho, si
no se sabe que se está trabajando con una vista, nada hace suponer que es así. Al igual
que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una
vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones
existen restricciones para realizar el resto de las operaciones sobre vistas.
Una vista se especifica a través de una expresión de consulta (una sentencia SELECT)que
la calcula y que puede realizarse sobre una o más tablas. Sobre un conjunto de tablas
relacionales se puede trabajar con un número cualquiera de vistas.
La mayoría de los SGBD soportan la creación y manipulación de vistas. Las vistas se crean
cuando se necesitan hacer varias sentencias para devolver una tabla final.
Un carácter de escape es un carácter que se coloca delante de un carácter comodín para
indicar que el comodín no debe interpretarse como tal, sino como un carácter normal.
Por ejemplo queremos buscar los nombres compuestos que incluyen un subrayado. En
este caso tenemos que poner el carácter _ como un carácter normal no como un
comodín, así que lo escribiremos así:
SELECT numemp,nombre
FROM empleados
WHERE nombre LIKE '%[_]%';
O bien,
SELECT numemp,nombre
FROM empleados
WHERE nombre LIKE '%!_%' ESCAPE '!';
ejemplo
create database tienda
go
create table cliente(
id_cliente int primary key not null,
nombre varchar (10) not null,
apellidos varchar(20) not null,
telefono varchar (8) not null,
);
create table productot(
codigo char(4) not null,
nombrep varchar (10) not null,
fechacreacion date not null,
fechavencimiento date not null,
)
INSERT INTO cliente (id_cliente,nombre, apellidos, telefono)
values('1234 ' ,'enrique ','requena ' , '56784387 ');
INSERT INTO productot(codigo, nombrep,fechacreacion, fechavencimiento)
values('4321 ' ,'ricos ','12/01/2012 ' , '12/12/2013 ');
SELECT *from productot
-- select y vistas --
select telefono ,nombre,id from dbo.cliente
select * from dbo.cliente
select nombre as [ nombre del cliente] telefono as [ telefono del cliente], id as [ id del cliente]
from dbo.cliente
order by [ id del cliente] desc
select * from productot
delete from productot
where nombre = 'f'
CREATE FUNCTION (Transact-SQL)
Otras versiones
Crea una función definida por el usuario en SQL Server y Windows Azure SQL Database.
Una función definida por el usuario es una rutina de Transact-SQL o Common Language
Runtime (CLR) que acepta parámetros, realiza una acción, como un cálculo complejo, y
devuelve el resultado de esa acción como un valor. El valor devuelto puede ser un valor
escalar (único) o una tabla. Utilice esta instrucción para crear una rutina reutilizable que se
pueda utilizar de estas formas:
En instrucciones Transact-SQL como SELECT
En las aplicaciones que llaman a la función
En la definición de otra función definida por el usuario
Para parametrizar una vista o mejorar la funcionalidad de una vista indizada
Para definir una columna en una tabla
Para definir una restricción CHECK en una columna
Para reemplazar un procedimiento almacenado

Más contenido relacionado

La actualidad más candente

Disparadores
DisparadoresDisparadores
DisparadoresZiscko
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenadosguesta403644
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionSergio Perez
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM Kamisutra
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollbackArchCHUZ
 
Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12Alexander Calderón
 
Crear vistas en microsoft access
Crear vistas en microsoft accessCrear vistas en microsoft access
Crear vistas en microsoft accessJair Ospino Ardila
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenadoshirmaroxana13
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosUNACAR
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Jair Ospino Ardila
 

La actualidad más candente (20)

Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Manejo De Sentencias De Definicion
Manejo De Sentencias De DefinicionManejo De Sentencias De Definicion
Manejo De Sentencias De Definicion
 
Vistas
VistasVistas
Vistas
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Herramientas Bd
Herramientas BdHerramientas Bd
Herramientas Bd
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
PostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - VistasPostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - Vistas
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Commit&rollback
Commit&rollbackCommit&rollback
Commit&rollback
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Curso SQL - Leccion 10
Curso SQL - Leccion 10Curso SQL - Leccion 10
Curso SQL - Leccion 10
 
Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12Otros Objetos de Esquemas Z051 Cap 12
Otros Objetos de Esquemas Z051 Cap 12
 
Crear vistas en microsoft access
Crear vistas en microsoft accessCrear vistas en microsoft access
Crear vistas en microsoft access
 
Teoria procedimientos almacenados
Teoria procedimientos almacenadosTeoria procedimientos almacenados
Teoria procedimientos almacenados
 
Sql procedimientos-almacenados
Sql procedimientos-almacenadosSql procedimientos-almacenados
Sql procedimientos-almacenados
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Capa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenadosCapa_datos_Con_procedimientos_almacenados
Capa_datos_Con_procedimientos_almacenados
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 

Destacado

Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 
Dr. Doom (Victor Von Doom)
Dr. Doom (Victor Von Doom)Dr. Doom (Victor Von Doom)
Dr. Doom (Victor Von Doom)137255
 
Private-Wealth-Services-Brochure
Private-Wealth-Services-BrochurePrivate-Wealth-Services-Brochure
Private-Wealth-Services-BrochureKarl Williscroft
 
Deepawali tihar-divali
Deepawali tihar-divaliDeepawali tihar-divali
Deepawali tihar-divalidebesh jha
 
Sin título 1
Sin título 1Sin título 1
Sin título 1ManuGp49
 
Fastoffernow
FastoffernowFastoffernow
FastoffernowAndrew D
 
Programa de formación
Programa de formaciónPrograma de formación
Programa de formaciónManuGp49
 
Interpreter Insider - Issue 3
Interpreter Insider - Issue 3Interpreter Insider - Issue 3
Interpreter Insider - Issue 3Dana Austin
 
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)Oliver Hock
 
Undergraduate Dissertation
Undergraduate DissertationUndergraduate Dissertation
Undergraduate DissertationAlex Willey
 

Destacado (20)

Disparadores
DisparadoresDisparadores
Disparadores
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Dr. Doom (Victor Von Doom)
Dr. Doom (Victor Von Doom)Dr. Doom (Victor Von Doom)
Dr. Doom (Victor Von Doom)
 
Catálogo Diciembre 2016
Catálogo Diciembre 2016Catálogo Diciembre 2016
Catálogo Diciembre 2016
 
Gospit
GospitGospit
Gospit
 
Exposicion
ExposicionExposicion
Exposicion
 
Private-Wealth-Services-Brochure
Private-Wealth-Services-BrochurePrivate-Wealth-Services-Brochure
Private-Wealth-Services-Brochure
 
Deepawali tihar-divali
Deepawali tihar-divaliDeepawali tihar-divali
Deepawali tihar-divali
 
Sin título 1
Sin título 1Sin título 1
Sin título 1
 
Grafite urbano
Grafite urbanoGrafite urbano
Grafite urbano
 
Obesidade
ObesidadeObesidade
Obesidade
 
Fastoffernow
FastoffernowFastoffernow
Fastoffernow
 
Moda feminina
Moda femininaModa feminina
Moda feminina
 
Números racionales
Números racionalesNúmeros racionales
Números racionales
 
El romance lenguanje 2
El romance lenguanje 2El romance lenguanje 2
El romance lenguanje 2
 
Programa de formación
Programa de formaciónPrograma de formación
Programa de formación
 
Manual
ManualManual
Manual
 
Interpreter Insider - Issue 3
Interpreter Insider - Issue 3Interpreter Insider - Issue 3
Interpreter Insider - Issue 3
 
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)
2016 12-14 - 45 min - ein prozess lernt laufen (it-tage)
 
Undergraduate Dissertation
Undergraduate DissertationUndergraduate Dissertation
Undergraduate Dissertation
 

Similar a Trabajo grupal - Base de Datos

Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)felpe33
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014JOSE AHIAS LOPEZ PORTILLO
 
Disparadores
DisparadoresDisparadores
Disparadoreselylupita
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosHector Martinez
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011josecuartas
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosJosé Antonio Sandoval Acosta
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlSuarezJhon
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggersLuis Jherry
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sqlJuanKMillos
 
Curso de SQL Server: implementacion (T-SQL)
Curso de SQL Server: implementacion (T-SQL)Curso de SQL Server: implementacion (T-SQL)
Curso de SQL Server: implementacion (T-SQL)Salvador Ramos
 

Similar a Trabajo grupal - Base de Datos (20)

Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014Técnicas avanzadas de consultas con sql server 2014
Técnicas avanzadas de consultas con sql server 2014
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de DatosAdministración de Oracle - Tema 4 - Interacción con la Base de Datos
Administración de Oracle - Tema 4 - Interacción con la Base de Datos
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
Ms SQL Server
Ms SQL ServerMs SQL Server
Ms SQL Server
 
Programacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datosProgramacion de base de datos - unidad 3 Programacion de base de datos
Programacion de base de datos - unidad 3 Programacion de base de datos
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Procedimientos almacenadoss
Procedimientos almacenadossProcedimientos almacenadoss
Procedimientos almacenadoss
 
Funciones store proc_triggers
Funciones store proc_triggersFunciones store proc_triggers
Funciones store proc_triggers
 
Portafolio 1 sql
Portafolio 1 sqlPortafolio 1 sql
Portafolio 1 sql
 
Postgres trigger
Postgres triggerPostgres trigger
Postgres trigger
 
Curso de SQL Server: implementacion (T-SQL)
Curso de SQL Server: implementacion (T-SQL)Curso de SQL Server: implementacion (T-SQL)
Curso de SQL Server: implementacion (T-SQL)
 
TRIGGERS-ACTIVADORES
TRIGGERS-ACTIVADORESTRIGGERS-ACTIVADORES
TRIGGERS-ACTIVADORES
 

Último

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 

Último (20)

Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 

Trabajo grupal - Base de Datos

  • 1. “Año de la consolidación del Mar de Grau” Escuela Tecnológica Superior. ETSUNP. Universidad Nacional de Piura. Integrantes: Abad Landacay Amarelis Fernández Ruesta Fergie Katherine Hernández Hernández Kathya Pedemonte Aguirre Celena Navarro Carmen Raul Alexander Curso: Base de Datos II Docente: Ing. José Moncada Morales Tema: Triggers, Procesos Almacenados, Vistas y Funciones
  • 2. TRIGGER Un trigger (o disparador) en una Base de datos, es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Dependiendo de la base de datos, los triggers pueden ser de inserción (INSERT), actualización (UPDATE) o borrado (DELETE). Algunas bases de datos pueden ejecutar triggers al crear, borrar o editar usuarios, tablas, bases de datos u otros objetos. Contenido  Usos Son usados para mejorar la administración de la Base de datos, sin necesidad de contar con que el usuario ejecute la sentencia de SQL. Además, pueden generar valores de columnas, previene errores de datos, sincroniza tablas, modifica valores de una vista, etc. Permite implementar programas basados en paradigma lógico (sistemas expertos, deducción).  Componentes principales  La estructura básica de un trigger es: " Llamada” de activación: es la sentencia que permite "disparar" el código a ejecutar. " Restricción”: es la condición necesaria para realizar el código. Esta restricción puede ser de tipo condicional o de tipo nulidad. " Acción a ejecutar”: es la secuencia de instrucciones a ejecutar una vez que se han cumplido las condiciones iniciales.  Tipos Existen dos tipos de disparadores que se clasifican según la cantidad de ejecuciones a realizar: " Row Triggers (o Disparadores de fila)”: son aquellas que se ejecutaran n-veces si se llama n-veces desde la tabla asociada al trigger " Statement Triggers (o Disparadores de secuencia)”: son aquellos que sin importar la cantidad de veces que se cumpla con la condición, su ejecución es única. Pueden ser de sesión y almacenados; pero no son de fiar [cita requerida].  Efectos y características " No aceptan parámetros o argumentos” (pero podrían almacenar los datos afectados en tablas temporales). " No” pueden ejecutar las operaciones COMMIT o ROLLBACK” por que estas son parte de la sentencia SQL del disparador (únicamente a través de transacciones autónomas) " Pueden” causar errores de mutaciones en las tablas, si se han escrito de manera deficiente.
  • 3. COMO CREO UN TRIGGER EN SQL SERVER? Es sencillo, usaremos el comando CREATE TRIGGER con la siguiente sintaxis: CREATE TRIGGER nombre_trigger ON { tabla|vista } [ WITH ENCRYPTION ] { AFTER | INSTEAD OF }{ INSERT, UPDATE, DELETE } [ NOT FOR REPLICATION ] AS Bloque de instrucciones A continuación veremos la utilidad de cada parte de la definición anterior: WITH ENCRYPTION: Encripta el código del Trigger para que no pueda ser interpretado por nadie mas. AFTER: Indica que el Trigger se ejecutará después de que las operaciones DML se hayan ejecutado correctamente. Esta clausula no se aplica en las vistas. INSTEAD OF: Permite ejecutar el Trigger en vez de la operación DML,es decir, SQL Server ignoradicha operación para ejecutar al Trigger. Ten en cuenta que solo debe existir un Trigger tipo INSTEAD OF para cada operación DML. INSERT, UPDATE, DELETE:En este apartado eliges que sentencias DML estará asociadas a tu Trigger. Puedes realizar la combinación que desees. Ten en cuenta que no se permite establecer una actualización o eliminación que vaya a ser en cascada. NOT FOR REPLICATION: Evita que el Trigger se ejecute cuando una operación de replicación vaya a alterar nuestra tabla asociada. Los Triggers INSTEAD OF no son lo mismo que los BEFORE de MySQL. Los primeros reemplazan una operación DML y los segundos se ejecutan antes de esta, pero no la reemplazan.
  • 4. EJEMPLO Crear un trigger que al momento de realizer un venta, disminuya el stock. CREATE TRIGGER realiza_venta ON dbo.venta FOR INSERT AS BEGIN DECLARE @producto int, @cantidad int SET @producto = (SELECT id_produto FROM inserted) SET @cantidad = (SELECT cantidad FROM inserted) UPDATE [dbo.producto] set disponible = disponible - @cantidad WHERE id_produto LIKE @producto END PROCESOS ALMACENADOS Son programas escritos en SQL u en otros lenguajes de programación, que corren sobre el servidor de bases de datos. Cuando se ejecuta con frecuencia un conjunto de instrucciones de SQL sobre la base de datos, es conveniente realizar un procedimiento almacenado que compile a ese conjunto de instrucciones como un solo programa con un nombre, cuando se necesite ejecutarlo, solamente se llama al programa y se ejecuta. La ventaja comparándolo con un scriptde SQL es que el PA una vez compilado queda guardado y puede ser utilizado cuantas veces se requiera sin tener que volver a compilarse ni optimizar la consulta, lo que lo hace mucho más rápido que si ejecutáramos el script cada vez. REGISTRAR
  • 6. Vistas En teoría de bases de datos, una vista es una consulta que se presenta como una tabla (virtual) a partir de un conjunto de tablas en una base de datos relacional. Las vistas tienen la misma estructura que una tabla: filas y columnas. La única diferencia es que sólo se almacena de ellas la definición, no los datos. Los datos que se recuperan mediante una consulta a una vista se presentarán igual que los de una tabla. De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una vista, en algunas condiciones existen restricciones para realizar el resto de las operaciones sobre vistas. Una vista se especifica a través de una expresión de consulta (una sentencia SELECT)que la calcula y que puede realizarse sobre una o más tablas. Sobre un conjunto de tablas relacionales se puede trabajar con un número cualquiera de vistas. La mayoría de los SGBD soportan la creación y manipulación de vistas. Las vistas se crean cuando se necesitan hacer varias sentencias para devolver una tabla final. Un carácter de escape es un carácter que se coloca delante de un carácter comodín para indicar que el comodín no debe interpretarse como tal, sino como un carácter normal. Por ejemplo queremos buscar los nombres compuestos que incluyen un subrayado. En este caso tenemos que poner el carácter _ como un carácter normal no como un comodín, así que lo escribiremos así: SELECT numemp,nombre FROM empleados WHERE nombre LIKE '%[_]%'; O bien, SELECT numemp,nombre FROM empleados WHERE nombre LIKE '%!_%' ESCAPE '!'; ejemplo create database tienda go create table cliente( id_cliente int primary key not null, nombre varchar (10) not null, apellidos varchar(20) not null, telefono varchar (8) not null, );
  • 7. create table productot( codigo char(4) not null, nombrep varchar (10) not null, fechacreacion date not null, fechavencimiento date not null, ) INSERT INTO cliente (id_cliente,nombre, apellidos, telefono) values('1234 ' ,'enrique ','requena ' , '56784387 '); INSERT INTO productot(codigo, nombrep,fechacreacion, fechavencimiento) values('4321 ' ,'ricos ','12/01/2012 ' , '12/12/2013 '); SELECT *from productot -- select y vistas -- select telefono ,nombre,id from dbo.cliente select * from dbo.cliente select nombre as [ nombre del cliente] telefono as [ telefono del cliente], id as [ id del cliente] from dbo.cliente order by [ id del cliente] desc select * from productot delete from productot where nombre = 'f' CREATE FUNCTION (Transact-SQL) Otras versiones Crea una función definida por el usuario en SQL Server y Windows Azure SQL Database. Una función definida por el usuario es una rutina de Transact-SQL o Common Language Runtime (CLR) que acepta parámetros, realiza una acción, como un cálculo complejo, y devuelve el resultado de esa acción como un valor. El valor devuelto puede ser un valor escalar (único) o una tabla. Utilice esta instrucción para crear una rutina reutilizable que se pueda utilizar de estas formas: En instrucciones Transact-SQL como SELECT En las aplicaciones que llaman a la función En la definición de otra función definida por el usuario Para parametrizar una vista o mejorar la funcionalidad de una vista indizada Para definir una columna en una tabla Para definir una restricción CHECK en una columna Para reemplazar un procedimiento almacenado