Ver Mensaje Individual
  #28 (permalink)  
Antiguo 23/12/2009, 08:48
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Relacionar 2 tablas

Cita:
Iniciado por pato12 Ver Mensaje
Bueno les explico como es el sistema xD
- El valor de posicion es para ordenar los foros, por ejemplo: si esta primero el foro Programacion y despues Diseño, con esto puedo mover programacion abajo de diseño.
- Los mensajes estan guardados en half_temas.
- El cambio tema es para referirse al tema, foro o subforo. Y guardo el id del referido.
- Cuardo las fechas en int, para poner bien la fecha por zona horaria.
- El campo contenido tiene el post, y el title tiene el titulo.
- El campo respuestas es para ahorrar consutas xD
Gracias
Salu2
Según lo veo yo:
- El primer punto se suele manejarse por medio de una tabla de configuración de menúes por usuario o genérico.
- Los mensajes no suelen guardarse en una tabla que guarde los temas. Lo que suele hacerse es una tabla que guarde el mensaje, relacionada con el tema y con el usuario que lo posteó.
- Guardar las fechas como UNIX_TIME no es una mala idea. Ya lo he visto antes, aunque es poco usual para mi.
- Por lo que se entiende, el campo contenido guarda todos los posts de un tema. Como ya dije, eso suele hacerse en una tabla aparte para evitar entre otras cosas restringir la cantidad de posts posibles (un campo TEXT tiene un límite, aunque sea elevado), y porque además de esa forma se cumple con las 1FN, 2FN y 3FN.
- No comprendo qué consultas ahorras con el campo respuestas porque no sé qué contiene. Sólo puedo suponer...

Dicho esto, te comento, un modelo tipo para un foro lo puedes ver en este esquema simplificado:


No niego que hay muchos otros modelos posibles, pero esta forma cumple el esquema básico de relaciones y cardinalidades mínimas.
La importancia de ajustarse al modelo normalizado (más allá de que uses MyISAM o InnoDB como motor de tablas), es que lo que planteas en el primer post de este asunto sería mucho más fácil de lograr con una consulta más eficiente y efectiva.
Tal y como planteas tu las tablas, tienen ciertas dificultades a la hora de buscar los datos que estás buscando.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)