Tema5Act6 RodríguezCortesBrendaSoledad
Tema5Act6 RodríguezCortesBrendaSoledad
Tema5Act6 RodríguezCortesBrendaSoledad
Integrantes:
Calvo Cruz Axel Jesús
Orozco Vásquez Marco Antonio
Pérez Pacheco Francisco Usiel
Rodríguez Cortes Brenda Soledad.
6° A Ingeniería informática
Asignándole a los usuarios sus diversos permisos, esto con la finalidad de tener un control de las
acciones que puedan realizar, tomando en cuenta los privilegios otorgados, después de eso se
continúa con las vistas, estas son tablas virtuales que almacenan consultas que actúan como filtro
subyacente que se hace referencia a ellas, con su ayuda se puede agrupar diversas tablas,
independientemente de la ubicación de los servidores de consulta, al igual que sirve de consulta en
caso de que no se cuente con la versión similar de SQL, lo que la hace indispensable en la
comprensión y creación de la misma , lo siguiente es el respaldo y recuperación de la base de datos,
el ejemplo a mostrar está hecho con Azure Data Studio, en donde puede variar con otros gestores
de base de datos, sin embargo en una parte también se explica cómo realizarlo mediante SQL, lo
que facilita las cosas, la finalidad de esto es tener un respaldo de la información sobre la que estamos
trabajando para así evitar pérdidas de información y además de esto en caso de tener pérdidas
saber recuperar esa información con la que se ha respaldado, el último a mencionar de la segunda
parte es las transacciones las cuales consisten en un conjunto de acciones que hacen
transformaciones de los estados del sistema para preservar la consistencia del mismo, con su ayuda
y en los ejemplos a mostrar a continuación se mejoran procesos sin la necesidad de intervención
humana, como tercera parte del proyecto tenemos la creación de procedimientos, estos ayudan a
los usuarios a acceder de manera fácil a la base de datos sin tener que conocer los detalles de las
tareas solicitadas, se realiza una breve descripción y por medio de ejemplos se muestra su
funcionamiento e implementación en la base de datos, también se hace mención de los triggers
que como principal función es contribuir a mejorar la gestión de la base de datos permitiendo realizar
operaciones de manera automática, sin necesidad de la intervención humana, lo que facilita el
ahorro de tiempo, este también tiene la ventaja de almacenar los cambios que realice un usuario,
almacenando un registro de las actividades junto a la fecha de la misma.
FACTURACIÓN TECNOLÓGICA
Para la creación de nuestra base de datos se utilizó el sistema de
gestión de bases de datos SQL Server.
Después creamos la tabla “Código Postal” la cual contiene tres atributos dos
de tipo varchar y uno de tipo int unique, también se asignó la llave primaria
y los valores nulos.
Después se creo la tabla “Proveedor” con seis atributos de tipo varchar con
su respectivo tamaño y la llave primaria, como en la siguiente imagen.
Proseguimos con la creación de la tabla “Artículos” donde se almacenarán
las características de los artículos cuenta con siete atributos de valor nulo y
la respectiva llave primaria, como se observa en la imagen.
Por último ejecutamos todas las instrucciones para que se mostraran todas
las tabas que tenemos almacenadas.
Consulta con JOIN SIMPLE
Consulta con IN
PROCEDIMIENTOS ALMACENADOS
Un procedimiento almacenado es un conjunto de instrucciones de T-
SQL que SQL Server compila, en un único plan de ejecución, los llamados
"store procedures" se encuentran almacenados en la base de datos, los
cuales pueden ser ejecutados en cualquier momento.
Por último verificamos que se haya agregado el nuevo ticket, para esto se
hace con una consulta.
DISPARADORES
Un Trigger, también llamado Disparador, en una base de datos, es un
procedimiento que se ejecuta cuando se cumple una condición
establecida.
Depende de la base de datos, los Triggers pueden ser antes o después de
ejecutar un INSERT, UPDATE o DELETE.
Un Trigger funciona tanto al insertar, actualizar o borrar datos en una base
de datos o incluso al crear o editar usuarios. Son usados para mejorar la
administración de la Base de Datos, sin necesidad de que el usuario ejecute
esas sentencias SQL.
Trigger para guardar los datos de las ventas realizadas por los
supervisores
USUARIOS Y ROLES
Creación de usuarios
Creación del segundo usuario
R E S P A L D O Y R E C U P E R A C I Ó N DE LA
BASEDEDATOS
Respaldo de la BD
Restaurar la BD
CREACION DE LA INTERFAZ DE LA BD
Para la creación de nuestra interfaz utilizamos Visual Studio, iniciamos
abrimos el proyecto en Visual Studio y, después, seleccionamos proyecto de
ahí Agregar nuevo origen de datos para iniciar el Asistente para la
configuración de orígenes de datos. De ahí seleccionamos la opción
Microsoft SQL Server.
/* I n s e r t */
Update Marca
set Marca ='Eagle Warrior'
where Marca = 'Eagle'
Update Articulos
set Cantidad = 15
where Cantidad = 10
Update Persona
set Nombre = 'Axel',correo= '[email protected]'
where Nombre = 'Juan'
/* D e l e t e*/
/* Consulta con IN */
SELECT DIFFERENCE('Acer','Jorge');
SELECT DIFFERENCE('Teclado','Mouse');
SELECT DIFFERENCE('Jorge','Juan');
SELECT DIFFERENCE('Bugambilias','Insurgentes');
SELECT DIFFERENCE('Dt002','Dt003');
/* Consulta con Minus */
/* V I S T A S */
GO
/*Mostrar la vista de los productos vendidos */
GO
/* Mostrar la vista de los productos no vendidos */
/* U S U A R I O S Y R O L E S */
USE Facturacion_tecnologica;
USE Facturacion_tecnologias;
/* R E S P A L D O Y R E C U P E R A C I Ó N DE LA B A S E D E D A T O S */
USE [master]
RESTORE DATABASE [Facturacion_tecnologica]
FROM DISK = N'/var/opt/mssql/data/Facturacion_tecnologica-2021620-6-45-
36.bak'
WITH FILE = 1, NOUNLOAD, STATS = 5
GO
/*t r a n s a c c i o n e s*/
BEGIN transaction
DELETE FROM Marca, Articulos, Modelo
Where IdMarca= 'Ma001'
COMMIT
BEGIN TRY
BEGIN TRANSACTION
UPDATE DetalleTicket SET Cantidad = Cantidad + 3 WHERE IdDetalleTicket=
'Dt001'
UPDATE DetalleTicket SET Cantidad = Cantidad -2 WHERE IdDetalleTicket=
'Dt002'
COMMIT TRANSACTION
PRINT 'Transaccion completa'
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
PRINT 'Transaccion cancelada'
END CATCH
/*Segunda transacción*/
BEGIN TRY
BEGIN TRANSACTION
UPDATE Articulos SET Precio = Precio + 50 WHERE IdArticulo= 'Art001'
UPDATE Articulos SET Cantidad = Cantidad +10 WHERE IdArticulo= 'Art002'
COMMIT TRANSACTION
PRINT 'Transaccion completa'
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
PRINT 'Transaccion cancelada'
END CATCH
/*Transaccion cancelada*/
BEGIN TRY
BEGIN TRANSACTION
UPDATE DetalleTicket SET PrecioVenta = PrecioVenta + 30 WHERE
IdDetalleTicket= 'Dt001'
UPDATE DetalleTicket SET PrecioVenta = PrecioVenta -300 WHERE
IdDetalleTicket= 'Dt003'
COMMIT TRANSACTION
PRINT 'Transaccion completa'
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
PRINT 'Transaccion cancelada'
END CATCH
GO
/* P R O C E D I M I E N T O S*/
CREATE PROCEDURE SP_SumarCantidad
@IdDetalleTicket as Varchar(5),
@Cantidad as int
AS
UPDATE DetalleTicket
SET Cantidad=Cantidad+@Cantidad
WHERE IdDetalleTicket=@IdDetalleTicket
GO
EXEC SP_SumarCantidad 'Dt002', 5
/* Eliminar el procedimiento */
DROP PROCEDURE SP_SumarCantidad
/*Segundo procedimiento*/
GO
CREATE PROCEDURE SP_SumarPrecio
@IdArticulo as Varchar(6),
@Precio as int
AS
UPDATE Articulos
SET Precio=Precio+@Precio
WHERE IdArticulo=@IdArticulo
UPDATE Articulos
SET Cantidad = Cantidad - @Cantidad
WHERE IdArticulo = @IdArticulo
AND Cantidad = @Cantidad
SET NOCOUNT OFF;
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE()
PRINT 'CATCH'
IF @@TRANCOUNT>0
ROLLBACK
END CATCH
END
GO
EXEC SP_AgregarVenta 'Dt005','Ti002', 12, 'Art002';
/* D I S PA R A D O R E S*/
GO
CREATE TRIGGER Tr_pais
on Pais for insert
AS
set nocount on--muestra los mensejes en una fila afectada
declare @IdPais varchar(5)
select @IdPais = IdPais from inserted
insert into Historial_Paises values(GETDATE(),@IdPais,'Pais agregado',SYSTEM_USER)
go
CREATE TRIGGER TR_EliminarPais
on Pais instead of delete
as
begin
set nocount on;
insert into Historial_Paises(Fecha,IdPais,Accion,Usuario)
Select GETDATE(),IdPais,'Elimino un pais',SYSTEM_USER
from deleted
end
DELETE FROM Persona
GO
/* Consulta elaborada */