Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entregable Final
Entregable Final
20171136I
Ingeniería de Sistemas
Septiembre 2020
ÍNDICE
RESUMEN..................................................................................................................................4
MARCO TEÓRICO.....................................................................................................................4
MODELADO DE DATOS......................................................................................................4
BASE DE DATOS...................................................................................................................6
PENSAMIENTO ESTRATÉGICO..............................................................................................7
ORGANZACIÓN....................................................................................................................7
ORGANIGRAMA...................................................................................................................8
CLIENTES...............................................................................................................................8
OBJETIVOS............................................................................................................................8
OBJETIVO GENERAL..............................................................................................................8
OBJETIVOS EXPECÍFICOS.......................................................................................................9
PLANTEAMINETO DE LA SOLUCION...............................................................................9
DEFINCIÓN DE IDENTIDADES.........................................................................................10
DIAGRAMA RELACIONAL................................................................................................12
MÓDULOS............................................................................................................................13
PROCESOS...........................................................................................................................14
DICCIONARIO DE DATOS.................................................................................................15
INTERFAZ GRÁFICA..............................................................................................................19
CONSULTAS CRÍTICAS.........................................................................................................42
EVENTOS EN LINEA..............................................................................................................44
PROCESOS BATCH.................................................................................................................46
OPTMIZACIÓN DE CONSULTAS..........................................................................................49
RESUMEN
MODELADO DE DATOS
representar la forma en que los datos necesitan fluir. El diagrama se puede utilizar como
aplicación antigua.
diseño de un proyecto, para asegurar que los requisitos para una nueva aplicación se
flujo que ilustra las relaciones entre los datos. A pesar de que la captura de todas las
errores y hagan cambios antes de que cualquier código de programación se haya escrito.
Los modeladores de datos suelen utilizar varios modelos para ver los mismos datos y
garantizar que todos los procesos, entidades, relaciones y flujos de datos han sido
Modelado conceptual de datos: Identifica las relaciones de más alto nivel entre
diferentes entidades.
participan en una función de negocios. Sirve como base para la creación del modelo de
datos físico.
BASE DE DATOS
puede considerarse una base de datos compuesta en su mayoría por documentos y textos
datos están en formato digital, siendo este un componente electrónico, por tanto se ha
de datos.
estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de
la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas;
la información experimental.
IMPORTANCIA DE LAS BASES DE DATOS
Las Bases de Datos tienen una gran relevancia a nivel personal, pero más si cabe, a
pequeña que sea, debe contar con una Base de Datos, pero para que sea todo lo efectiva
que debe, no basta con tenerla: hay que saber cómo gestionarlas.
En el caso de que en nuestra compañía no contemos con una persona que se encargue de
esta labor, existe la posibilidad de contratar a una empresa externa que se encargue.
Las principales utilidades que ofrece una base de datos a la empresa son las siguientes:
empresa.
datos que almacenamos, y con todos estos factores, maximizaremos los tiempos y por
Estas funcionalidades aportarán un valor añadido a la empresa, ya que con una base de
sean los mayores activos de la compañía, lograremos sacar el máximo rendimiento a las
competencias de nuestros colaboradores, así como averiguar datos de nuestros clientes
potenciales. Por último, puesto que la información es poder, cuantos más datos
PENSAMIENTO ESTRATÉGICO
ORGANZACIÓN
Nacional de Ingeniería.
ORGANIGRAMA
CLIENTES
Los clientes de la concesionaria L&V EDICIONES Y SERVICIOS son los alumnos de
OBJETIVOS
OBJETIVO GENERAL
Diseñar una base de datos para facilitar el control de las operaciones de la concesionara
OBJETIVOS EXPECÍFICOS
a objetos.
Los concesionarios que laboran dentro del campus universitario de cada una de las
administrativa.
Por ende, requieren de un sistema que optimice sus operaciones, desde la compra de sus
PLANTEAMINETO DE LA SOLUCION
Con el fin de mejorar y agilizar los proceso de compra y venta, se propones el diseño e
SERVICIOS
DEFINCIÓN DE IDENTIDADES
Cliente
Inventario_muebles
Producto
Usu_admi
Área
Compra
Detalle_compra
Inventario_prod
Proveedor
Usuario
Boleta
Contacto_cliente
Detalle_venta
Maquina
Rol_usuario
Venta
Boleta_detalle
Contacto_prov
Dirección
Mueble
Tipo_cliente
Caja
Contacto_usuario
Forma_pago
Pago
Tipo_pago
Categoría
Inventario_maquina
Prod_activo
Usu_activo
DIAGRAMA RELACIONAL
MÓDULOS
MÓDULO VENTA:
Venta
Detalle_venta
Forma_pago
Boleta
Boleta_detalle
Reporte_venta
MÓDULO COMPRA
Compra
Detalle_compra
MÓDULO PRODUCTO
Inventario_prod
Producto
Categoría
MÓDULO MAQUINA
Inventario_maquinas
Maquina
Pago
Tipo_pago
MÓDULO MUEBLE
Inventario_mueble
Mueble
MODULO CAJA:
Caja
MÓDULO USUARIO
Contacto_usuario
Usuario
Rol_usuario
Usu_admi
Usu_activo
MÓDULO CLIENTE
Contacto_cliente
Area
Cliente
Tipo_cliente
MÓDULO PROVEEDOR
Contacto_prov
Proveedor
Dirección
PROCESOS
PROCESO DE VENTA: Es el proceso mediante el cual la empresa realiza sus ventas hacia
los clientes
PROCESO DEPACHO: Es el proceso mediante el cual el cliente recibe los productos que
ha comprado
PROCESO HACER INVENTARIO: Es el proceso mediante el cual le empresa verifica
su inventario
DICCIONARIO DE DATOS
INTERFAZ GRÁFICA
Esta pantalla nos muestra el login del usario a la hora de ingresar al sistema
En esta pantalla se lista los productos disponibles cuando se utiliza el botón Agregar. Se
selecciona la fila deseada, se introduce una cantiadad y se da al botón Agregar.
Este error se mostrará cuando se ingrese una cantidad mayor al stock disponible
En esta pantalla veremos el historial de ventas de la empresa. Para filtrar la busqueda se pide
ingresar una fecha de inicio y una de fin. En Total se verá el monto total de las ventas entre las
fechas seleccionadas.
Esta pantalla muestra la opción Clientes. Podemos buscar clientes por Id, DNI o dándole click a
la lupa, ya que se nos listarán todos los clientes registtrados. Además se puede ingresar la
informacipon de un cliente nuevo y al darle click al botón Registrar cliente, este será guardado
en la base de datos. Con el botón Limpiar se borra todo el texto escrito en todos los campos.
En esta pantalla se listan los clientes. Podemos hacer una busqueda por DNI. Además tenemos
el botón Seleccionar ya que esta lista también se mostrará cuando se realice una venta.
Esta pantalla nos muestra la opción Usuarios, aquí se puede buscar la información de
cualquiera de los usuarios. Se puede relizar la búsqueda por DNI, ID o listando a todos los
usuarios. Las opciones de Permisos solo serán visibles para aquellos usuarios que sean
administradores de la base de datos.
Al presionar cualquiera de las dos lupas, se mostrará la siguiente ventana según los datos
proporcionados:
Aquí se podrá visualizar los productos con los que se está trabajando hasta el momento para
registrar su compra
Esta pantalla muestra el historial de compras. Se puede realizar un filtro ingresando una fecha
de inicio y una fecha de fin- En Total se mostrará todo lo invertido en el intervalo de fechas
seleccionado.
Esta pantalla muestra el historial de cortes de caja, cuenta con un filtro de fechas de inicio y fin
y en total se muestra la cantidad en el intervalo señalado.
Esta pantalla muestra los prodcutos. Se ven los detalles y cuenta con la opción Agregar nuevo
producto, que conduce a una de las ventanas mostradas anteriormente.
Esta es la pantalla que muestra las categorías. Al seleccionar una fila se llenaran todos los
campos de la parte inferior. Pero también pueden ser llenados manualmente para agregar una
nueva categoría, de esta forma, el Id se genera automáticamente. Además cuenta con el botón
de eliminar categoría.
En el inventario de productos se mostrará todos los productos con los cuales se trabaja,
además se puede hacer busqyedas con el Id del producto y con su nombre.
En el inventario de muebles se mostrará el detalle de todos los muebles que la empresa posee.
Además llenando los canpos de abajo, se pude registrar un nuevo mueble. Al registrar un
nuevo mueble, el Id se genera automáticamente. También cuenta con un botón para eliminar
registros.
-- -----------------------------------------------------
ENGINE = InnoDB
PRIMARY KEY (`id_area`))
COLLATE = utf8mb4_0900_ai_ci;
AUTO_INCREMENT = 5
COLLATE = utf8mb4_0900_ai_ci;
-- -----------------------------------------------------
-- Table `l&v2`.`cliente`
-- ----------------------------------------------------- -- -----------------------------------------------------
AUTO_INCREMENT = 5
-- Table `l&v2`.`usuario`
-- -----------------------------------------------------
INDEX `fk_admin` (`admi` ASC) VISIBLE, INDEX `id_usu` (`id_usu` ASC) VISIBLE,
ENGINE = InnoDB
-- -----------------------------------------------------
AUTO_INCREMENT = 13
-- -----------------------------------------------------
COLLATE = utf8mb4_0900_ai_ci;
CREATE TABLE IF NOT EXISTS
`l&v2`.`boleta` (
CONSTRAINT `boleta_detalle_ibfk_1`
ENGINE = InnoDB
-- -----------------------------------------------------
ENGINE = InnoDB
-- -----------------------------------------------------
AUTO_INCREMENT = 7
-- Table `l&v2`.`compra`
DEFAULT CHARACTER SET = utf8mb4
-- -----------------------------------------------------
COLLATE = utf8mb4_0900_ai_ci;
CREATE TABLE IF NOT EXISTS
`l&v2`.`compra` (
AUTO_INCREMENT = 12
-- Table `l&v2`.`detalle_venta`
-- -----------------------------------------------------
-- -----------------------------------------------------
INDEX `id_contacto_prov`
(`id_contacto_prov` ASC) VISIBLE, CREATE TABLE IF NOT EXISTS
`l&v2`.`inventario_maquinas` (
CONSTRAINT `direccion_ibfk_1`
CONSTRAINT
COLLATE = utf8mb4_0900_ai_ci;
`inventario_maquinas_ibfk_1`
-- Table `l&v2`.`inventario_prod`
`Precio` FLOAT NOT NULL,
REFERENCES `l&v2`.`producto`
-- ----------------------------------------------------- (`id_prod`))
ENGINE = InnoDB
-- Table `l&v2`.`inventario_muebles`
COLLATE = utf8mb4_0900_ai_ci;
CREATE TABLE IF NOT EXISTS
`l&v2`.`inventario_muebles` (
`id_pago` INT NOT NULL
AUTO_INCREMENT,
-- -----------------------------------------------------
`id_tipo_pago` INT NULL DEFAULT NULL,
-- Table `l&v2`.`tipo_pago`
`monto` FLOAT NULL DEFAULT NULL,
-- -----------------------------------------------------
`fecha` DATETIME NULL DEFAULT NULL,
CREATE TABLE IF NOT EXISTS
`l&v2`.`tipo_pago` ( PRIMARY KEY (`id_pago`),
SET SQL_MODE=@OLD_SQL_MODE;
-- ----------------------------------------------------- SET
FOREIGN_KEY_CHECKS=@OLD_FOREIGN_K
-- Table `l&v2`.`pago`
EY_CHECKS;
-- ----------------------------------------------------- SET
CREATE TABLE IF NOT EXISTS `l&v2`.`pago` UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS
( ;
CONSULTAS CRÍTICAS
WHERE p.activo=1 ;
WHERE p.activo=1 ;
from cliente c inner join contacto_cliente cc on c.id_cliente = cc.id_cliente inner join area a on
c.id_area=a.id_area
WHERE c.activo=1 ;
WHERE u.activo=1 ;
WHERE u.admi=1 ;
select * from admi_disponibles;
EVENTOS EN LINEA
Proceso venta
Validar que el usuario esté en el sistema
Buscar producto
Select 1 from Inventario where id_prod = ? and cantidad >= cant_prod and cantidad >0
Registrar la venta
Generar boleta
Proceso Compra
Revisar cantidad disponible de algún producto en el inventario
Insert into caja (monto_salida) values ((select sum(p.monto) as total_out from pago p
where str_to_date((DATE_FORMAT(p.fecha, '%d,%m,%Y')), '%d,%m,%Y') = curdate()))
values (50,
);
PROCESOS BATCH
Código en Mysql
DELIMITER $$
BEGIN
END$$
DELIMITER ;
Código en Mysql
DELIMITER //
begin
update inventario_prod i
on i.id_prod = p.id_prod
end;
//
DELIMITER ;
Pero también se debe de actualizar el inventario cuando se compran productos, por lo que
usamos otro trigger:
Código en Mysql
DELIMITER //
begin
update inventario_prod i
on i.id_prod = p.id_prod
end;
//
DELIMITER ;
1.- El usuario registra la venta de uno o varios productos, esto se almacena en la tabla Venta
2.- El sistema extrae la información de las tablas Venta y Detalle_venta según el id de la venta
que se acaba de generar
3.- Con esta información extraída se procede a realizar el llenado de la tabla boleta y la
generación de la boleta física
DELIMITER $$
BEGIN
SELECT
END$$
DELIMITER ;
OPTMIZACIÓN DE CONSULTAS