MySQL - ¿Almacenar movimientos realizados por embarcaciones en una empresa?

 
Vista:

¿Almacenar movimientos realizados por embarcaciones en una empresa?

Publicado por Raquel (1 intervención) el 17/01/2019 19:51:07
Hola Chicos!

Estoy creando una bases de datos el cual me permita llevar un control de embarcaciones, dicha base de datos contendrá las siguientes tablas: Embarcación, Propietario, Capitán, Movimientos.

1.- La tabla Embarcación contendrá los siguientes campos: idEmbarcación, Matricula, Nombre, Fecha_Entrada, Longitud, Bandera, tipo_de_requer y ubicación.. (Ubicación se refiere al lugar donde se encuentra estacionado la embarcación..., en este registro una embarcación puede estar en el PT: Patio de Trabajo (por motivos de trabajo de mantenimiento), M: Muelle (solo por estacionamiento en agua, este a su vez se divide en Muelle Interno, Muelle Principal, Muelle de Emergencia y Muelle de Fácil Acceso., o en PLE: (Patio larga estadía, este es para estacionamiento en tierra).

2.- La tabla Propietario contendrá los siguientes campos: idPropietario, cédula_rif_pasaporte, nombre, apellido, teléfono, dirección, correo.

3.- La tabla Capitán: idCapitán, cédula_pasaporte, nombre, apellido, dirección, teléfono, correo.

4.- La Tabla Ubicación: idMovimiento, fecha_movimiento.

Mi duda es como almacenar los movimientos de las embarcaciones? ejemplo: La Embarcación "X" llegó al mueble interno de la empresa el día 13-12-2018, luego por motivos de mantenimiento solicitó un servicio de mantenimiento en el Patio de trabajo, luego de finalizar el trabajo x día deciden pasarlo nuevamente al muelle, ¿como puedo hacer para almacenar estos movimientos sin tener que recurrir a registrar la embarcación nuevamente.?

Otro ejemplo puede ser que la Embarcación "Y" ingresó directamente al Patio de Trabajo el día 12-10-2018 por motivos de mantenimiento, luego de finalizar el trabajo de mantenimiento es movilizado al muelle interno por x tiempo, luego la embarcación se retira del muelle interno por x tiempo pero mantiene su puesto en la empresa (es decir ninguna otra embarcación puede ingresar en ese puesto ya que este se encuentra reservado) y regresa nuevamente a su puesto.

Otro ejemplo puede ser que la Embarcación "Z" ingresó directamente al PLE el día 14-09-2018, luego decide pasar al patio de trabajo por mantenimiento el día 06-12-2018 y se mantiene allí hasta el día 13-12-2018 que es cuando es movilizado al muelle x y luego el día 18-01-2018 se retira de las instalaciones.

¿Como puedo almacenar todos esos movimientos sin tener que registrar la embarcación cada vez que voy a actualizar los movimientos y la ubicación? ¿Y en caso de la embarcación se retire en definitiva de la instalaciones como puedo mantener una especie de historial? ¿Y en caso de que la embarcación se encuentre en la instalaciones y que actualice la ubicación por motivos del movimiento como actualizar también la ubicación en la tabla embarcación?

¿Se debe crear otra tabla, o por medio de triggers?

Nota: una embarcación puede estar en las instalaciones por años, realizando innumerables movimientos.

En la mayoría de los caso solo se mantienen por un tiempo especifico, (generalmente de 3 a 6 meses o hasta 1 año) luego se retiran de las instalaciones sin mantener un puesto y puede que regresen al pasar 1, 2, 3 años.

De antemano agradezco sus respuestas
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Almacenar movimientos realizados por embarcaciones en una empresa?

Publicado por Alberto Gómez (2 intervenciones) el 11/02/2019 15:18:00
Hola Raquel, no tienes que almacenar los datos de la embarcación cada vez que haces un movimiento, si no relacionarlos con otra tabla.
Tus tablas podrían quedar así:
1.- La tabla Embarcación: datos sobre la embarcación sin la ubicación, ya que ese dato lo almacenará otra tabla. Lo que si debe incluir es el idPropietario y supongo el idCapitan
2.- La tabla Propietario: Datos de los propietarios
3.- La tabla Capitán: Datos de los capitanes
4.- La Tabla Ubicación: idMovimiento, idEmbarcación, fecha_movimiento, destino, observaciones, etc...

Con esta última tabla controlas todos los movimientos de las embarcaciones. La ubicación actual de una embarcación la marcará su último registro de esta tabla. Y mediante programación sería facil calcular los días que ha pasado en.. o que lleva en...

Espero haberte ayudado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar