Proyecto Final


Enunciado

Este proyecto busca ofrecer una solución tecnológica que permita gestionar de manera eficiente los procesos en los muelles de carga. Por esto, mediante esta herramienta se podrá llevar un control detallado para la carga, descarga, distribución y manejo de los contenedores, mediante el uso de bases de datos Mysql y programación en Java.

Una de las principales ventajas de esta herramienta es su enfoque en la facilidad de uso y accesibilidad para el personal encargado de las operaciones en los muelles de carga. La solución se presentará de manera gráfica e intuitiva, lo que facilitará su manejo y reducirá los márgenes de error en la ejecución de las tareas y actividades mencionadas.

Esta característica innovadora permitirá que el personal capacitado pueda utilizar la herramienta de manera eficiente sin necesidad de contar con conocimientos técnicos avanzados en programación o en el uso de software complejos. Además, la solución tecnológica permitirá reducir los costos de implementación y de entrenamiento del personal, lo que contribuirá a que la herramienta pueda ser adoptada con facilidad en empresas de diferentes tamaños y características.

En resumen, este proyecto de gestión de procesos en los muelles de carga busca ofrecer una solución tecnológica accesible e intuitiva que permita optimizar la gestión de las operaciones logísticas en estos puntos críticos de la cadena de suministro, lo que se traducirá en una mayor eficiencia, rentabilidad y seguridad en las operaciones de importación y exportación de mercancías. 


Base de Datos


Modelado


Tablas Principales

                 | Barco |                                                                                                     | Capitán |

                  | Contenedor |                                                                                   | Mercancía |

                                    | Ruta |                                                                                   | Propietario |


Tablas Relacionales

| Barco - Contenedor |

| Contenedor - Mercancía |

| Barco - Capitan |

| Barco - Ruta |

| Propietario - Mercancía |

Consultas


Consulta SELECT básica:

Sintaxis: SELECT columna1, columna2 FROM tabla;


  • Enunciado: Consultar los barcos registrados


Análisis:

  • ¿Qué se desea consultar y de que tablas?

barco.*

  • ¿Qué tablas se ven afectadas o involucradas?

barco

  • Condición(es)

Ninguna


Consulta SELECT con filtro WHERE:

Sintaxis: SELECT columna1, columna2 FROM tabla WHERE condición;


  • Enunciado: Consultar las rutas del puerto de Cartagena


Análisis:

  • ¿Qué se desea consultar y de que tablas?

ruta.*

  • ¿Qué tablas se ven afectadas o involucradas?

ruta

  • Condición(es)

WHERE ruta.puerto = 'Cartagena'


Consulta SELECT con ordenamiento ORDER BY:

Sintaxis: SELECT columna1, columna2 FROM tabla ORDER BY columna1 ASC;

  • Enunciado: Consultar la cedula y el nombre de los capitanes ordenados ascendentemente


Análisis:

  • ¿Qué se desea consultar y de que tablas?

capitan.cedula

capitan.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

capitan

  • Condición(es)

Ninguna


Consulta SELECT con función de agregación GROUP BY:

Sintaxis: SELECT columna, COUNT(*) FROM tabla GROUP BY columna;


  • Enunciado: Consultar el numero de rutas para cada puerto


Análisis:

  • ¿Qué se desea consultar y de que tablas?

ruta.puerto

  • ¿Qué tablas se ven afectadas o involucradas?

ruta

  • Condición(es)

Ninguna


Consulta SELECT con función de COUNT y filtro HAVING:

Sintaxis: SELECT columna, COUNT(*) FROM tabla GROUP BY columna HAVING COUNT(*) > núm;

  • Enunciado: Consultar los colores de los contenedores y mostrar los cuales haya mas de 3 en inventario

Análisis:

  • ¿Qué se desea consultar y de que tablas?

contenedor.color

  • ¿Qué tablas se ven afectadas o involucradas?

contenedor

  • Condición(es)

HAVING COUNT(*) > 3

Remplazando nombre de la columna 'COUNT(*)' con 'AS'

Para utilizar un alias en una consulta de SQL, debemos agregar el comando AS para indicar a nuestra base de datos que estamos renombrando una columna o tabla.


Consulta SELECT con unión de tablas Inner Join:

Sintaxis: SELECT t1.columna1, t2.columna2 FROM tabla1 t1 INNER JOIN tabla2 t2 ON t1.id = t2.id;


  • Enunciado: Consultar el nombre del capitan y su cedula junto con su barco y el IMO correspondiente


Análisis:

  • ¿Qué se desea consultar y de que tablas?

capitan.cedula

capitan.nombre

barco.IMO

barco.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

capitan

barco

cap_barco

  • Condición(es)

Ninguna


Consulta SELECT con unión de tablas Left Join:

Sintaxis: SELECT t1.columna1, t2.columna2 FROM tabla1 t1 LEFT JOIN tabla2 t2 ON t1.id = t2.id;


  • Enunciado: Consultar que barcos no tienen asignados contenedores

Análisis:

  • ¿Qué se desea consultar y de que tablas?

barco.IMO

barco.nombre

contenedor.color

  • ¿Qué tablas se ven afectadas o involucradas?

contenedor

barco

barco_cont

  • Condición(es)

