Está en la página 1de 89

INSTITUTO TECNOLÓGICO DE VERACRUZ

ING. SISTEMAS COMPUTACIONALES

MATERIA:
DOCENTE: MSI. E ING. RAÚL HÉCTOR TRUJILLO JIMÉNEZ

MANUAL TÉCNICO

INTEGRANTE(S):
ÁVILA BÁRCENAS LUIS ALBERTO – E19021038
CERVANTES MURRIETA CRISTINA ALEJANDRA – E19021599
JIMÉNEZ GONZÁLEZ BRYAN – E19020311
JEREZANO GÓMEZ GUSTAVO – E19021606

FECHA: 30/04/2022

Horario: 14:00 -15:00

Equipo: 3
Contenido
Hamachi............................................................................................................................................4
Descarga e instalación................................................................................................................4
Recomendación previa a la configuración de Hamachi ...................................................10
Configuración de Hamachi .......................................................................................................13
MySQL ............................................................................................................................................19
Descarga e instalación..............................................................................................................19
Configuración de MySQL .........................................................................................................35
Objetivo especifico ........................................................................................................................38
Objetivos generales...................................................................................................................38
Diagrama conceptual ....................................................................................................................39
Diagrama entidad relación ...........................................................................................................40
Diccionario de datos......................................................................................................................41
LDD (lenguaje de definición de datos) .......................................................................................42
Tablas .............................................................................................................................................42
Bitácoras .........................................................................................................................................46
Segmentos .....................................................................................................................................58
índices .............................................................................................................................................59
Particiones ......................................................................................................................................60
Usuarios ..........................................................................................................................................62
LMD (lenguaje de manipulación de datos) ................................................................................65
Selects ........................................................................................................................................65
Inserts .........................................................................................................................................68
Conclusión ......................................................................................................................................88
Referencias ....................................................................................................................................89

Página 2 de 89
Página 3 de 89
Hamachi
Descarga e instalación

Ingresamos a la página oficial de Hamachi para poder descargarlo para su correcta


instalación. Una vez finalizada la descarga pasamos a nuestro explorador de
archivos donde encontraremos el ejecutable de Hamachi y daremos clic en él.

CACM

Nos abrirá un cuadro de advertencia, mismo que daremos clic ejecutar.

CACM

Página 4 de 89
Nos permitirá seleccionar el lenguaje de nuestra preferencia, una vez marcado
damos clic en siguiente.

CACM

Ahora, nos mostrara términos y condiciones de la licencia misma a la marcamos He


leído los términos…, y damos clic en siguiente.

CACM

Página 5 de 89
A continuación, veremos un cuadro donde nos pregunta dónde nos gustaría que se
instalara nuestro Hamachi. Podemos cambiar su ubicación dando clic en examinar,
una vez que ya haya marcado su destino aceptamos al igual, podemos marcar la
casilla si deseamos crear un acceso directo de la aplicación en nuestro escritorio y
damos clic en siguiente.

CACM

Después, nos mostrara un cuadro donde marcaremos nuevamente que aceptamos


los términos de la instalación. Damos clic ahora en instalar

CACM

Página 6 de 89
Nos lanzara una advertencia si es que deseamos permitir que esta aplicación pueda
crear cambios en nuestro sistema, al que daremos clic en sí, luego continuara con
la instalación y esperamos que termine.

CACM

Ya que termino su instalación sin ningún error, daremos clic en terminar y se iniciara
de manera automática el Hamachi

CACM

Página 7 de 89
Esperamos que inicie

CACM

Ya que inicio podemos ver su pequeña interfaz gráfica. Como podemos ver, para
poder iniciar el Hamachi debemos dar clic en el botón azul, de esta manera nos
abrirá un cuadro para iniciar nuestra sesión.

CACM

Para poder continuar debemos de llenar el siguiente formulario, en caso haber


usado Hamachi previamente podemos iniciar la sesión sin ningún problema. De lo
contrario, debemos registrarnos dando clic en las letras azules registrarse.

CACM

Página 8 de 89
Llenamos de manera correcta los campos del formulario ingresando un correo
electrónico en uso y crearemos una contraseña que no olvidemos. Luego de esto,
damos clic en el cuadro inferior crear cuenta

CACM

Finalmente, podemos iniciar sesión de manera normal y podemos continuar con el


uso de nuestro Hamachi de manera correcta.

CACM

Página 9 de 89
Recomendación previa a la configuración de Hamachi

Se recomienda desactivar primeramente el Firewall de Windows Defender, ya que


este no nos permitiría el acceso remoto de otros usuarios a nuestro ordenador. Para
ello, debemos de seguir los siguientes pasos.
Buscaremos Firewall de Windows Defender en nuestro inicio y lo iniciamos. Nos
abrirá esta interfaz con información al respecto. A lo que damos clic en activar o
desactivar Firewall de Windows Defender

Nos mostrara las opciones disponibles, y las marcaremos como desactivadas, luego
de eso damos clic en aceptar

Página 10 de 89
Con esto evitaremos que ocurra algún error al intentar dar uso de nuestro Hamachi
Así debe de ver se para que podamos continuar con la configuración.

Página 11 de 89
Página 12 de 89
Configuración de Hamachi

Ya que tenemos nuestro Hamachi instalado, podemos verlo en nuestro menú de


aplicaciones

Ya que contamos con él, lo vamos a ejecutar, una vez que haya abierto daremos
clic sobre el botón de encender para comenzar y poder crear un servidor funcional.

Página 13 de 89
Nos desplegara dos opciones posibles para poder realizar.
1. Crear una red nueva
2. Unirse a una red existente

1. Crear una red nueva


Primero haremos la primera opción, para esto seguiremos los siguientes dos pasos.
1. Daremos clic en crear una nueva red
Seguido de esto, nos abrirá un cuadro de dialogo donde debemos de ingresar un
nombre y contraseña a nuestra red.

Página 14 de 89
2. Ya con los datos ingresados en nuestro formulario, damos clic en crear.
Podemos ingresar cualquier nombre, pero si ya hay alguna red existente con
ese nombre, no nos permitirá continuar, por lo que debemos ingresar una
variable que permita el nombre, la contraseña debemos recordarla, ya que
esta se proporcionará a usuarios con los que deseamos trabajar en ese
momento.

Ya con estos dos sencillos pasos hemos creado nuestra red. Está únicamente nos
permite ingresar cinco usuarios, ya que estamos contando con la versión gratuita.

Página 15 de 89
Podemos ver el nombre los usuarios que se encuentran conectados en ese
momento a nuestra red, dando clic en la flecha azul que se encuentra al lado de 1/5.
En cambio, si damos clic derecho sobre el nombre de nuestra red, nos desplazara
un pequeño menú de opciones disponibles que podemos implementar en ese
momento según sea la que requerimos.

