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.

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar