Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

"Transitividad" entre relaciones

Estas en el tema de "Transitividad" entre relaciones en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/06/2014, 15:53
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 14 años
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.
  #2 (permalink)  
Antiguo 17/06/2014, 15:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: "Transitividad" entre relaciones

a mi me parece bien, no se donde encuentras el problema.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: bases-de-datos, diseño, relacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:00.