- Desconectar/conectar: apagar/encender la red


- Abrir ventana de chat
- Establecer acceso: apartado para configuraciones de acceso a nuestra red
- Transferir propiedad: si contamos con otra cuenta dentro de nuestro
Hamachi, podemos cambiar de propietario
- Eliminar red
- Comprar suscripción: esto en el caso que se desee permitir el acceso a más
de cuatro usuarios extra a nuestra red

Página 16 de 89
2. Unirse a una red existente
Ahora intentaremos con la segunda opción, unirse a una red. Para ello debemos de
seguir los siguientes pasos:
1. Haremos clic unirse a una red existente
Nos abrirá un cuadro de texto, donde nos hará la solicitud del nombre y contraseña
de la red a la que queremos ingresar. Ya cubiertos estos campos damos clic en
unirse

Página 17 de 89
Página 18 de 89
MySQL

Descarga e instalación
Iniciaremos con la descarga de nuestro MySQL desde la página de internet
https://dev.mysql.com/downloads/installer/. Mismo donde seleccionaremos el
sistema operativo de nuestra computadora y seguimos dando clic en descargar del
recuadro azul. Nota: la instalación de esta base de datos en concreto, fue realizada
en la versión 5.1. pero el proceso de instalación y de sus componentes fue en la
versión 8.0.29, esto no afecta en nada ya que todo se realizara directamente de la
consola de Windows.

CACM

Nos dará la opción de iniciar sesión o bien registrarse. En este caso no es muy
necesario, por lo que nos iremos en parte inferior izquierda que dice no gracias,
solo inicia mi descarga. Esperamos que termine y nos dará un ejecutable.

CACM

Página 19 de 89
Una vez que demos clic en el programa ya descargado en nuestros documentos,
nos lanzara un cuadro de advertencia en el que daremos ejecutar

CACM

Veremos un cuadro que nos dice de permitir que este programa haga cambios en
nuestro sistema, al que daremos clic en sí. Seguido de esto, continuara con la
instalación.

Página 20 de 89
Nos dará un cuadro de bienvenida al que daremos clic en siguiente

Seleccionamos los servicios que deseamos instalar, en este caso marcamos todos
y damos clic en siguiente

Página 21 de 89
Ya tenemos nuestros servicios listos para continuar con la descarga, a lo que
daremos clic en ejecutar, esperamos de unos minutos que terminen la descargas

Ya que han finalizado las descargas damos clic en siguiente

Página 22 de 89
Ahora veremos un dialogo para la configuración de nuestros productos que nos
dicen que ya están listos para su configuración, por lo que daremos clic en siguiente

Nos dice ahora de verificar y actualizar la base de datos, por lo que seleccionamos
skip…, continuamos dando en siguiente

Página 23 de 89
Gracias a lo anterior, aplicaremos las configuraciones y damos clic en ejecutar

Esperamos que termine con la actualización e instalación, una vez hecho esto
damos clic en finalizar

Página 24 de 89
Ya que dimos clic en finalizar, abrirá el siguiente cuadro de texto, donde
seleccionaremos el producto que vamos a añadir. Por el momento, seleccionaremos
MySQL Server, seguido damos clic en add.

Nuevamente podemos seleccionar los productos que deseamos instalar, para esto,
vamos a desplegar las versiones disponibles, dando clic en el símbolo +

Página 25 de 89
Podemos ver ahora los tres productos existentes, nuevamente tenemos que dar clic
en el icono de + para ver las versiones que están disponibles. Cada una de ellas
debemos de irlas abriendo para ver cuál permite nuestro ordenador instalar.

Una vez que hayamos seleccionado uno, daremos clic en la primera flecha de en
medio, para poder pasarla al cuadro en blanco de la derecha. Ya que la tenemos,
podemos dar clic en next

Página 26 de 89
Verificamos que contamos con los requerimientos necesarios, uno de ellos es el
Microsoft Visual C++, de no tenerlo se instalara de igual manera. Daremos clic en
ejecutar y esperamos un poco.

Aceptamos las licencias del Microsoft Visual C++ y damos en instalar

Página 27 de 89
Ya terminado, seguimos viendo la instalación que puede llegar a tardar uno minutos
y daremos clic en ejecutar

Nos pasara a otro cuadro de dialogo sobre la configuración del producto, ya que se
encuentra la configuración lista damos en siguiente

Página 28 de 89
Configuración del producto, una vez que se encuentra completado podemos seguir
con su instalación para culminar con ella y seguir con los pasos correspondientes.
Por lo que en el siguiente cuadro de texto que nos muestre le damos clic en
siguiente.

Ya podemos ver el cuadro de texto que nos dice que la instalación está completa,
por lo que daremos clic en finalizar

Página 29 de 89
Ahora que tenemos lo anterior, podemos dar inicio con la selección de tipo y redes,
en el cuadro de texto veremos cosas como como lo son el puerto y tipo de
configuración. Ya que cubrimos los espacios del formulario, damos clic en siguiente

Esto nos llevará a sesiones y roles que tendrá cada usuario, donde vamos a asignar
una contraseña que recordemos, seguido de esto la vamos a confirmar. Ya hecho
esto, damos clic en siguiente.

Página 30 de 89
Ahora tenemos los servicios de Windows, no haremos nada en esta parte en cuanto
seleccionar algún espacio o no, únicamente daremos clic en siguiente.

Debido a la acción anterior, debemos de esperar a que termine la aplicación de las


configuraciones, los puntos que aparecen en el cuadro de texto, deberán de
marcarse en verde todos después de haber dado clic en ejecutar.

Página 31 de 89
Ya que termino, todos los puntos deben encontrarse marcados de verde. Ya con
esto podemos dar clic en finalizar y podremos ver que ya se encuentra correcta
nuestra instalación

Ya podemos ver que en nuestro inicio de Windows los ocmponentes del MySQL
instalados.

Página 32 de 89
Para verificar que han sido instalados correctamente deberemos iniciarlo desde el
símbolo de sistema de Windows. Iniciando sesión en MySQL con el usuario y
contraseña proporcionados en la instalación, por medio de la siguiente sintaxis.
mysql –hlocalhost –uroot –p –P (puerto de instalación)

Sabemos que la instalación ha sido correcta cuando la consola nos permita acceder
al MySQL desde nuestra consola

Página 33 de 89
Página 34 de 89
Configuración de MySQL

Para poder realizar esto necesitamos ingresar un usuario que tenga permisos, para
así otorgar permisos a otros usuarios sobre tablas o esquemas.
Ingresamos a nuestro símbolo del sistema (CMD) con permisos de administrador.
Nos mostrara una advertencia a la que le daremos clic en sí

Ya que hayamos entrado a la CMD ingresaremos lo siguiente:


