Está en la página 1de 18

MELVIN VARGAS - CURSADA #34950

SQL
CURSO

SEGUNDO AVANCE
PROYECTO FINAL

TEMÁTICA
MELVIN VARGAS - CURSADA #34950

Venta de Materiales de Construcción

La empresa se dedica a la venta y producción de materiales para la


construcción al público en general al detalle y al por mayor tales como:
arena, bloque, cemente, canaletas, hierro, y grava la cual posee tres
sucursales a nivel nacional.

En la actualidad la fábrica posee un sistema de gestión de inventario y


pago de planillas en forma manual, llenando el control de sus registros
en cuadernos.

El presente proyecto de implementación de un sistema de base de


datos para la empresa pretende gestionar clientes, empleados, ventas
y manejo de stock de manera digital para poder llevar un control de
forma más eficaz y eficiente en los procesos que se llevan a cabo.
MELVIN VARGAS - CURSADA #34950

Diagrama Entidad - Relación


MELVIN VARGAS - CURSADA #34950
MELVIN VARGAS - CURSADA #34950

Tabla No 1
Descripción: La tabla “tiendas” va a contener las columnas id_tienda, telefono_tienda,
ubicacion_tienda, email_tienda.

tiendas
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTICAS
PRIMA FORÁ
RIA NEA
id_tienda x INT(5) UNSIGNED,
NOT NULL,
AUTO_INCREMENT
ubicacion_tienda TINYTEXT(100 NOT NULL
)
telefono_tienda VARCHAR(8) NOT NULL, UNIQUE
email_tienda VARCHAR(50) NULL

Tabla No 2
MELVIN VARGAS - CURSADA #34950

Descripción: La tabla “empleados” va a contener las columnas dni_empleado,


nombre_empleado, apellido_empleado, id_tienda, domicilio_empleado,
teléfono_empleado, sueldo_empleado, tipo_empleado, email_empleado.

empleados
CAMPOS CLAVE CLAV TIPO DE DATO CARACTERÍSTICAS
PRIMA E
RIA FORÁ
NEA
dni_empleado X VARCHAR(13) NOT NULL
nombre_empleado VARCHAR(50) NOT NULL
apellido_empleado VARCHAR(50) NOT NULL
cargo VARCHAR(50) NOT NULL
sueldo_empleado FLOAT(5) UNSIGNED, NOT
NULL
fecha_ingreso DATE NOT NULL
domicilio_empleado TINYTEXT(100 NOT NULL
)
telefono_empleado VARCHAR(8) NOT NULL, UNIQUE
email_empleado VARCHAR(50) NULL
id_tienda X INT(5) UNSIGNED, NOT
NULL

Tabla No 3
Descripción: La tabla “clientes” va a contener las columnas dni_cliente, nombre_cliente,
apellido_cliente, telefono_cliente, domicilio_cliente, email_cliente.
MELVIN VARGAS - CURSADA #34950

clientes
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTICAS
PRIMA FORÁN
RIA EA
dni_cliente X VARCHAR(13) NOT NULL
nombre_cliente VARCHAR(50) NOT NULL
apellido_cliente VARCHAR(50) NOT NULL
telefono_cliente VARCHAR(8) NOT NULL, UNIQUE
domicilio_cliente TINYTEXT(100 NOT NULL
)
email_cliente VARCHAR(50) NULL
dni_empleado X VARCHAR(13) NOT NULL

Tabla No 4
Descripción: En la tabla “log_clientes” se van a guardar los registros del nuevo cliente
después que se halla insertado en la tabla “CLIENTES”.

log_clientes
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTICAS
PRIMA FORÁN
RIA EA
dni_log_cliente X VARCHAR(13) NOT NULL
MELVIN VARGAS - CURSADA #34950

usuario VARCHAR(50) NOT NULL


fecha_registro DATE NOT NULL
tipo VARCHAR(50) NOT NULL
accion VARCHAR(50) NOT NULL

Tabla No 5
Descripción: En la tabla “actualizar_telefono_clientes” se van a guardar los registros del
nuevo número telefónico del cliente antes de realizar la actualización a tabla “CLIENTES”.

actualizar_telefono_clientes
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTIC
PRIMA FORÁ AS
RIA NEA
dniCliente X VARCHAR(13) NOT NULL
teléfono_anterior VARCHAR(8) NOT NULL
teléfono_actual VARCHAS(8) NOT NULL
usuario VARCHAR(50) NOT NULL
fecha_actualizacion DATE NOT NULL
MELVIN VARGAS - CURSADA #34950

Tabla No 6
Descripción: La tabla “proveedores” va a contener las columnas id_proveedor,
nombre_proveedor, telefono_proveedor, ubicacion_proveedor, email_proveedor.

proveedores
CAMPOS CLAVE CLAV TIPO DE DATO CARACTERÍSTICAS
PRIMA E
RIA FORÁ
NEA
id_proveedor x INT(5) UNSIGNED,
NOT NULL,
AUTO_INCREMENT
nombre_proveedor VARCHAR(50) NOT NULL
telefono_proveedor VARCHAR(8) NOT NULL, UNIQUE
ubicacion_proveedor TINYTEXT(100 NOT NULL
)
email_proveedor VARCHAR(50) NULL
MELVIN VARGAS - CURSADA #34950

Tabla No 7
Descripción: La tabla “materiales” va a contener las columnas id_producto,
id_proveedor, nombre_producto, descripcion_producto, precio_producto,
cantidad_min_producto, cantidad_max_producto.

materiales
CAMPOS CLAVE CLAV TIPO DE DATO CARACTERÍSTICAS
PRIMA E
RIA FORÁ
NEA
id_material X INT(5) UNSIGNED, NOT
NULL,
AUTO_INCREMENT
nombre_material VARCHAR(50) NOT NULL
descripcion_material TINYTEXT(150 NOT NULL
)
precio_unidad_material FLOAT(5) UNSIGNED, NOT
NULL
cantidad_existencia INT(5) UNSIGNED, NOT
NULL
Id_proveedor X INT(5) UNSIGNED, NOT
NULL
MELVIN VARGAS - CURSADA #34950

Tabla No 8
Descripción: La tabla “compras” va a contener las columnas numero_factura,
id_producto, descripcion, tipo_factura, fecha, cantidad, dni_cliente.

compras
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTICAS
PRIMARI FORÁN
A EA
id_compra X INT(5) UNSIGNED, NOT
NULL,
AUTO_INCREMEN
tipo_compra VARCHAR(50) NOT NULL
cantidad INT(5) UNSIGNED, NOT
NULL
dni_cliente X VARCHAR(13) NOT NULL
id_material X INT(5) UNSIGNED, NOT
NULL
fecha_compra DATE NOT NULL

Tabla No 9
MELVIN VARGAS - CURSADA #34950

Descripción: La tabla “respaldo_compras” va a contener las columnas numero_factura,


id_producto, descripcion, tipo_factura, fecha, cantidad, dni_cliente.

respaldo_compras
CAMPOS CLAVE CLAVE TIPO DE DATO CARACTERÍSTIC
PRIMAR FORÁNE AS
IA A
idCompra X INT(5) UNSIGNED, NOT
NULL,
AUTO_INCREMEN
dniCliente X VARCHAR(13) NOT NULL
idMaterial X INT(5) UNSIGNED, NOT
NULL
cantidadMaterial INT(5) UNSIGNED, NOT
NULL
usuario VARCHAR(50) NOT NULL
fechaCompra DATE NOT NULL

LISTADO DE VISTAS
vista_cantidad_empleados_tiendas
Descripción: Cantidad de empleados que hay por tienda.

Objetivo: Listar la cantidad de empleados que hay en una determinada tienda.

Tablas:

 tiendas
MELVIN VARGAS - CURSADA #34950

 empleados

vista_cantidad_materiales_vendidos
Descripción: Muestra la cantidad de materiales vendidos.

Objetivo: Especificar la cantidad de materiales que se han vendido.

Tablas:

 compras
 materiales

