Proyecto Final

Esto es procesado según la necesidad real de empresa actual:

1. Definir el enunciado del problema a sistematizar según las necesidades detectadas. 

Almacenamiento y Bodegaje.

Una Empresa Marca de Alimentos, empaca en su planta la mayoría de sus productos estrellas, esta requiere un sistema de Trazabilidad y localización de Producción, según se vayan empacando. Necesitan saber que Operario y en que Maquina se realizo tal empaque con su Lote, Sección y Localización, debe existir un inventario por lotes, ya que según las ubicaciones e inventarios un operario define una ruta para que con su monta Carga dentro de la bodega pueda recoger los productos que sean requeridos, y con este proceso logra tener un tiempo de carga y descarga mas eficiente, también poder hacer que se afectara futuramente al sistema ERP para los demás procesos de la compañía.

2. REALIZAR LO SIGUIENTE:

2.1. Darle un nombre a la base de datos.
2.2. Listado de tablas que llevara la BD. (Cuales son referenciales y cuales son de movimiento)
2.3. Diseñar el diccionario de datos de cada tabla (campo, nombre el campo, tipo, tamaño y descripción).
2.4. Montar o diseñar el modelo entidad relación.
2.5. Dibujar el Diagrama relacional.

CONTENIDO DEL SIGUIENTE ARCHIVO DEL BOTON:
- Nombre de la Base de datos y sus Tablas
- Modelo Entidad Relación
- Diagrama Relacional
- Diccionario de Datos
- Datos y Relación.


3. Crear la BD y las tablas respectivas en mysql (guardar evidencias del código mysql con el que resuelva dicha actividad) (Entrega 2)

Evidencia en el siguiente archivo:

Quería quitar una Clave Primaria pero como es un Campo AutoIncremental , no se puede, para hacer esto primero debo cambiar se estado para poderla eliminar. Entonces no realice ninguna Acción ya que las demás tablas estaban relacionadas y tampoco se dejaban eliminar la clave primaria.

Agregue un campo al final de la Tabla ORDEN

Cambie un el Nombre de una Campo en la Tabla OPERARIO.

Creación de Procedimiento Almacenado para ingresar datos en las tablas.

Ingresamos datos con el proceso almacenado.

Se ingresaron lo datos de tres formas diferentes:
- Con el código normal sobre la BD.
- Copiando y Pegando los datos desde una Archivo plano en Lote.
- Con el Proceso Almacenado.      (Evidencia)


4. Diseñar ejercicios en los que se apliquen los diferentes comando que se utilizaron durante el semestre con su respectivo análisis y resultados. (Entrega 3)

Consultar las ordenes con el Producto de código=10310 que sean con una cantidad Mayor o igual a 150.

Análisis:
1. Información que deseamos Mostrar:  Producto del Codigo '10310'
2. Donde esta la información: Producto
3. Identificar la condición que hay: codigo=10310 
4. Identificar que comandos me sirven para dar la solución: Select, Where.

Sintaxis:
>>> select * from orden where codproducto='10310' and cantidad>=150;

Mostar la información de los Operarios que ingresaron entre el año 2012 y 2015.

Análisis:
1. Información que deseamos Mostrar:  Información de Operarios
2. Donde esta la información: Tabla Operarios
3. Identificar la condición que hay:  Fecha_Ingreso entre 2012 y 2015
4. Identificar que comandos me sirven para dar la solución: Select, Where.

Sintaxis:
>>>  select * from operario where fecha_Ingreso between '2012/01/01' and '2015/12/31';

Mostrar los operarios que contengan  "Juan" en su Nombre.

Análisis:
1. Información que deseamos Mostrar:  Información de Operarios
2. Donde esta la información:  Operarios
3. Identificar la condición que hay:  Like '%Juan%'
4. Identificar que comandos me sirven para dar la solución: Select, Where.

Sintaxis:
>>> select * from operario nombre where nombre like '%juan%';

Mostrar los Operarios que su RH_SANGRE sea -Negativa.

Análisis:
1. Información que deseamos Mostrar:  Información de Operarios
2. Donde esta la información:  Operarios
3. Identificar la condición que hay:  rh_sangre like '%-'
4. Identificar que comandos me sirven para dar la solución: Select, Where.

Sintaxis:
>>> select * from operario rh_sangre where rh_sangre like '%-';

Consulta el código y Nombre de Producto, código y nombre de la maquina que empaca cada una.

Análisis:
1. Que se desea Visualizar y de que tablas:
    producto.codproducto   producto.nombre    maquina.codmaquina   maquina.descripcion
2. Que tablas están involucradas: Producto, maquina, maquina_producto
3. Que condiciones tenemos: N/A
4. Como se relacionan las tablas:
producto.codproducto=maquina_producto.codproducto 
maquina_producto.codmaquina=maquina.codmaquina
5. Comando se debe utilizar: Select, Where.

