0% encontró este documento útil (0 votos)
49 vistas20 páginas

Tarea de Programacion III 9

Tarea 9 de programación III

Cargado por

Yamell Peña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
49 vistas20 páginas

Tarea de Programacion III 9

Tarea 9 de programación III

Cargado por

Yamell Peña
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

UNIVERSIDAD ABIERTA PARA ADULTOS (UAPA)

NOMBRE

Yamell Elizabeth Peña González

TEMA:

Tarea II

MATERIA:

Programación III

PROFESOR/A

Loida Charles Ramírez

MATRICULA

100069627

ESCUELA

Escuela de ingeniería

LUGAR Y FECHA:

República Dominicana, María Trinidad Sánchez

11/7/2024
Introducción

Investigar los desencadenantes en línea es importante para comprender cómo pequeños eventos o estímulos
pueden desencadenar una respuesta.

importante en muchos contextos diferentes, desde la psicología hasta la tecnología. En programación y


bases de datos, los disparadores son instrucciones automatizadas ejecutadas en respuesta a eventos
específicos, facilitando tareas como la validación de datos y la sincronización del sistema. En psicología,
un desencadenante puede ser un estímulo que provoca una respuesta emocional o conductual que tiene un
impacto profundo en el comportamiento de una persona. Aprender estos conceptos en línea nos permite no
solo adquirir conocimientos científicos y técnicos, sino también aplicarlos a soluciones estratégicas y
prácticas efectivas.
Investigar en la web acerca de los triggers o disparadores

➢ Los Trigers o Dispardores

Las bases de datos relacionales están diseñadas mediante lenguaje SQL, comoes el caso
de MySQL, o PostgreSQL. En ellas, determinadas funciones se realizan a través de un
trigger o disparador.

¿Qué es un Trigger?

Un trigger o disparador es un script que se usa en lenguaje de programación SQL, en


especial en bases de datos como MySQL, o PostgreSQL. Consiste en una serie de reglas
predefinidas que se asocian a una tabla. Estas reglas se aplican a la base de datos cuando
se realizan determinadas operaciones en la tabla, por ejemplo, al añadir, actualizar o
eliminar registros.

Dicho de otra manera, el trigger desencadena determinadas acciones de forma automática


en las tablas de la base de datos cuando se insertan, modifican y seañaden nuevos datos.
Estos disparadores se llevan usando en MySQL desde la versión 5.0.2., mientras que
PostgreSQL ya los incluyó en el año 1997.

¿Para qué sirve?

La principal función de los trigger es contribuir a mejorar la gestión de la base dedatos.


Gracias a ellos muchas operaciones se pueden realizar de forma automática, sin necesidad
de intervención humana, lo que permite ahorrarmucho tiempo. Otra de sus funciones es
aumentar la seguridad e integridad de la información.Esto lo consiguen gracias a la
programación de restricciones o requerimientosde verificación que permiten minimizar
los errores y sincronizar la información. Por otra parte, entre sus principales ventajas es
que todas estas funciones sepueden realizar desde la propia base de datos, es decir, no es
necesario recurrira lenguajes externos de programación.
¿Cuándo se puede usar un Trigger?

Los trigger se puede ejecutar cuando el usuario realizar alguna acción relacionada con
añadir, actualizar o eliminar información de una tabla. Es decir, al usar los comandos
INSERT, UPDATE o DELETE. Por tanto, para poder usar un trigger es necesario que el
usuario posea permisosINSERT y DELETE e dicha base de datos.

Estructura de un Trigger

La estructura y modo de funcionamiento de un trigger se puede resumir entres pasos:


➢ Se produce una llamada de activación al código que se ha de ejecutar.

➢ Aplica las restricciones necesarias para poder realizar la acción, por ejemplo,
una determinada condición o una nulidad.
➢ Una vez verificadas las restricciones, se ejecuta la acción, en base a las
instrucciones recibidas en el primer punto.

Tipos de trigger

Existen diferentes tipos de disparadores, en función de las ejecuciones que realizan.

