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

Como manejar varias fechas en una tabla mysql? Relaciones

Estas en el tema de Como manejar varias fechas en una tabla mysql? Relaciones en el foro de Mysql en Foros del Web. Tengo una tabla eventos, y quiero almacenar los dias en los que se celebra. El asunto es un poco complicado, pueden ser varios dias pero ...
  #1 (permalink)  
Antiguo 29/12/2014, 05:34
 
Fecha de Ingreso: marzo-2005
Mensajes: 10
Antigüedad: 19 años
Puntos: 0
Como manejar varias fechas en una tabla mysql? Relaciones

Tengo una tabla eventos, y quiero almacenar los dias en los que se celebra. El asunto es un poco complicado, pueden ser varios dias pero no sirve poner dia de incio y dia final porque pueden no ser consecutivos. Como mucho un evento se alarga por 7 dias.

Mi primera propuesta seria, una tabla eventos:

Id Tit Desc Fecha1 Fecha2 Fecha3 Fecha4 Fecha5 Fecha6 Fecha7
-------------------------------------------------------------------------------------------
1 titulo1 desc1 2015-01-01 2015-01-03 null null null null null

El tema es que la mayoria de eventos se celebran en un o dos dias por lo que esta creo que no seria la mejor forma de hacerlo, puesto que generaria muchos campos null. Me equivoco?

Otra opcion seria dividirlo en 2 tablas asi:

Id Tit Desc
-----------------------
1 titulo1 desc1

La segunda tabla seria una tabla fechas en una relacion 1:N con eventos

Id Fecha Id_eventos
-----------------------------------------
1 2015-01-01 1
2 2015-01-03 1
3 2015-01-01 2
...

Como veis este enfoque? Tened en cuenta que voy a listar muchos eventos en una pagina (unos 30 o 40) y tengo q mostrar en la misma pagina todas las fechas de cada evento.


Se podria hacer tambien con una relacion N:N entre eventos y fechas con una tabla pivote relacionandolos entre si? Cual es la mejor forma de hacer esto?

Gracias.
  #2 (permalink)  
Antiguo 29/12/2014, 05:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Como manejar varias fechas en una tabla mysql? Relaciones

TE lo diré directamente...
Esto:
Cita:
Id Tit Desc Fecha1 Fecha2 Fecha3 Fecha4 Fecha5 Fecha6 Fecha7
-------------------------------------------------------------------------------------------
1 titulo1 desc1 2015-01-01 2015-01-03 null null null null null
Es basura. Sin alternativas.

Esto otro:
Cita:
Id Tit Desc
-----------------------
1 titulo1 desc1

Id Fecha Id_eventos
-----------------------------------------
1 2015-01-01 1
2 2015-01-03 1
3 2015-01-01 2
Es correcto.

En cuanto a esto:
Cita:
Se podria hacer tambien con una relacion N:N entre eventos y fechas con una tabla pivote relacionandolos entre si
Primero: Eso no es una tabla "pivote". Eso es una tabla relacional que expresa la relación N:N y es obligatoria en los casos en que dos entidades poseen una relación de esa cardinalidad. "Pivote" es otra cosa.
En tu caso sólo sería necesaria si existe la posibilidad de que un mismo evento pueda realziarse al mismo tiempo en N sitios diferentes en el mismo horario.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 30/12/2014, 02:58
 
Fecha de Ingreso: marzo-2005
Mensajes: 10
Antigüedad: 19 años
Puntos: 0
Respuesta: Como manejar varias fechas en una tabla mysql? Relaciones

Muy explicito gnzsoloyo.

Usaré dos tablas relacionadas pues. Gracias.

Etiquetas: bases-de-datos, relacional, tablas
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 15:32.