Sintaxis:
>>> select distinct producto.codproducto, producto.nombre, maquina.codmaquina, maquina.descripcion from producto, maquina, maquina_producto where producto.codproducto=maquina_producto.codproducto and maquina_producto.codmaquina=maquina.codmaquina;


Consulta el Número de Orden, Lote de los Productos.

Análisis:
1. Que se desea Visualizar y de que tablas:
orden.idorden,   lote.codlote,   producto.nombre  -> orden, lote, producto 
2. Que tablas están involucradas: Orden, Producto,Lote.
3. Que condiciones tenemos: N/A
4. Como se relacionan las tablas:
producto.codproducto=orden.codproducto  
orden.codlote=lote.codlote; 
5. Comando se debe utilizar: Select, Where.

Sintaxis:
>>> select distinct orden.idorden 'ORDEN', lote.codlote 'LOTE', producto.nombre from orden, lote, producto where producto.codproducto=orden.codproducto and orden.codlote=lote.codlote;


FUNCIONES:

1. Sumar la Cantidad de Producción con las ordenes realizadas.
2. Mostrar la Cantidad Máxima de producto que se ha producido.
3. Mostrar la Cantidad Mínima de Cantidad  de producto Producida.
4. Contar de Ordenes que se han hecho.
5. Promediar La cantidad de Producción.


COMANDOS UPDATE - DELETE - ORDER 

Actualizaremos la Fecha de Ingreso de un Operario que Cambio de Contrato.

Análisis:
1. Que se desea Visualizar y de que Tablas?: 
Fecha_Ingreso.
2. Tablas involucradas?:
Operario.
3. Condiciones en particular?:
cedula='43598200'; 
4. Como se relaciona las tablas?:
no aplica
5. Comandos a Utilizar?:
UPDATE

Sintaxis:
>>> update operario set fecha_Ingreso='2019/05/29' where cedula='43598200';

Eliminaremos un pasillo el cual ya no existe.

Análisis:
1. Que se desea Visualizar y de que Tablas?:
Seccion
2. Tablas involucradas?:
seccion 
3. Condiciones en particular?:
codseccion='4-1';
4. Como se relaciona las tablas?:
no aplica
5. Comandos a Utilizar?:
DELETE

Sintaxis:
>>> delete from seccion where codseccion='4-1';

Ordenaremos los productos por Costo Descendiente y después por Nombre.

Análisis:
1. Que se desea Visualizar y de que Tablas?:
Producto Ordenado por Costo y Nombre
2. Tablas involucradas?:
Producto 
3. Condiciones en particular?:
N/A
4. Como se relaciona las tablas?:
N/A
5. Comandos a Utilizar?:
Order by

Sintaxis:
>>>  select * from producto order by costo desc;
>>> select * from producto order by nombre;

Muestre en que Sección esta Ubicado cada Lote Producido.

Analisi:

1. Que desea consultar y de que tablas?
lote.codlote
Seccion.codSeccion
2. Que tablas se ven afectada o involucradas.?
Lote, Seccion, Lote_Seccion
3. Condiciones.?
N/A
4. Como se relacionan las tablas.?
lote.codlote=lote_seccion.codlote 
seccion.codseccion=lote_seccion.codseccion; 
5. Que comando se debe utilizar.?
Select, inner join.

Sintaxis:
>>> select distinct lote.codlote, seccion.codseccion, seccion.nombre from lote inner join lote_seccion on lote.codlote=lote_seccion.codlote inner join seccion on seccion.codseccion=lote_seccion.codseccion;


Mostrar la Suma de la Cantidad de las ordenes por Código Producto.

Análisis:
1.Que deseo consultar.?
Cod Producto
2. Campo en el que se aplica la función.?
Cantidad
3.Campo por el cual voy a agrupar.?
CodProducto
4. Comando.?
Group by, select, Sum
Sintaxis. >>> select codproducto, sum(cantidad) as 'CANTIDAD POR CODIGO' from orden group by codproducto;

Creamos una Vista con los Productos que tienen costo mas Caro.

Análisis.
1.Que deseo consultar.?
Producto
2. Campo en el que se aplica la función.?
3.Campo por el cual voy a agrupar.?
4. Comando.?

Sintaxis. >>
create view productoCaros as select * from producto where costo>=100000;

Calcular el PrecioTotal del Costo de Cada Orden, menos un Descuento para todas del 5%.


Análisis:
Con quien o que lo va a reemplazar: (costo*0.05) - costo de la tabla Producto
Condiciones: Producto.codproducto=orden.codproducto
Comando: Update

Sintaxis:
>>>> update orden set precio_total = (select costo-(costo*0.05) from producto where producto.codproducto=orden.codproducto);

Campo a reemplazar: precioTotal de la tabla Orden.

EVIDENCIA DE ALGUNAS PARTES DEL TEE:

Evidencia de la BASE DE DATOS COMO TERMINO:


Hecho por:

ANDREY CARO CARDONA