vista_compra_clientes
Descripción: Cantidad de materiales que un cliente ha comprado.

Objetivo: Visualizar la cantidad de materiales que un cliente ha adquirido en


nuestras tiendas.

Tablas:

 clientes
 compras
 materiales

vista_stock_materiales
Descripción: Especifica la cantidad de materiales en existencia.

Objetivo: Visualizar la cantidad en existencia que hay actualmente de un


determinado material.

Tablas:
MELVIN VARGAS - CURSADA #34950

 compras
 materiales

vista_total_ingresos_dinero
Descripción: Cantidad de dinero que se obtenido por medio de las ventas.

Objetivo: Visualizar la cantidad de dinero que se ha obtenido de las compras


generadas en las tiendas.

Tablas:

 materiales
 compras

LISTADO DE FUNCIONES
funcion_cantidad_empleados
Descripción: Función DETERMINISTIC que recibe como parámetro el
idTienda y retorna/muestra la cantidad de empleados que laboran en la
misma.

Objetivo: Gestionar loa cantidad de empleados que laboran en la tienda.

Tablas:

 empleados
 tiendas

funcion_compras_realizadas
MELVIN VARGAS - CURSADA #34950

Descripción: Función de solo lectura que al recibir dni del cliente retorna la
cantidad de compras que ha realizado.

Objetivo: Visualizar la cantidad de veces que ha comprado un cliente en las


tiendas.

Tablas:

 clientes
 compras

funcion_nombre_material
Descripción: Función de solo lectura que recibe el como parámetro el
idMaterial y retorna/muestra el nombre de dicho material.

Objetivo: Mostrar el nombre de un material a partir de su id.

Tablas:

 materiales

LISTADO DE STORED PROCEDURES


sp_listado_empleados_ordenados
Descripción: Ordena dependiendo la columna a considerar los registros de
empleados de la tabla ya sea en forma ascendente o descendente.

Objetivo: Ordenar los registros de los empleados existentes.

Tablas:

 empleados
MELVIN VARGAS - CURSADA #34950

sp_agregarDatos
Descripción: Inserta un nuevo registro de tiendas en la tabla y se verifica al
mismo tiempo de que esta no existe en la tabla para su correspondiente
creación, en el caso de que ya exista la tienda, el stored procedures retorna un
mensaje de error.

Objetivo: Insertar el registro de una nueva tienda.

Tablas:

 tiendas

sp_eliminarDatos
Descripción: Al momento de ingresar el id de una tienda cuyo registro existe,
esta tienda se eliminará de la tabla, de no existir el id de la tienda que se ha
introducido se retorna un mensaje de error.

Objetivo: Eliminar el registro de una tienda existente en la tabla.

Tablas:

 tiendas
MELVIN VARGAS - CURSADA #34950

LISTADO DE TRIGGER
tr_log_clientes
Descripción: El trigger tr_log_clientes se dispara después de insertar nuevos
clientes en la tabla de clientes.

Objetivo: Crear una bitácora cada vez que se inserta un nuevo registro en la
tabla clientes.

Tablas:

 clientes
 log_clientes

tr_tr_actualizar_telefono_clientes

Descripción: trigger que se dispara cada vez que se ejecuta el comando SQL
'UPDATE' en la tabla clientes.

Objetivo: Actualizar el número telefónico nuevo del cliente.

Tablas:

 clientes
 actualizar_telefono_clientes
MELVIN VARGAS - CURSADA #34950

tr_actualizar_stockMateriales
Descripción: Este trigger nos permite actualizar el stock de los materiales
existentes cada vez que se realiza una nueva compra.

Objetivo: Gestionar el control de la cantidad de materiales con la que cuenta


nuestro stock.

Tablas:

 materiales
 compras

tr_respaldo_compras

Descripción: Este Trigger nos hace un respaldo en la tabla 'respaldo_compras'


cuando se realiza una nueva compra en la tabla 'compras'

Objetivo: Crear un respaldo de las ventas que se realizan.

Tablas:

 compras
 respaldo_compras

También podría gustarte