mysql -uroot -hlocalhost -p -P3309
De esta manera estamos ingresando con el usuario que otorgara permisos a otros
usuarios

Página 35 de 89
Ahora vamos a crear la sentencia para ejecutar usuarios y será:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
A continuación, podemos ver que esta sentencia fue aceptada por lo que ya se
encuentra el usuario creado.

Ahora otorgaremos permisos al usuario para tablas, lo haremos ingresando la


siguiente sentencia. Recordemos que el nombre y contraseña en esta parte,
deberán de ser los mismos que los anteriormente ingresados.
GRANT ALL PRIVILEGES ON*.*TO 'root'@'%' IDENTIFIED BY 'password';
Como podemos ver, la sentencia ha sido aceptada de manera correcta sin presentar
algún error.

Página 36 de 89
Gracias a lo anterior, la sentencia para iniciar sesión será diferente.
La sentencia que ocuparemos en caso de ser servidores será:
mysql -hlocalhost -uroot -p -P3309
La diferencia es que el hlocalhost se trata del nombre de nuestra computadora o la
del otro usuario a la que vamos a conectarnos o con la dirección Ip4 que nos
proporciona Hamachi. El nombre de nuestra computadora podemos verlo en la parte
superior de Hamachi, o bien:

Propiedades del dispositivo  clic derecho  propiedades del equipo.

Otra ruta que igual permite verlo es:


Tecla Win+I  sistema  acerca de

Mientras que uroot nombre del usuario, -p será la contraseña y -P el número del
puerto de la computadora anfitriona.
Página 37 de 89
Objetivo especifico

Garantizarle al cliente que cada vez que busque un producto, la empresa o tienda,
pueda ponerlo a su disposición. Y cuando existe un control riguroso, la empresa
podrá responder rápidamente a las necesidades del cliente, de esta manera poder
controlar los costes asociados con el exceso de stock.

Objetivos generales

o Evitar el desabastecimiento

o Exceso de inventario

o Transportar mercancías de manera eficiente

o Maximizar los márgenes de beneficio

Página 38 de 89
Diagrama conceptual

Página 39 de 89
Diagrama entidad relación

Página 40 de 89
Diccionario de datos

Página 41 de 89
LDD (lenguaje de definición de datos)
Tablas
Tabla de empresa
create table Empresa(

cveEmpresa int primary key not null,

nombreEmpresa char(40) not null,

numContacto char (10) not null,

CONSTRAINT chk_empresa CHECK (cveEmpresa LIKE '[0-9]{4}'

AND nombreEmpresa LIKE '[a-zA-Z0-9 ]*'

AND numContacto LIKE '[0-9]{10}')

);

Tabla cliente
create table Cliente(

cveCliente int primary key not null,

nombre char(30) not null,

apellidoPaterno char (20) not null,

apellidoMaterno char (20) not null,

numContacto char(10) not null,

cveEmpresa int not null ,

FOREIGN KEY (cveEmpresa) REFERENCES Empresa (cveEmpresa),

CONSTRAINT chk_cliente CHECK (cveCliente LIKE '[0-9]{4}'

AND nombre LIKE '[a-zA-Z ]' AND apellidoPaterno LIKE '[a-zA-Z ]' AND

apellidoMaterno LIKE '[a-zA-Z ]*' AND telefono LIKE '[0-9]{10}'));

Página 42 de 89
Tabla proveedor
create table Proveedor(

cveProveedor int primary key not null,

nombreProveedor char(40) not null,

direccion char(60) not null,

telefono char (10 )not null,

CONSTRAINT chk_proveedor CHECK (cveProveedor LIKE '[0-9]{4}'

AND nombreProveedor LIKE '[a-zA-Z0-9 ]*' AND telefono LIKE '[0-9]{10}')

);

Tabla producto
create table Producto(

cveProducto int primary key not null,

nombreProducto char(40) not null,

precio float not null,

precioCompra float not null,

existencias int not null,

cveProveedor int not null,

FOREIGN KEY (cveProveedor) REFERENCES Proveedor(cveProveedor),

CONSTRAINT chk_producto CHECK (cveProducto LIKE '[0-9]{4}'

AND existencias LIKE '[0-9]{4}'

AND precio>0 AND precioCompra>0 AND precio>precioCompra)

);

Página 43 de 89
Tabla compra
create table Compra(

cveCompra int primary key not null,

folioCompra char(30) not null,

unidades int not null,

fechaCompra DATE not null,

total float not null,

cveProducto int not null,

FOREIGN KEY (cveProducto) REFERENCES Producto(cveProducto),

CONSTRAINT chk_compra CHECK (cveCompra LIKE '[0-9]{4}'

AND cveProducto LIKE '[0-9]{4}' AND total>0)

);

Página 44 de 89
Tabla venta
create table Venta(

cveVenta int primary key not null,

folioVenta char(30) not null,

unidades int not null,

fechaVenta DATE not null,

total float not null,

cveProducto int not null,

cveCliente int not null,

FOREIGN KEY (cveProducto) REFERENCES Producto(cveProducto),

FOREIGN KEY (cveCliente) REFERENCES Cliente (cveCliente),

CONSTRAINT chk_venta CHECK (cveVenta LIKE '[0-9]{4}'

AND cveProducto LIKE '[0-9]{4}' AND total>0)

);

Página 45 de 89
Bitácoras
Registra todos los movimientos de las tablas de nuestras tablas de la base de datos.

Creación de bitácora compra


create table bitacora_Compra(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora)

);

Creación de los triggers


Trigger de INSERT
Create trigger Insercion_Compra after insert on Compra For each row

insert into bitacora_Compra (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveCompra=','

',NEW.cveCompra,' ','folioCompra=',' ',NEW.folioCompra,

' ','unidades=',' ',NEW.unidades,' ','fechaCompra=',' ',NEW.fechaCompra,'

','total=',' ',NEW.total,' ','cveProducto=','

',NEW.cveProducto),CURDATE());

Trigger de DELETE
Create trigger Eliminacio_Compra after delete on Compra For each row

insert into bitacora_Compra (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveCompra=','

',OLD.cveCompra,' ','folioCompra=',' ',OLD.folioCompra,

' ','unidades=',' ',OLD.unidades,' ','fechaCompra=',' ',OLD.fechaCompra,'

','total=',' ',OLD.total,' ','cveProducto=','

',OLD.cveProducto),CURDATE());

Página 46 de 89
Trigger de UPDATE
Create trigger Actuaizacion_Compra after UPDATE on Compra For each row

insert into bitacora_Compra (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveCompra:','

',OLD.cveCompra,'=',NEW.cveCompra,' ','folioCompra:','

',OLD.folioCompra,'=',NEW.folioCompra,' ',

'unidades:',' ',OLD.unidades,'=',NEW.unidades,' ','fechaCompra:','

',OLD.fechaCompra,'=',NEW.fechaCompra,' ','total:','

',OLD.total,'=',NEW.total,' ','cveProducto:','

',OLD.cveProducto,'=',NEW.cveProducto),CURDATE());

Creación de la bitácora venta


create table bitacora_Venta(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora)

);

Página 47 de 89
Creación de triggers
Trigger de INSERT
Create trigger Insercion_Venta after insert on Venta For each row

insert into bitacora_Venta (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveVenta=','

',NEW.cveVenta,' ','folioVenta=',' ',NEW.folioVenta,

' ','unidades=',' ',NEW.unidades,' ','fechaVenta=',' ',NEW.fechaVenta,'

','total=',' ',NEW.total,' ','cveProducto=',' ',NEW.cveProducto,'

','cveCliente=',' ',NEW.cveCliente),CURDATE());

Trigger de DELETE
Create trigger Eliminacio_Venta after delete on Venta For each row

insert into bitacora_Venta (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveVenta=','

',OLD.cveVenta,' ','folioVenta=',' ',OLD.folioVenta,

' ','unidades=',' ',OLD.unidades,' ','fechaVenta=',' ',OLD.fechaVenta,'

','total=',' ',OLD.total,' ','cveProducto=',' ',OLD.cveProducto,'

','cveCliente=',' ',OLD.cveCliente),CURDATE());

Página 48 de 89
Trigger de UPDATE
Create trigger Actuaizacion_Venta after UPDATE on Venta For each row

insert into bitacora_Venta (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveVenta:','

',OLD.cveVenta,'=',NEW.cveVenta,' ','folioVenta:','

',OLD.folioVenta,'=',NEW.folioVenta,' ',

'unidades:',' ',OLD.unidades,'=',NEW.unidades,' ','fechaVenta:','

',OLD.fechaVenta,'=',NEW.fechaVenta,' ','total:','

',OLD.total,'=',NEW.total,' ','cveProducto:','

',OLD.cveProducto,'=',NEW.cveProducto,' ','cveCliente:','

',OLD.cveCliente,'=',NEW.cveCliente),CURDATE());

Creación de la bitácora producto


create table bitacora_Producto(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora)

);

Página 49 de 89
Creación de los triggers
Trigger de INSERT
Create trigger Insercion_Producto after insert on Producto For each row

insert into bitacora_Producto (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveProducto=','

',NEW.cveProducto,' ','nombreProducto=',' ',NEW.nombreProducto,

' ','precio=',' ',NEW.precio,' ','precioCompra=',' ',NEW.precioCompra,'

','existencias=',' ',NEW.existencias,' ','cveProveedor=','

',NEW.cveProveedor),CURDATE());

Trigger de DELETE

Create trigger Eliminacion_Producto after delete on Producto For each row

insert into bitacora_Producto (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveProducto=','

',OLD.cveProducto,' ','nombreProducto=',' ',OLD.nombreProducto,

' ','precio=',' ',OLD.precio,' ','precioCompra=',' ',OLD.precioCompra,'

','existencias=',' ',OLD.existencias,' ','cveProveedor=','

',OLD.cveProveedor),CURDATE());

Página 50 de 89
Trigger de UPDATE

Create trigger Actuaizacion_Producto after UPDATE on Producto For each row

insert into bitacora_Producto (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveProducto:','

',OLD.cveProducto,'=',NEW.cveProducto,' ','nombreProducto:','

',OLD.nombreProducto,'=',NEW.nombreProducto,

' ','precio:',' ',OLD.precio,'=',NEW.precio,' ','precioCompra:','

',OLD.precioCompra,'=',NEW.precioCompra,' ','existencias:','

',OLD.existencias,'=',NEW.existencias,' ','cveProveedor:','

',OLD.cveProveedor,'=',NEW.cveProveedor),CURDATE());

Página 51 de 89
Creación de la bitácora empresas

create table bitacora_Empresa(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora)

);

Creación de los triggers

Trigger de INSERT

Create trigger Insercion_Empresa after insert on Empresa For each row

insert into bitacora_Empresa (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveEmpresa=','

',NEW.cveEmpresa,' ','nombreEmpresa=',' ',NEW.nombreEmpresa,'

','numContacto=',' ',NEW.numContacto),CURDATE());

Trigger de DELETE

Create trigger Eliminacion_Empresa after delete on Empresa For each row

insert into bitacora_Empresa (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveEmpresa=','

',OLD.cveEmpresa,' ','nombreEmpresa=',' ',OLD.nombreEmpresa,'

','numContacto=',' ',OLD.numContacto),CURDATE());

Página 52 de 89
Trigger de UPDATE

Create trigger Actuaizacion_Empresa after UPDATE on Empresa For each row

insert into bitacora_Empresa (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveEmpresa:','

',OLD.cveEmpresa,'=',NEW.cveEmpresa,' ','nombreEmpresa:','

',OLD.nombreEmpresa,'=',NEW.nombreEmpresa,' ',

'numContacto:',' ',OLD.numContacto,'=',NEW.numContacto),CURDATE());

Creación de la bitácora cliente


create table bitacora_Cliente(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora)

);

Página 53 de 89
Creación de los triggers

Trigger de INSERT

Create trigger Insercion_Cliente after insert on Cliente For each row

insert into bitacora_Cliente (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveCliente=','

',NEW.cveCliente,' ','nombre=',' ',NEW.nombre,

' ','apellidoPaterno=',' ',NEW.apellidoPaterno,' ','apellidoMaterno=','

',NEW.apellidoMaterno,' ','numContacto=',' ',NEW.numContacto,'

','cveEmpresa=',' ',NEW.cveEmpresa),CURDATE());

Trigger de DELETE
Create trigger Eliminacion_Cliente after delete on Cliente For each row

insert into bitacora_Cliente (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveCliente=','

',OLD.cveCliente,' ','nombre=',' ',OLD.nombre,

' ','apellidoPaterno=',' ',OLD.apellidoPaterno,' ','apellidoMaterno=','

',OLD.apellidoMaterno,' ','numContacto=',' ',OLD.numContacto,'

','cveEmpresa=',' ',OLD.cveEmpresa),CURDATE());

Página 54 de 89
Trigger de UPDATE

Create trigger Actuaizacion_Cliente after UPDATE on Cliente For each row

insert into bitacora_Cliente (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveCliente:','

',OLD.cveCliente,'=',NEW.cveCliente,' ','nombre:','

',OLD.nombre,'=',NEW.nombre,

' ','apellidoPaterno:',' ',OLD.apellidoPaterno,'=',NEW.apellidoPaterno,'

','apellidoMaterno:',' ',OLD.apellidoMaterno,'=',NEW.apellidoMaterno,'

','numContacto:',' ',OLD.numContacto,'=',NEW.numContacto,'

','cveEmpresa:',' ',OLD.cveEmpresa,'=',NEW.cveEmpresa),CURDATE());

Página 55 de 89
Creación de la bitácora proveedor

create table bitacora_Proveedor(

CVE_Bitacora int auto_increment,

Registro char(255) not null,

Fecha_Mod DATE not null,

UNIQUE(CVE_Bitacora));

Creación de los triggers

Trigger de INSERT

Create trigger Insercion_Proveedor after insert on Proveedor For each row

insert into bitacora_Proveedor (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','INSERT',' ','cveProveedor=','

',NEW.cveProveedor,' ','nombreProveedor=',' ',NEW.nombreProveedor,'

','direccion=',' ',NEW.direccion,' ','telefono=','

',NEW.telefono),CURDATE());

Trigger de DELETE

Create trigger Eliminacion_Proveedor after delete on Proveedor For each row

insert into bitacora_Proveedor (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','DELETE',' ','cveProveedor=','

',OLD.cveProveedor,' ','nombreProveedor=',' ',OLD.nombreProveedor,'

','direccion=',' ',OLD.direccion,' ','telefono=','

',OLD.telefono),CURDATE());

Página 56 de 89
Trigger de UPDATE

Create trigger Actuaizacion_Proveedor after UPDATE on Proveedor For each

row

insert into bitacora_Proveedor (Registro,Fecha_Mod)

Values (CONCAT('User=',' ',user(),' ','UPDATE',' ','cveProveedor:','

',OLD.cveProveedor,'=',NEW.cveProveedor,' ','nombreProveedor:','

',OLD.nombreProveedor,'=',NEW.nombreProveedor,' ',

'direccion:',' ',OLD.direccion,'=',NEW.direccion ,' ','telefono:','

',OLD.telefono,'=',NEW.telefono),CURDATE());

Página 57 de 89
Segmentos

Este segmento devuelve los productos que están a punto de agotarse o que ya se
agotaron en la base de datos inventario, tomando como referencia la tabla de
productos y su atributo de existencias

Create view Segmento_Productos_Agotados as select

cveProducto,nombreProducto ,precioCompra,existencias,cveProveedor

from producto where existencias = 0 or existencias <=10 ORDER BY

existencias DESC;

Este segmento devuelve las mayores ventas de la tabla venta arriba del monto
especificado

Create view Segmentos_Venta_Mayores as Select

cveVenta,unidades,total,cveProducto,cveCliente

from Venta where total >= 5000 ORDER BY total DESC;

Este segmento devuelve las mayores compras de acuerdo a un rango determinado


obtenido de la tabla compras de su atributo unidades

Create view Segmentos_Compra_Mayores as select

cveCompra,folioCompra,unidades,total,cveProducto

from Compra where unidades >= 25 ORDER BY unidades DESC;

Página 58 de 89
índices
índices de las tablas

ALTER TABLE Empresa AGREGAR INDICE (cveEmpresa);

ALTER TABLE Empresa AGREGAR INDICE (nombreEmpresa);

ALTER TABLE Cliente AGREGAR INDICE (cveCliente);

ALTER TABLE Compra AGREGAR INDICE (fechaCompra);

ALTER TABLE Compra AGREGAR INDICE (cveCompra);

ALTER TABLE Producto AGREGAR INDICE (cveProducto);

ALTER TABLE Producto AGREGAR INDICE (nombreProducto);

ALTER TABLE Venta AGREGAR INDICE (cveVenta);

ALTER TABLE Venta AGREGAR INDICE (fechaVenta);

ALTER TABLE Proveedor ADD INDEX (cveProveedor);

ALTER TABLE Proveedor AGREGAR INDICE (nombreProveedor);

Página 59 de 89
Particiones
Particionamiento en las tablas compra y venta, para esto se destruyeron las llaves
foráneas y los triggers de a continuación son para mantener las relaciones entre
las tablas.

Tabla compra
Destrucción de la llave foránea
ALTER TABLE Compra DROP FOREIGN KEY compra_ibfk_1;

Creación de trigger para mantener la relación entre producto


delimiter |

CREATE TRIGGER Particion_Compra BEFORE

INSERT ON Compra FOR EACH ROW

BEGIN

IF NOT EXISTS (SELECT 1 FROM producto WHERE cveProducto =

NEW.cveProducto) THEN

INSERT INTO

Compra(cveCompra,folioCompra,unidades,fechaCompra,total,cveProducto)

VALUES(NEW.cveCompra,NEW.folioCompra,NEW.unidades,NEW.fechaCompra,NEW.tot

al,NEW.cveProducto);

END IF;

END|

delimiter;

Creación de la partición
ALTER TABLE Compra PARTITION BY KEY(cveCompra) PARTITIONS 3;

Página 60 de 89
Partición de la tabla venta
Destrucción de la llave foránea
ALTER TABLE venta DROP FOREIGN KEY venta_ibfk_1;

ALTER TABLE venta DROP FOREIGN KEY venta_ibfk_2;

Creación de trigger para mantener la relación entre cliente y producto


delimiter |

CREATE TRIGGER Particion_Venta BEFORE INSERT ON Venta FOR EACH ROW

BEGIN

IF NOT EXISTS (SELECT 1 FROM Cliente WHERE cveCliente = NEW.cveCliente &&

(SELECT 1 FROM producto WHERE cveProducto = NEW.cveProducto)) THEN

INSERT INTO

venta(cveVenta,folioVenta,unidades,fechaVenta,total,cveProducto,cveClient

e)

VALUES(New.cveVenta,NEW.folioVenta,NEW.unidades,NEW.fechaVenta,NEW.total,

New.cveProducto,New.cveCliente);

END IF;

END |

delimiter ;

Creación de la partición
ALTER TABLE Venta PARTITION BY KEY(cveVenta) PARTITIONS 3;

Página 61 de 89
Usuarios
DBA (administrador de la base de datos)

Acceso a todas las funciones de modificación solo en el esquema inventario

-Sintaxis Usuario-
CREATE USER 'DBA'@'%' IDENTIFIED BY '12345678';

-Sintaxis de Privilegios-
GRANT ALL PRIVILEGES ON Inventario.* TO 'DBA'@'%';

Almacenista
Acceso a select,update y insert en productos ,proveedor y compra. Además de
select en el segmento segmentos_compra_mayores

-Sintaxis de Usuario-
CREATE USER 'Almacenista'@'%' IDENTIFIED BY '12345678';

-Sintaxis de Privilegios-
GRANT SELECT,UPDATE,INSERT ON INVENTARIO.Producto TO 'Almacenista'@'%';

GRANT SELECT,UPDATE,INSERT ON INVENTARIO.Proveedor TO 'Almacenista'@'%';

GRANT SELECT,UPDATE,INSERT ON INVENTARIO.Compra TO 'Almacenista'@'%';

GRANT SELECT ON INVENTARIO.segmentos_compra_mayores TO 'Almacenista'@'%';

Gerente

Acceso a select, insert, delete y update en en las tablas


cliente,compra,empresa,proveedor,producto,venta ,ademas de Select en los
segmentos segmento_productos_agotados,segmentos_compra_mayores
segmentos_venta_mayores ademas de poder hacer select en las Bitacoras

-Sintaxis de Usuario-
CREATE USER 'Gerente'@'%' IDENTIFIED BY '12345678';

Página 62 de 89
-Sintaxis de Privilegios-
GRANT SELECT ON INVENTARIO.bitacora_cliente TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.bitacora_compra TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.bitacora_empresa TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.bitacora_proveedor TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.bitacora_producto TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.bitacora_venta TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.segmento_productos_agotados TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.segmentos_compra_mayores TO 'Gerente'@'%';

GRANT SELECT ON INVENTARIO.segmentos_venta_mayores TO 'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.cliente TO 'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.compra TO 'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.empresa TO 'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.producto TO 'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.proveedor TO

'Gerente'@'%';

GRANT SELECT,UPDATE,INSERT,DELETE ON INVENTARIO.venta TO 'Gerente'@'%';

Página 63 de 89
Vendedor
Acceso a SELECT,INSERT y UPDATE de las tablas cliente ,venta y empresa
ademas de tener accesso al select en el segmento segmentos_venta_mayores

-Sintaxis de Usuario-
CREATE USER 'Vendedor'@'%' IDENTIFIED BY '12345678';

-Sintaxis de Privilegios-
GRANT SELECT,UPDATE,INSERT ON INVENTARIO.cliente TO 'Vendedor'@'%';

GRANT SELECT,UPDATE,INSERT ON INVENTARIO.venta TO 'Vendedor'@'%';

GRANT SELECT,UPDATE,INSERT ON INVENTARIO.empresa TO 'Vendedor'@'%';

GRANT SELECT ON INVENTARIO.segmentos_venta_mayores TO 'Vendedor'@'%';

Página 64 de 89
LMD (lenguaje de manipulación de datos)
Selects

Ejemplo Tablas
select*from Empresa;

select*from cliente;

Select*from proveedor;

Select*from Producto;

Select*from Producto;

select*from venta;

select*from compra;

Ejemplo Bitácora
Select*from bitacora_compra;

Select*from bitacora_venta;

select*from bitacora_Producto;

Select*From bitacora_Empresa;

Select*From bitacora_Cliente;

Select*from bitacora_Proveedor;

Ejemplo Segmentos
Select*from Segmento_Productos_Agotados;

select*From Segmentos_Venta_Mayores;

select*from Segmentos_Compra_Mayores;

Página 65 de 89
Ejemplo Particiones
De la tabla ventas
SELECT table_rows as 'data' FROM information_schema.partitions WHERE

table_schema = 'inventario' and table_name ='Compra' and partition_name =

'p0';

SELECT table_rows as 'data' FROM information_schema.partitions WHERE

table_schema = 'inventario' and table_name ='Compra' and partition_name =

'p1';

Ejemplo de la tabla productos


SELECT table_rows as 'data' FROM information_schema.partitions WHERE

table_schema = 'inventario' and table_name ='venta' and partition_name =

'p0';

SELECT table_rows as 'data' FROM information_schema.partitions WHERE

table_schema = 'inventario' and table_name ='venta' and partition_name =

'p2';

Página 66 de 89
Ejemplo con índices
Select*from producto inner join proveedor on producto.cveProveedor =

proveedor.cveProveedor;

Select*from cliente inner join Empresa on cliente.cveEmpresa =

empresa.cveEmpresa;

Select*from Venta inner join producto on venta.cveProducto

=producto.cveProducto;

Select*from venta inner join compra on Venta.fechaVenta =

Compra.fechaCompra;

Página 67 de 89
Inserts

En este apartado podemos ver los datos ingresados dentro de la base de datos

Insert tabla empresa

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(1, 'Covirsa', '2291050687');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(2, 'Distribidora Alcosa', '2292987120');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(3, 'San Fernando', '2299024378');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(4, 'El Mexicano', '2292947141');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(5, 'Distribuidora La Nacional', '2292986525');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(6, 'ABC Productos', '2292567123');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(7, 'Valbuena', '2292987450');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(8, 'Madisa', '2292986155');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(9, 'Laredo S.A de C.V', '2292527131');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(10, 'Grupo Rims Nacional', '2293987198');

Página 68 de 89
INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )
VALUES(11, 'Alba Distribuidora', '2292887140');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(12, 'Altamira S.A de C.V', '2292587122');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(13, 'Samano Importaciones', '2294137144');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(14, 'Nacional de Veracruz', '2292988491');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(15, 'Distribuidora San Miguel', '2299487187');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(16, 'Alebrijes S.A de C.V', '2295987137');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(17, 'Santiago S.A de C.V', '2291985630');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(18, 'Distribuidara La Bonita', '2291387578');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(19, 'El Jaibon', '2291381367');

INSERT INTO Empresa (cveEmpresa, nombreEmpresa, numContacto )


VALUES(20, 'El Genereal ', '2291387654');

Página 69 de 89
Insert tabla cliente

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1111, 'Eduardo', 'Gomes' , 'Rodriguez', '2291040288', 1);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1212, 'Francisco', 'Torres' , 'Zamora', '2291140258', 2);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1313, 'Daniel', 'Gutierres' , 'Zambrano', '2292343455', 3);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1414, 'Alberto', 'Romo' , 'Capistrano', '2294050268', 4);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1515, 'Javier', 'Arano' , 'Ferrer', '2291043479', 5);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1616, 'Jesus', 'Guerrero' , 'Montano', '2295740986', 5);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1717, 'Gustavo', 'Ruiz' , 'Jimenez', '2299330286', 6);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1818, 'Jose', 'Bonilla' , 'Martinez', '2299080200', 7);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(1919, 'Arturo', 'Gonzalez' , 'Hernandez', '2299340587', 8);

Página 70 de 89
INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,
numContacto, cveEmpresa)
VALUES(2020, 'Ramiro', 'Tronco' , 'Tinoco', '2291040241', 9);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2121, 'Narciso', 'Juarez' , 'Guerra', '2294940282', 10);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2222, 'Jorge', 'Dominguez' , 'Barrios', '2291044593', 11);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2323, 'Guastavo', 'Osorio' , 'Escobar', '2291340345', 12);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2424, 'Adolfo', 'Ferrer' , 'Gomes', '2292120246', 13);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2525, 'Joel', 'Dominguez' , 'Gonzalez', '2291052244', 15);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2626, 'Ignacio', 'Molina' , 'Robles', '2292768541', 16);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2727, 'Ulises', 'Toledo' , 'Martinez', '2293678092', 17);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2828, 'Raymundo', 'Hernandez' , 'Sanchez', '2293778074', 18);

INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,


numContacto, cveEmpresa)
VALUES(2929, 'Fernando', 'Solis' , 'Soto', '2293458063', 19);

Página 71 de 89
INSERT INTO Cliente (cveCliente, nombre, apellidoPaterno,apellidoMaterno,
numContacto, cveEmpresa)
VALUES(3030, 'Bruno', 'Mendoza' , 'Hernandez', '2299878093', 20);

Página 72 de 89
Insert tabla proveedor

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1001,'Lala','Urano #329. Veracruz, ver.','2293456794');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1002,'Alpura','Jimenez #3043. Veracruz,Ver', '2293465897' );

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1003,'Nestle','Ciudad industrial, #4416,
Veracruz,Ver','2298145687');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1004,'Bimbo','Diaz Miron #7587 Veracruz,ver.','2292134578');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES (1005,'Ricolino','Allende #435 Veracruz,ver.','2293458123');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1006,'Gamesa','Zaragoza #918 Veradcruz,Ver.','2281345672');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1007,'Coca-Cola','Juan de la Luz #455
Veracruz,Ver.','2281398282');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1008,'PEPSICO','Lazaro Cardenas #567 Veraruz,Ver.','2281398672');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1009,'Barcel','Marmoles #409 Veraruz,ver','2281399982');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1010,'Herdez','Robles #899 Veraruz,ver','2282398293');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1011,'Jumex','Vista Hermosa #440 Veraruz,ver','2282498290');

Página 73 de 89
INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)
VALUES(1012,'Alpura','Ernesto Gomes #345 Veraruz,ver','2282568295');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1013,'La Costeña','Javier Mina #380 Veraruz,ver','2282994287');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1014,'Sigma','Quetzalcoatl #7623 Veraruz,ver','2282797218');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1015,'Marinela','Gladiolas #120 Veraruz,ver','2282395261');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion,


telefono)
VALUES(1016,'P&G','Moctezuma #3012 Veraruz,ver','2282368260');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion,


telefono)
VALUES(1017,'Kellogs','Carlos Cruz #1098 Veraruz,ver','2282498290');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion,


telefono)
VALUES(1018,'Holanda','Cabo Blanco #987 Veraruz,ver','2292838954');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1019,'Grupo Modelo','Jacarandas #5097 Veraruz,ver','2291838954');

INSERT INTO Proveedor (cveProveedor, nombreProveedor, direccion, telefono)


VALUES(1020,'Grupo Heineken','Jacarandas #5097
Veraruz,ver','2291838954');

Página 74 de 89
Insert tabla productos

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2001,'Leche Entera Lala 1lt',23,20,400,1001);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2002,'Leche Deslactosada Lala 1lt',25,21,450,1001);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2003,'Yogurth Fresa Lala 50ml',13,9,500,1001);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(3001,'Yogurth Fresa Alpura 50ml',14,10,500,1002);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(3002,'Yogurth Zarzamora Alpura 50ml',14,10,500,1002);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(3003,'Yogurth 1Lt ',43,38,300,1002);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(4001,'Nestle Media Crema 250g',15,9,200,1003);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(4002,'Nestle Leche Polvo 500g',25,19,205,1003);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(4003,'Nestle cereal y Yogurth 250g',15,120,30,1003);

