Reto 1
Una empresa de venta de autos requiere implementar un sistema de gestión de información en MySQL para controlar sus operaciones principales y garantizar la auditoria de los cambios realizados sobre los datos más importantes.
El sistema debe contemplar lo siguiente:
Base datos y tablas
Crear una base de datos llamada EmpresAutos.
La base de datos debe incluir las siguientes tablas:
Clientes: Contendrá la información básica de los clientes (nombre, apellido, teléfono, correo y dirección).
Autos: Almacenará los vehículos disponibles para la venta (marca,modelo,año, precio y estado).
Empleados: Guardará los datos de los empleados de la empresa (nombre,cargo,salario).
Ventas: Registrará las ventas realizadas, relacionando cliente, auto vendido y empleado responsable.
Auditoria: Permitirá llevar un registro histórico de las operaciones realizadas en las tablas principales.
Reglas de negocio con Triggers-
Before insert en Autos: validar que el precio ingresado sea mayor a 0.
After insert en ventas: cambiar automaticamente el estado del auto vendido a "vendido.
Registrar la operación en la tabla Auditoria.
After update en Autos: registrar en la tabla auditoria los valores anteriores y los nuevos cada vez que se actualice el auto.
After delete en clientes: registrar en la tabla Auditoria la información del cliente eliminado.
Auditoria: la tabla auditoria debe almacenar:
Tabla afectada.
Tipo de operación (INSERT, UPDATE, DELETE).
fecha y hora de la operación.
Usuario del sistema que realizó la operación(CURRENT_USER() ).
Datos anteriores y/o nuevos según corresponda.
Pruebas
insertar algunos registros de ejemplo en las tablas Clientes, Autos y Empleados.
Realizar al menos una venta de ejemplo para comprobar:
que el auto cambia de de estado a "vendido"
que se genera un registro en la auditoria.
Ejercicio planteado basado en una base de datos que ya tenia.
solución
Adjunto Archivo SQL.