Está en la página 1de 19

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 CLAV TIPO DE DATO CARACTERÍSTICAS
PRIMA E
RIA FORÁ
NEA
id_tienda x INT(2) UNSIGNED,
NOT NULL,
AUTO_INCREMENT,
UNIQUE
ubicacion_tienda TINYTEXT(100 NOT NULL,
)
telefono_tienda INT(8) UNSIGNED, NOT
NULL
email_tienda VARCHAR(50) NULL
MELVIN VARGAS - CURSADA #34950

Tabla No 2
Descripción: La tabla “Clientes” va a contener las columnas dni_cliente, nombre_cliente,
apellido_cliente, telefono_cliente, domicilio_cliente, email_cliente.

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

Tabla No 3
MELVIN VARGAS - CURSADA #34950

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
usuario VARCHAR(50) NOT NULL
fecha_registro DATETIME NOT NULL
tipo VARCHAR(50) NOT NULL
accion VARCHAR(50) NOT NULL

Tabla No 4
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_CLIENTE
MELVIN VARGAS - CURSADA #34950

S
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 DATETIME NOT NULL

Tabla No 5
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, UNIQUE
nombre_empleado VARCHAR(50) NOT NULL
MELVIN VARGAS - CURSADA #34950

apellido_empleado VARCHAR(50) NOT NULL


dni_cliente X VARCHAR(13) NOT NULL
id_tienda X INT(2) UNIQUE,
UNSIGNED,
NOT NULL,
AUTO_INCREMENT
tipo_empleado VARCHAR(50) NOT NULL
sueldo_empleado FLOAT(5) UNSIGNED, NOT
NULL
domicilio_empleado TINYTEXT(100 NOT NULL
)
telefono_empleado INT(13) UNSIGNED,
NOT NULL,
email_empleado VARCHAR(50) NULL

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,
UNIQUE
nombre_proveedor VARCHAR(50) NOT NULL
telefono_proveedor INT(8) UNSIGNED, NOT
NULL
ubicacion_proveedor TINYTEXT(100 NOT NULL
)
MELVIN VARGAS - CURSADA #34950

email_proveedor VARCHAR(50) NULL

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,
UNIQUE
id_proveedor X INT(5) UNSIGNED, UNIQUE,
NOT NULL,
AUTO_INCREMENT
nombre_material VARCHAR(50) NOT NULL
descripcion_material TINYTEXT(150 NOT NULL
)
MELVIN VARGAS - CURSADA #34950

precio_unidad_material FLOAT(5) UNSIGNED, NOT


NULL
cantidad INT(8) UNSIGNED, NOT
NULL

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 CLAV CLAV TIPO DE DATO CARACTERÍSTICAS
E E
PRIM FORÁ
ARIA NEA
id_compra X INT(5) UNSIGNED, NOT
NULL,
AUTO_INCREMEN,
UNIQUE
dni_cliente X VARCHAR(13) UNSIGNED,
UNIQUE,
NOT NULL
id_material X INT(5) UNSIGNED, UNIQUE,
NOT NULL,
AUTO_INCREMENT
tipo_compra VARCHAR(50) NOT NULL
cantidad INT(8) UNSIGNED, NOT
NULL
fecha DATE NOT NULL
MELVIN VARGAS - CURSADA #34950

Tabla No 9
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 CLAV CLAV TIPO DE DATO CARACTERÍSTICAS
E E
PRIM FORÁ
ARIA NEA
idCompra X INT(5) UNSIGNED, NOT
NULL,
AUTO_INCREMEN
dniCliente X VARCHAR(13) NOT NULL
idMaterial X INT(2) UNSIGNED, NOT
NULL
cantidadMaterial INT(5) UNSIGNED, NOT
NULL
usuario VARCHAR(50) NOT NULL
fechaCompra DATETIME NOT NULL

LISTADO DE VISTAS
MELVIN VARGAS - CURSADA #34950

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
 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
MELVIN VARGAS - CURSADA #34950

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:

 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.


MELVIN VARGAS - CURSADA #34950

Tablas:

 empleados
 tiendas

funcion_compras_realizadas
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
MELVIN VARGAS - CURSADA #34950

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

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.
MELVIN VARGAS - CURSADA #34950

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

Tablas:

 tiendas

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.


MELVIN VARGAS - CURSADA #34950

Tablas:

 clientes
 actualizar_telefono_clientes

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:
MELVIN VARGAS - CURSADA #34950

 compras
 respaldo_compras

También podría gustarte