Página 75 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(5001,'Nito Bimbo 350g',17,14,300,1004);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(5002,'Roles Canela 100g',29,25,300,1004);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(5003,'Bimbuñuelos 400g',18,15,150,1004);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(6001,'Panditas 20g',10,7,200,1005);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(6002,'Gomitas 20g',10,7,200,1005);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(6003,'Colmillos 20g',10,7,200,1005);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(7001,'Saladitas 90g',25,20,400,1006);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(7002,'Ricanelas 80g',15,10,400,1006);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(7003,'Deliciosas 105g',18,15,350,1006);

Página 76 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(8001,'Coca-Cola 600ml',16,14,200,1007);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(8002,'Jugo del Valle 1lt',17,15,250,1007);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(8003,'Agua Ciel 1lt',15,13,300,1007);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(9001,'Pepsi 600ml',14,16,300,1008);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(9002,'Manzanita sol 1.5lt',17,14,220,1008);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(9003,'7Up 600ml',15,13,150,1008);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1101,'Runners 200g',12,10,150,1009);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1102,'Takis Fuego 250g',14,12,150,1009);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1103,'Takis Salsa Brava 250g',14,12,150,1009);

Página 77 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(1201,'Chiles en Rajas 200g',18,13,200,1010);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1202,'Elote grano amarillo 200g',17,18,200,1010);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1203,'Salsa Verde 500g',32.50,28.90,400,1010);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1301,'Jugo Naranja 1Lt',22,19.50,440,1011);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1302,'Jugo piña 1Lt',22,19.50,440,1011);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1303,'Jugo Uva 1Lt',22,19.50,440,1011);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1401,'Leche entera Alpura 1lt',28,23.90,240,1012);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1402,'Crema Alpura 300g',30,27.40,350,1012);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1403,'Yogurth mango 400ml',15,12.50,300,1012);

Página 78 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(1501,'Frijoles refritos 500g',18,15.20,350,1013);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1502,'Pure de Tomate 250ml',20,18,150,1013);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1503,'Chipotles 200g',12,9,250,1013);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1601,'Jamon FUD 250g',29.50,27.30,100,1014);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1602,'Salchicha San Rafael 300g',38,34.80,100,1014);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1603,'Tocino FUD 180g',43.50,38,100,1014);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1701,'Gansito 200g',18,16,80,1015);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1702,'Pinguinos 2 piezas 370g',25,23,5,1015);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1703,'Pay de piña 200g',18,15,90,1015);

Página 79 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(1801,'Head and Shoulders 950ml',115,92.5,240,1016);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1802,'Jabon Ariel Para Ropa 1kg',42,30,100,1016);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1803,'SUavizante Downy Rosas 950ml',36,29.14,240,1016);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1901,'Zucaritas 950g ',105,87.40,100,1017);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1902,'Froot Loops 950g ',125,96.40,1000,1017);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1903,'Chococrispis 950g ',108,88.95,1090,1017);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2004,'Magnum ',45,39,2500,1018);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2005,'Mordiscko 250g ',35,30.12,400,1018);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(2006,'Cremissimo Napolitano 1lt',53.50,42.13,100,1018);

Página 80 de 89
INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,
existencias, cveProveedor)
VALUES(2101,'Corona Extra 355ml',20,17,1200,1019);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1800,'Modelo Negra 355ml ',25,22.80,300,1017);

INSERT INTO Producto (cveProducto, nombreProducto, precio, precioCompra,


existencias, cveProveedor)
VALUES(1804,'Modelo Clara ',105,87.40,400,1017);

Página 81 de 89
Insert tabla compra

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25501, '95501', 1000 , '2022-03-12', 4500, 2001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25502, '95502', 300 , '2022-03-15', 3500, 2002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25503, '95503', 75 , '2022-01-17', 7000, 2003);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25504, '95504', 400 , '2022-04-02', 4855, 3001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25505, '95505', 200 , '2022-04-20', 4000, 3002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25506, '95506', 205 , '2022-04-22', 6755, 3003);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25507, '95507', 255 , '2022-02-24', 8900, 4001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25508, '95508', 115 , '2022-03-22', 7832, 4002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25509, '95509', 110 , '2022-01-20', 6755, 4003);

Página 82 de 89
INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,
cveProducto)
VALUES(25510, '95510', 90 , '2022-02-01', 3675, 5001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25511, '95511', 78 , '2022-03-02', 4589, 5002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25512, '95512', 130 , '2022-01-27', 5243, 5003);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25513, '95513', 250 , '2022-04-02', 7561.10, 6001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25514, '95514', 245 , '2022-04-03', 7000, 6002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25515, '95515', 80 , '2022-02-04', 2457, 6003);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25516, '95516', 100 , '2022-01-14', 3000, 7001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25517, '95517', 234 , '2022-03-19', 8912, 7002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25518, '95518', 90 , '2022-05-22', 1572, 7003);

Página 83 de 89
INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,
cveProducto)
VALUES(25519, '95519', 158 , '2022-02-11', 5245.71, 8001);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(25520, '95520', 266 , '2022-01-12', 9534, 8002);

INSERT INTO Compra (cveCompra, folioCompra, unidades, fechaCompra, total,


cveProducto)
VALUES(2551, '95520', 230 , '2022-04-15', 7685.20, 8003);

Página 84 de 89
Insert tabla venta

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(001, '9001', 350 , '2022-01-08', 5000, 2001, 1111);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(002, '9002', 200 , '2022-01-03', 3005, 2002, 1212);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(003, '9003', 133 , '2022-01-02', 1875, 2003, 1313);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(004, '9004', 100 , '2022-02-12', 1975.5, 3001, 1414);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(005, '9005', 155 , '2022-03-15', 2015, 3002, 1515);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES('006', '9006', '200' , '2022-03-17', '3250', '3003', '1616');

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(007, '9007', 100 , '2022-04-14', 2000, 4001, 1717);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(008, '9008', 100 , '2022-08-09', 1735, 4002, 1818);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(009, '9009', 102 , '2022-04-22', 1975.5, 4003, 1919);

Página 85 de 89
INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,
cveProducto, cveCliente)
VALUES(010, '9010', 87 , '2022-01-20', 1452, 5001, 2020);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(011, '9011', 200 , '2022-04-22', 1589, 5002, 2121);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(012, '9012', 90 , '2022-03-24', 1200, 5003, 2222);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(013, '9013', 150 , '2022-03-30', 970, 6001, 2323);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(014, '9014', 85 , '2022-01-28', 400, 6002, 2424);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(015, '9015', 110 , '2022-02-27', 2200, 6003, 2525);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(016, '9016', 190 , '2022-03-02', 3400, 7001, 2626);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(017, '9017', 200 , '2022-04-12', 1970, 7002, 2727);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(018, '9018', 195 , '2022-04-25', 2450, 7003, 2828);

Página 86 de 89
INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,
cveProducto, cveCliente)
VALUES(019, '9019', 200 , '2022-03-13', 3876, 8001, 3030);

INSERT INTO Venta (cveVenta, folioVenta, unidades, fechaVenta, total,


cveProducto, cveCliente)
VALUES(020, '9018', 205 , '2022-04-16', 2500, 8002, 3030);

Página 87 de 89
Conclusión

Lograr el control de un inventario no es una tarea fácil como pudimos llegar a notarlo,
debido a que depende mucho de la demanda de los clientes. Misma que se
encuentra relacionada a los requerimientos y gustos de los mismos. Además,
resulta difícil la aceptación de un nuevo método para el correcto control de los
productos disponibles dentro de la empresa, esto a causa de que se encuentran
trabajando con un sistema con el cual se encuentran a gusto.

El propósito de este proyecto es el garantizar la satisfacción del cliente mediante


una propuesta de una implementación de sistema de inventarios. Para poder llevarlo
a cabo, se realizó un programa que nos permita ayudar a calcular la cantidad
existente de productos existentes y vendidos.

Permitiendo mejorar el nivel de servicio al cliente, con una inversión adecuada de


capital y de esta manera poder evitar algún error cometido por perdida de material
en exceso.

Así como mostrar quiénes y en qué momento realizan un cambio dentro de la base
de datos. Por lo que, en este punto cuenta con la seguridad de únicamente darle
acceso a determinados usuarios establecidos por el servidor, así evitando que haya
algún desfalco dentro del inventario por parte de los usuarios y de esta manera no
se ve afectada la empresa.

Página 88 de 89
Referencias
https://www.vpn.net/

https://dev.mysql.com/downloads/

Astros, I. J. T. (2011, June 8). Diseño de un sistema de gestión de inventario.


Monografias.com. https://www.monografias.com/trabajos86/diseno-sistema-
gestion-inventario/diseno-sistema-gestion-inventario

Control de inventario: ¿qué es y cuál es su importancia? (2019, April 10). Jasmin


Software. https://www.jasminsoftware.es/blog/control-de-inventario/

Metas y objetivos de un sistema de control de inventarios. (2013, March 10).


Pequeña y Mediana Empresa - La Voz Texas. https://pyme.lavoztx.com/metas-y-
objetivos-de-un-sistema-de-control-de-inventarios-8559.html

Andres, J. [UCuwFgBTTmwfgcEIvEFjCqow]. (2016, January 4). ANÁLISIS Y


CREACIÓN DE BASE DE DATOS EN MYSQL WORKBENCH(INVENTARIO).
Youtube. https://www.youtube.com/watch?v=_dc4jXiGMw4

ENI BN open. (n.d.). Ediciones-Eni.Com. Retrieved April 29, 2022, from


https://www.ediciones-
eni.com/open/mediabook.aspx?idR=152a942e8f4fe9ebf124c8f8bb8e5cd8

GRANT ALL PRIVILEGES ON *.* TO “root’@’%” WITH GRANT OPTION; Code


example. (n.d.). Codegrepper.Com. Retrieved April 29, 2022, from
https://www.codegrepper.com/code-
examples/sql/GRANT+ALL+PRIVILEGES+ON+%2A.%2A+TO+%27root%27%40
%27%25%27+WITH+GRANT+OPTION%3B

Página 89 de 89

También podría gustarte