Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2014, 15:53
Avatar de farfamorA
farfamorA
 
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 5 meses
Puntos: 24
"Transitividad" entre relaciones

Buenas tardes,
Estoy teniendo un problema para plasmar el diseño de una base de datos que me parecía sencilla (debe serlo), pero hoy estoy tonto como una piedra.
Agradecería si alguien me echa un cable :)

La situación es así:
Tengo tres relaciones: (1) Guía de Remisión, (2) Empresa Transportista y (3) Vehículo.
(1) Guía de Remisión: Es un documento con la que se envía una mercadería por un medio de transporte, debe contener (entre otros datos) los datos de la (2) Empresa Transportista y el (3) Vehículo de la empresa transportista que realiza el traslado.

Comenzando por el principio: es claro que una Empresa Transportista puede tener varios Vehículos.
Por lo tanto, estas dos relaciones las tengo así:

+-------------------------+
| vehiculo
+-------------------------+
id (PK)
marca
modelo
empresa_transportista (FK)
+-------------------------+

+-------------------------+
| empresa_transportista
+-------------------------+
id (PK)
nombre
+-------------------------+

Como ven, la relación Vehículo tiene una clave foránea que apunta al ID de la relación Empresa Transportista.

Continuando, la relación Guía de Remisión la tengo tal como sigue:

+-------------------------+
| guia_remision
+-------------------------+
id (PK)
numero
fecha
vehiculo (FK)
+-------------------------+

La relación Guía de Remisión tiene una clave foránea que apunta al ID de la relación Vehículo.

Pues bien, yo puedo acceder a la información de la Empresa Transportista desde la relación Guia de Remisión a través de la relación Vehículo:


¿Está bien planteado el diseño?
Por ejemplo, si añado una relación más, muy parecida a la de Vehículo pero que en este caso sea Conductor. De la misma manera, una Empresa Transportista puede tener varios Conductores.
Por lo tanto, la relación Conductor tendría una clave foránea "empresa_transportista", exactamente igual que la relación Vehículo.

Y ahora la relación Guía de Remisión tendría ahora dos claves foráneas, una apuntando al ID de Vehículo y otra al ID de Conductor. Pero por ambas relaciones se puede llegar a la Empresa Transportista. Acá es cuando ya no lo veo tan bien y pienso que el diseño inicial es erróneo.

Alguien que me dé una mano, que no sé si me estoy ahogando en un vaso con agua o es que efectivamente si voy por el camino equivocado.