➢ Disparadores de fila: también llamados row triggers, son aquellos cuya ejecución
se realiza a través de llamadas desde una tabla asociada al trigger.

➢ Disparadores de secuencia. también llamados statement triggers, son aquellos que


se ejecutan solo una vez, independientemente de la cantidad de veces que se
cumplan las condiciones para su ejecución.
¿Cuándo ejecuta su acción un Trigger?

Los triggers pueden ejecutar su acción en diferentes momentos.

➢ Antes de ejecutar la sentencia (before statement)

➢ Después de ejecutar la sentencia y de comprobar las restricciones y condiciones


aplicables (after statement)
➢ Antes de modificar la fila de la tabla afectada por la sentencia del trigger, y de
comprobar las restricciones y condiciones de ejecución (before row)
➢ Después de modificar la fila de la tabla afectada por la sentencia del trigger, y de
comprobar las restricciones y condiciones de ejecución (after row)
Características y posibles efectos

Por una parte, aunque los triggers podrían almacenar los datos afectados por lassentencias
en tablas temporales, en principio no aceptan ningún tipo de argumento o parámetro.
Por otra, no están habilitados para la ejecución de comandos ROLLBACK o COMMIT,
ya que estas forman parte de la sentencia SQL del trigger. Respecto a sus posibles efectos,
hay que tener en cuenta que si se han programado de forma incorrecta podrían ocasionar
mutaciones en las tablas.

Ejemplos de Trigger

Imagina que quieras duplicar una tabla, en la que se añada de forma automática la
información que se vaya insertando en la tabla original. Bien, pues para eso tan solo tienes
que programar un trigger para que se ejecute cada vez que insertas un dato en la primera
tabla, de forma que dicho dato se añadirá de formaautomática en la segunda.
Sin embargo, esto es solo un ejemplo de los muchos usos que puede tener un trigger.

A efectos prácticos lo podrías programar para casos como los siguientes:

➢ Crear una copia automatizada que registre cada cliente que entra en un
eCommerce.
➢ Contabilizar estadísticas sobre accesos a una base de datos y lasacciones que
se han llevado a cabo en ellas.
➢ Duplicar tablas con información sincronizada.

➢ Programar la base de datos para que se realice un pedido de forma automática


cuando el stock ha legado a un mínimo determinado de unidades.
➢ Bloquear la inserción de datos incorrectos o de transacciones inválidas.

➢ Crear alertas que avisen de cuando se ha modificado algún dato en una tabla.

Y mucho más. Los triggers tienen numerosas posibilidades, de hecho tienen tantas que
casi se podría automatizar por completo el funcionamiento de una base de datos.
Trigger marketing

Cabe decir que el concepto de trigger no es exclusivo del entorno de la gestión de bases
de datos. Por ejemplo, también se pueden utilizar en el ámbito del marketing,
especialmente para email marketing.

El trigger marketing o trigger mail consiste en programar el envío de notificaciones o


mensajes personalizados a los clientes. Por ejemplo, puedes programar el envío de
mensajes de felicitación para cada cliente cuando sea su fecha de cumpleaños. O
programar el envío de ofertas relacionadas cuando el cliente compra un determinado
producto.

El concepto en ambos casos es el mismo: desencadenar una acción cuando se dan las
condiciones para su ejecución, ya sea añadir, modificar o eliminar datos o, en el caso del
marketing, que el cliente haya realizado determinada acción enla tienda online.
En definitiva, los trigger funcionan como scripts que permiten automatizar tareasy, de esta
forma, agilizar la gestión de las bases de datos, aumentando además la seguridad y la
integridad de la información y reduciendo la entrada de datos incorrectos
Elabora un formulario para una tabla X, que inserte y acutualice los registros
utilizando procedimiento almacenado desde el lenguaje de programación que estes
utilizando en la asignatura.

DISEÑO DEL FORMULARIO


EVIDENCIA CODIGO DE NUESTRO FORMULARIO
CODIGO DE NUESTRO FORMULARIO

using System;
using System.Collections.Generic; using
System.ComponentModel; using System.Data;
using System.Drawing; using
System.Linq; using
System.Text;
using System.Threading.Tasks; using
System.Windows.Forms;

namespace TAREA_6_PRO_III
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnGuardar_Click(object sender, EventArgs e)


{
ClaOrigen origen= new ClaOrigen(); origen.Id_origen = int.Parse
(txtCodigo.Text); origen.NombreOrigen = txtOrigen.Text;
origen.EstatusOrigen= cmbEstatus.Text;

ClaDatos datos= new ClaDatos();


datos.guardarOrigen(origen);

MessageBox.Show("Registro Guardado correctamente"); txtCodigo.Text =


"";
txtOrigen.Text = ""; cmbEstatus.Text = "";

}
}
}
EVIDENCIA DE CODIGO DE LA CLASE CLADATOS
CODIGO DE LA CLASE CLADATOS

using System;
using System.Collections.Generic; using
System.Data;
using System.Data.SqlClient; using
System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TAREA_6_PRO_III
{
public class ClaDatos
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP- TFCUIRU;Initial
Catalog= TAREA 6;Integrated Security=True;");

public DataTable consulta(string strSql)


{
DataTable tabla = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(strSql, con);da.Fill(tabla);
return tabla;
}

public void guardarOrigen(ClaOrigen Origen)


{
string strSql = "sp_registrar_origenes"; SqlCommand cmd = new
SqlCommand(strSql, con);

con.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@ID_Origen", Origen.Id_origen);
cmd.Parameters.AddWithValue("@NombreOrigen",
Origen.NombreOrigen);
cmd.Parameters.AddWithValue("@EstatusOrigen",
Origen.EstatusOrigen);

cmd.ExecuteNonQuery();
con.Close();

}
}
}
EVIDENCIA DEL CODIGO DE LA CLASE CLAORIGEN
CODIGO DE LA CLASE CLAORIGEN

using System;
using System.Collections.Generic; using
System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TAREA_6_PRO_III
{
public class ClaOrigen
{ public int Id_origen { get; set; } public string NombreOrigen
{ get; set; } public string EstatusOrigen { get; set; }

}
}
EVIDENCIA DE LA BASE DE DATOS UTILIZADA
EVIDENCIA DE EL PROCEDIMIENTO ALMACENADO UTILIZADO
CODIGO DEL PROCEDIMIENTO ALMACENADO UTILIZADO

U
S
E
[
T
A
R
E
A
6
]
G
O
/****** Object: StoredProcedure
[dbo].[sp_registrar_origenes]

Script Date:03/04/2024 21:29:40 ******/


S
E
T
A
N
S
I
_
N
U
L
L
S
O
N
G
O
S
E
T
Q
U
O
T
E
D
_
I
D
E
N
T
I
F
I
E
R
O
N
G
O
-- =============================================
-- Author: <Darlyn Francisco>
-- Create date: <03/04/2024>
-- Description: <TAREA 6 DE PROGRAMACION III>
-- =============================================
ALTER PROCEDURE [dbo].[sp_registrar_origenes]
-- Add the parameters for the stored
procedure here@ID_Origen int,
@
N
o
m
b
r
e
O
r
i
g
e
n
V
a
r
c
h
a
r
(
2
0
)
,
@
E
s
t
a
t
u
s
O
r
i
g
e
n
V
a
r
c
h
a
r
(
1
)
A
S
B
E
G
I
N
-- SET NOCOUNT ON added to prevent extra result sets from
--
interferin
g with
SELECT
statement
s. SET
NOCOU
NT ON;

-- Insert statements for procedure here


IF EXISTS (SELECT * FROM Datos
WHERE ID_Origen = @ID_Origen)
BEGIN
UPDATE Datos SET NombreOrigen =
@NombreOrigen, EstatusOrigen =@EstatusOrigen
WHERE ID_Origen = @ID_Origen;
E
N
D
E
L
S
E
B
E
G
I
N
INSERT INTO Datos (NombreOrigen,
EstatusOrigen) VALUES (@NombreOrigen,
@EstatusOrigen);
END
END

También podría gustarte