IIC2413 / Syllabus-2020-1

36 stars 22 forks source link

Entidad destinos y relacion con ciudades #106

Closed perezpefaur closed 4 years ago

perezpefaur commented 4 years ago

Hay una relación destinos con ciudades? Si es que la hay cómo se podrían relacionar?. Mi pregunta nace porque en destinos hay dos atributos, que son la ciudad de origen y la ciudad de destino, entonces una nose como una relación (si es que lo hay) podría recibir las dos llaves de ciudad de origen y destino. Yo lo que habia pensado es tener el id de origen y id de llegada como atributo, no se me ocurre nada mejor.

arpincheira commented 4 years ago

Hola, lamento la demora, recuerda que al momento de modelar tu proyecto debes preguntarte: "¿cómo voy a acceder a la información después?". Con respecto a la relación que pretendes poner (los ids de las ciudades de origen y destino dentro de la tabla de destino como atributos), debes aplicar este mismo criterio. Hay que mencionar que tu solución efectivamente permitiría conectar de manera eficiente las tablas.

Espero que esto aclare tu duda.

nivek0o0 commented 4 years ago

En el diagrama E/R podrías modelarlo como 2 relaciones/rombos distintos: "origen" y "destino"

jitorcas commented 4 years ago

Hola! @nivek0o0 con respecto a tu ultimo comentario, al poner destino como relación entre ticket y ciudad perdería el id y en consecuencia el registro viaje que pide el enunciado, o no? o te refieres a "destino" como llegada y no como la entidad que posee hora de salida y duración (ademas de cid_origen y cid_destino)?

nivek0o0 commented 4 years ago

me referia a la llegada: una relación llamada origen y otra llegada entre Ciudad y Destinos/Viajes

tamaralues commented 4 years ago

Hola! es que tengo una duda con esa solución. En el caso de definir dos relaciones (origen, destino), dado que destinos tiene el nombre de la ciudad, en la relación se debería definir una tabla que contengas eso dos atributos? o dado que la relación es 1:1 se podría enviar el nombre directamente, sin embargo, ¿eso requeriría que el nombre sea un llave primaria?

nivek0o0 commented 4 years ago

Dado que la relación es N:1 (pq un viaje tiene una única ciudad de origen pero una ciudad puede ser origen de múltiples destinos), te puedes evitar la tabla intermedia y solo ocupar una llave foránea.

Una llaves foránea siempre debe ser llave primaria en la tabla original.

Por otra parte, sugerimos el uso de IDs numéricos como llaves primarias.

tamaralues commented 4 years ago

Pero ahi entonces deberíamos modificar el csv de destinos no no? para que en vez de tener los nombres tenga los cid?

nivek0o0 commented 4 years ago

Claro, la idea es que le agreguen un ID a todas las entidades (excepto usuarios) y luego donde haya que referenciar una entidad se reemplaza por su ID.