Ninguna


Consulta LIKE:

| Consulta para buscar valores que comiencen con un determinado prefijo |

Sintaxis: SELECT columna FROM tabla WHERE columna LIKE 'prefijo%';


  • Enunciado: Consultar barcos que sus nombres comiencen por 'A'


Análisis:

  • ¿Qué se desea consultar y de que tablas?

barco.*

  • ¿Qué tablas se ven afectadas o involucradas?

barco

  • Condición(es)

WHERE barco.nombre LIKE 'a%'


Consulta LIKE:

| Consulta para buscar valores que comiencen con un determinado sufijo |

Sintaxis: SELECT columna FROM tabla WHERE columna LIKE '%sufijo';


  • Enunciado: Consultar los barcos que sus nombres terminen en 'O'


Análisis:

  • ¿Qué se desea consultar y de que tablas?

barco.*

  • ¿Qué tablas se ven afectadas o involucradas?

barco

  • Condición(es)

WHERE barco.nombre LIKE '%o'


Consulta LIKE:

| Consulta para buscar valores que contengan una determinada subcadena en cualquier posición |

Sintaxis: SELECT columna FROM tabla WHERE columna LIKE '%subcadena%';


  • Enunciado: Consultar los nombres y el teléfono de los capitanes que sus cedulas tengan '16'


Análisis:

  • ¿Qué se desea consultar y de que tablas?

capitan.cedula

capitan.nombre

capitan.telefono

  • ¿Qué tablas se ven afectadas o involucradas?

capitan

  • Condición(es)

WHERE capitan.cedula LIKE '%16%'


Consulta LIKE:

| Consulta para buscar valores que tengan una longitud específica |

Sintaxis: SELECT columna FROM tabla WHERE columna LIKE '______';


  • Enunciado: Consultar los barcos que su nombre tengan 9 caracteres exactamente


Análisis:

  • ¿Qué se desea consultar y de que tablas?

barco.IMO

barco.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

barco

  • Condición(es)

WHERE barco.nombre LIKE '_________'


Consulta SELECT con función SUM:

Sintaxis: SELECT SUM(columna) FROM tabla;


  • Enunciado: Consultar el total de peso de toda la mercancía en el muelle


Análisis:

  • ¿Qué se desea consultar y de que tablas?

mercancia.peso

  • ¿Qué tablas se ven afectadas o involucradas?

mercancia

  • Condición(es)

Ninguna


Consulta SELECT con función MAX y SUBCONSULTA:

Sintaxis: SELECT * FROM tabla WHERE columna = (SUBCONSULTA);


  • Enunciado: Consultar la mercancia con mayor peso en el muelle


Análisis:

  • ¿Qué se desea consultar y de que tablas?

mercancia.*

  • ¿Qué tablas se ven afectadas o involucradas?

mercancia

  • Condición(es)

WHERE peso = (SELECT MAX(peso) FROM mercancia);


Consulta SELECT con función AVG:

Sintaxis: SELECT AVG(columna) FROM tabla; 


  • Enunciado: Consultar el promedio de peso de toda la mercancía


Análisis:

  • ¿Qué se desea consultar y de que tablas?

mercancia.peso

  • ¿Qué tablas se ven afectadas o involucradas?

mercancia

  • Condición(es)

Ninguna


Consulta SELECT con función Between:

Sintaxis: SELECT columna FROM tabla WHERE columna BETWEEN valor_min AND valor_max;


  • Enunciado: Consultar las mercancia que pesen entre 100 y 200 Kg

Análisis:

  • ¿Qué se desea consultar y de que tablas?

mercancia.*

  • ¿Qué tablas se ven afectadas o involucradas?

mercancia

  • Condición(es)

WHERE peso BETWEEN 100 AND 200;


Consulta SELECT con función IN:

Sintaxis: SELECT columna FROM tabla WHERE columna IN (valor1, valor2, ...);


  • Enunciado: Consultar las mercancia de los tipos 'Alimentos' y 'Dulces'


Análisis:

  • ¿Qué se desea consultar y de que tablas?

mercancia.*

  • ¿Qué tablas se ven afectadas o involucradas?

mercancia

  • Condición(es)

WHERE tipo IN ('Alimentos', 'Dulces');


Crear Vista:

Sintaxis: CREATE VIEW ´nombre_vista´ as SELECT * FROM ´nombre_tabla´ JOIN 'nombre_tabla2' ON condición;


  • Enunciado: Crear una vista de una tabla con los barcos y capitanes correspondientes

Vista creada:

Visualización:


Crear Función:

Sintaxis: 

Delimiter //

Create procedure 'nombre función'(in parámetro(tamaño), in parámetro(tamaño))

Begin

Insert into 'tabla'(campo1, campo2) values(parametro1,parametro2);

End

//

  • Enunciado: Crear una función que permita insertar datos a la tabla Capitan

Creación:

Uso:


 Copia Base de Datos

https://remingtonedu-my.sharepoint.com/:u:/g/personal/luis_rendon_6273_miremington_edu_co/Eeo4pHvD2UJJuvT90wltm1YB_7rcMUDV_kuzduy1aLU4pw?email=javier.ospina%40uniremington.edu.co&e=VpVOtN

¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar